nonken / hurricane

Infrastructure bootstrapping for AWS, powered by AWS CDK.
MIT License
13 stars 1 forks source link

Account separation. #1

Open nonken opened 5 years ago

nonken commented 5 years ago

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):

Account D (api):

Account E (www-staging):

Account F (www):

Account G (static-staging):

Account H (static):

nonken commented 5 years ago

Looks like this will require some manual steps for now still. Watching: https://github.com/aws/aws-cdk/issues/3401

nonken commented 5 years ago

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