Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Account separation. #1

Open
nonken opened this issue Oct 13, 2019 · 2 comments
Open

Account separation. #1

nonken opened this issue Oct 13, 2019 · 2 comments
Labels
enhancement New feature or request

Comments

@nonken
Copy link
Owner

nonken commented Oct 13, 2019

Initially this topic got bubbled up because staging should talk to a different DynamoDB than production. The only way to work around this is to use 1. dynamic table names, 2. use different regions or 3. different accounts. 1. and 2. are terrible solutions. Different accounts is the pragmatic but somewhat more tricky solution as it likely will be hard to fully automate this.

Considerations

Cost: This template should allow you to bootstrap a cost efficient service. This means that for example deploying a load balancer per service is not the right choice. At scale you might want to reconsider this.
Operatability: Dealing with different accounts can be a pain. At lease the operational metrics and pipelines should be created in the same account so that an operator doesn't have to navigate accounts.

Account A:

Account B:

Account C (api-staging):

  • API,
  • Dependencies like DynamoDB
  • Autoscaling

Account D (api):

  • API,
  • Dependencies like DynamoDB
  • Autoscaling

Account E (www-staging):

  • WEB,
  • Dependencies like Redis
  • Autoscaling

Account F (www):

  • WEB,
  • Dependencies like Redis
  • Autoscaling

Account G (static-staging):

  • STATIC
  • Dependencies like S3

Account H (static):

  • STATIC
  • Dependencies like S3
@nonken nonken added the enhancement New feature or request label Oct 13, 2019
@nonken
Copy link
Owner Author

nonken commented Oct 13, 2019

Looks like this will require some manual steps for now still. Watching: aws/aws-cdk#3401

@nonken
Copy link
Owner Author

nonken commented Oct 13, 2019

Will also have to create accounts manually for now, or automate through sdk or even a Lambda. Watching: aws/aws-cdk#2877

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant