Best practice for stacks folder to support dual AWS accounts (main + secure) per environment #85
-
We’re using the reference architecture with tenant plat and the four standard environments (dev, staging, sandbox, prod). To enforce stricter separation, we need to introduce two AWS accounts per environment—named main and secure—resulting in these eight accounts:
Our questions:
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
I would like to suggest an answer to my own question which is we will create a new tenant named "secure" which will follow the existing atmos naming convention for stacks. |
Beta Was this translation helpful? Give feedback.
-
You have a few options that depend on your use case and requirements. 1 - Use the existing account architectureFirst you could reuse the same accounts. I know you said you need a higher level of separation, but I'll explain this option for reference. With this design, you could create a new YAML file within your stacks file structure. This would be consistent with other "layers" for each stage and would enforce the same SCP and access per stage for the new resource groups. You could define a common mixin or attributes for all deployments inside these new files. This would create a logical boundary but no physical boundary for the new resources. That would look something like this: stacks/orgs/acme/plat/dev/
main.yaml
secure.yaml
stacks/orgs/acme/plat/prod/
main.yaml
secure.yaml 2 - Create a new account for
|
Beta Was this translation helpful? Give feedback.
You have a few options that depend on your use case and requirements.
1 - Use the existing account architecture
First you could reuse the same accounts. I know you said you need a higher level of separation, but I'll explain this option for reference.
With this design, you could create a new YAML file within your stacks file structure. This would be consistent with other "layers" for each stage and would enforce the same SCP and access per stage for the new resource groups. You could define a common mixin or attributes for all deployments inside these new files. This would create a logical boundary but no physical boundary for the new resources.
That would look something like this: