Skip to content

AWS Naming Conventions

Aneil Mallavarapu edited this page Jan 25, 2018 · 1 revision

Environments

On AWS: prod - production environment stage - staging environment

On Developer local machine: dev - developer local environment (probably will not appear in AWS)

Service Naming Scheme

# AWS service name format
{environment}-{version}-{type}-{purpose}

environment - one of the environment labels version - two digit, zero-padded version of the service (e.g., if we need to keep multiple versions of DB running at same time) type - service type (postgres, mysql, sqs, sns, etc) purpose - role the service plays (use _ not - to separate words)

In alphabetical listings, groups services of each environment, making errors less likely. Purpose is last to make it easy to find in the string.

Examples

prod-01-postgres-user_datamapper
prod-01-postgres-surveys
prod-02-postgres-surveys
prod-01-pool # default user pool - no need for purpose
stage-01-postgres-surveys
stage-02-postgres-surveys
stage-01-sqs-new_helix_user
stage-01-pool

Dynamo

Each AWS account provides only a single Dynamo instance. We differentiate environments using table names, and apply table-level access control.

https://forums.aws.amazon.com/thread.jspa?threadID=220954

# dynamo table name format
{environment}-{version}-{tablename}

Example

prod-01-variantcalls
prod-01-surveys
prod-01-surveys
stage-01-variantcalls

Developer Accounts

Developers log in using environment-specific credentials.

# developer account name scheme
{environment}-{developer}

Example

prod-aneil
dev-aneil

Plus a limited number of super admin accounts, no environment specified.

Services

# Service name format
{environment}-service-{servicename}

Examples

prod-service-web
prod-service-variantcalls
stage-service-variantcall

Clone this wiki locally