Organizing Your Aws Environment
Organizing Your Aws Environment
Organizing Your Aws Environment
Environment Using
Multiple Accounts
AWS Whitepaper
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not
Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or
discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may
or may not be affiliated with, connected to, or sponsored by Amazon.
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Table of Contents
Organizing Your AWS Environment ........................................................................................................ i
Abstract .................................................................................................................................... 1
Introduction ...................................................................................................................................... 2
AWS accounts ............................................................................................................................ 2
Stages of adoption ..................................................................................................................... 2
Best practices ............................................................................................................................ 4
Relation to AWS Well-Architected ................................................................................................ 4
Intended audience .............................................................................................................................. 5
Benefits of using multiple AWS accounts .............................................................................................. 6
Group workloads based on business purpose and ownership ............................................................ 6
Apply distinct security controls by environment ............................................................................. 6
Constrain access to sensitive data ................................................................................................ 7
Promote innovation and agility .................................................................................................... 7
Limit scope of impact from adverse events ................................................................................... 7
Support multiple IT operating models .......................................................................................... 8
Manage costs ............................................................................................................................. 9
Distribute AWS Service Quotas and API request rate limits .............................................................. 9
Core concepts .................................................................................................................................. 10
AWS Organizations ................................................................................................................... 10
About organizations ......................................................................................................... 10
Benefits of using OUs ............................................................................................................... 11
Group similar accounts based on function ........................................................................... 12
Apply common policies ..................................................................................................... 12
Share common resources ................................................................................................... 13
Provision and manage common resources ........................................................................... 13
Multiple organizations .............................................................................................................. 13
Test changes to your overall AWS environment .................................................................... 13
Support acquisitions and divestments ................................................................................. 13
Support large AWS environments ....................................................................................... 14
Meet accounting and tax requirements ................................................................................ 14
Design principles for organizing your AWS accounts ............................................................................. 15
Organize based on security and operational needs ....................................................................... 15
Apply security guardrails to OUs rather than accounts .................................................................. 15
Avoid deep OU hierarchies ........................................................................................................ 15
Start small and expand as needed .............................................................................................. 16
Avoid deploying workloads to the organization’s management account ........................................... 16
Separate production from non-production workloads ................................................................... 16
Assign a single or small set of related workloads to each production account ................................... 16
Use federated access to help simplify managing human access to accounts ...................................... 16
Use automation to support agility and scale ................................................................................ 17
Recommended OUs .......................................................................................................................... 18
Security OU ............................................................................................................................. 19
Log archive account .......................................................................................................... 19
Security tooling accounts .................................................................................................. 20
Security read-only access account ....................................................................................... 21
Security break-glass account .............................................................................................. 22
Example structure ............................................................................................................ 22
Infrastructure OU ..................................................................................................................... 23
Example structure ............................................................................................................ 23
Sandbox OU ............................................................................................................................ 24
Sandbox per builder or team with spend limits .................................................................... 24
Temporary resources and environments .............................................................................. 24
Wide-ranging access ......................................................................................................... 25
No access to corporate resources and non-public data ........................................................... 25
iii
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
iv
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
v
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Notices ............................................................................................................................................ 82
vi
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Abstract
Abstract
Businesses that are starting to adopt AWS, expanding their footprint on AWS, or planning to enhance an
established AWS environment, can benefit from considering the latest guidance for organizing their AWS
environments.
Using multiple AWS accounts to help isolate and manage your business applications and data can
help you optimize across most of the AWS Well-Architected Framework pillars including operational
excellence, security, reliability, and cost optimization. This paper provides best practices for organizing
your overall AWS environment. The extent to which you use these best practices depends on your stage
of the cloud adoption journey and your specific business needs.
1
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
AWS accounts
Introduction
Businesses that are starting to adopt AWS, expanding their footprint on AWS, or planning to enhance an
established AWS environment, can benefit from considering the latest guidance for organizing their AWS
environments.
As AWS customers look to establish their AWS Cloud presence, they look for a way to build out their
cloud foundations to enable them to deploy production workloads. Many customers want the ability to
build and move fast while staying secure.
Customers might have multiple teams with different security and compliance controls that need to be
isolated from one other. Some might have different business processes entirely or be part of different
business lines that need clarity of costs incurred.
Customers need explicit security boundaries, a mechanism to have direct control and visibility of their
limits and any throttling, and a complete billing separation to directly map costs to underlying projects.
The isolation designed into an AWS account can help you meet these needs.
Using multiple AWS accounts to help isolate and manage your business applications and data can
help you optimize across most of the AWS Well-Architected Framework pillars including operational
excellence, security, reliability, and cost optimization.
Topics
• AWS accounts (p. 2)
• Stages of adoption (p. 2)
• Best practices (p. 4)
• Relation to AWS Well-Architected (p. 4)
AWS accounts
Your cloud resources and data are contained in an AWS account. An account acts as an identity and
access management isolation boundary. When you need to share resources and data between two
accounts, you must explicitly allow this access.
By default, no access is allowed between accounts. For example, if you designate different accounts
to contain your production and non-production resources and data, by default, no access is allowed
between those environments.
The number of accounts that best meets your needs can range from a few, to hundreds, or even
thousands. Management of many accounts requires use of automation to help minimize your operational
complexity and ensure efficient alignment with your security, governance, and operational requirements.
AWS does not charge per account. Rather, you incur charges based on resources used, regardless of
account quantity.
Stages of adoption
Through experience working with thousands of customers, AWS has outlined a common set of stages of
cloud adoption. These best practices are designed to help you meet your needs throughout your cloud
adoption journey. You can start out with a small AWS environment and progressively grow and evolve it
as you gain experience and expand your adoption.
2
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Stages of adoption
When your organization is new to AWS, you might start by creating one or more personal or team-
managed accounts for initial experimentation. This work is usually done informally and before more
concerted efforts are made to evaluate the value of AWS. In this experimental and often informal
stage, there’s usually little investment made in organizing and rationalizing the number and purpose of
accounts.
In the project stage of adoption, you begin to formally plan for your first few production deployments
on AWS. It’s common to establish an initial cloud foundation that meets your security, governance, and
operational requirements.
A workload identifies a set of components that together deliver business value. A workload is usually the
level of detail that business and technology leaders communicate about. Some examples of workloads
are:
• Marketing websites
• Ecommerce websites
• Mobile app backends
• Analytic platforms
Workloads vary in levels of architectural complexity, from static websites to complex microservices each
with potentially different requirements on cost or billing identification.
Rather than using a single account, we recommend that you use at least several accounts to separate
your workloads. This approach is designed to make it easier for you to meet your requirements, even in
the early project stage of adoption. Based on the success of those first few workloads, you’ll likely want
to gain further business benefits by expanding your adoption of AWS. This motivation often leads to the
foundation stage of adoption. In this stage, you invest in evolving your cloud foundational capabilities
before greatly expanding adoption.
Evolving your foundation in AWS often includes formalizing and expanding the structure of your
accounts to meet the needs of onboarding more teams and workloads. At this stage, it’s important for
you to design and prepare to manage your AWS environment so that it can scale to meet your needs
3
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Best practices
without the need for a corresponding linear increase in headcount. As you plan for and perform large-
scale migrations and deployment of net new cloud native workloads, you can continue to adjust and
enhance your approach to using multiple accounts.
See AWS Cloud Transformation and Maturity Model for more information about the stages of cloud
adoption.
Best practices
The best practices described in this paper are designed to help you more easily achieve your security,
governance, and operational requirements through multiple accounts. The best practices were
assembled based on the experiences of thousands of customers who have progressed through their
cloud adoption journeys.
The best practices can help you quickly establish the initial right-sized scope of your AWS environment.
The best practices can also help you adjust and expand your AWS environment as you gain experience
both with the AWS services and how you work with the AWS Cloud.
Although your needs will likely be similar to the needs of other organizations, each organization also
has some unique requirements. Accordingly, these best practices are intended to offer guidance rather
than a one-size-fits-all solution to organizing your AWS environment. As a result, the design of your AWS
environment may differ from the examples provided in this document. However, we believe that these
best practices will help you make informed decisions as you design your environment.
The best practices for organizing your AWS environment addressed in this guide augment and support
the best practices represented in the Well-Architected pillars:
See Appendix A: Relation to AWS Well-Architected (p. 60) for a detailed list of areas of the Well-
Architected framework that are related to how you organize your AWS environment.
4
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Intended audience
These best practices are oriented toward cloud architects and technical leads who are responsible for
the overall security and architecture of your AWS environment. Whether you are new to AWS or you
have already been using AWS for years, your team will benefit from reviewing these best practices and
comparing them to your requirements and current AWS environment.
These best practices are intended to apply to organizations largely independent of their industry, size,
expected scale of adopting AWS, and workload portfolio. Depending on your needs, not all of the best
practices may apply to your situation.
If you’re just starting to experiment and starting to learn about AWS via a single AWS account, you
do not need to consider these best practices until you begin planning for your first few production
workloads.
5
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Group workloads based on
business purpose and ownership
The use of multiple accounts enables you to realize the benefits in the following sections.
Topics
• Group workloads based on business purpose and ownership (p. 6)
• Apply distinct security controls by environment (p. 6)
• Constrain access to sensitive data (p. 7)
• Promote innovation and agility (p. 7)
• Limit scope of impact from adverse events (p. 7)
• Support multiple IT operating models (p. 8)
• Manage costs (p. 9)
• Distribute AWS Service Quotas and API request rate limits (p. 9)
Different business units or product teams may have different processes. Depending on your overall
business model, you might choose to isolate distinct business units or subsidiaries in different accounts.
Isolation of business units can help them operate with greater decentralized control, but still provides
the ability for you to provide overarching guardrails. This approach might also ease divestment of those
units over time.
Guardrails are governance rules for security, operations, and compliance that you can define and apply
either across your AWS environment or to specific groups of accounts. Guardrails help protect your users
from making choices that aren’t aligned with your overall requirements.
If you acquire a business that is already operating in AWS, you can move the associated accounts intact
into your existing organization. This movement of accounts can be an initial step toward integrating
acquired services into your standard account structure.
6
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Constrain access to sensitive data
production and production environments of a given workload. By using separate accounts for the non-
production and production environments, by default, the resources and data that make up a workload
environment are separated from other environments and workloads.
For example, designating a set of accounts to house publicly accessible Amazon S3 buckets would enable
you to implement policies for all your other accounts to expressly forbid making S3 buckets publicly
available.
In the early stages of a workload’s lifecycle, you can help promote innovation by providing your
builders with separate accounts in support of experimentation, development, and early testing. These
environments often provide greater freedom than more tightly controlled production-like test and
production environments by enabling broader access to AWS services while using guardrails to help
prohibit access to and use of sensitive and internal data.
• Sandbox accounts are typically disconnected from your enterprise services and do not provide access
to your internal data, but offer the greatest freedom for experimentation.
• Development accounts typically provide limited access to your enterprise services and development
data, but can more readily support day-to-day experimentation with your enterprise approved AWS
services, formal development, and early testing work.
In both cases, we recommend security guardrails and cost budgets so that you limit risks and proactively
manage costs.
In support of later stages of the workload lifecycle, you can use distinct test and production accounts for
workloads or groups of related workloads. Having an environment for each set of workloads can enable
owning teams to move faster by reducing dependencies on other teams and workloads and minimizing
the impact of changes.
This isolation boundary provides you with a way to limit the risks of an application-related issue,
misconfiguration, or malicious actions. If an issue occurs within one account, impacts to workloads
contained in other accounts can be either reduced or eliminated.
7
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Support multiple IT operating models
In the Traditional Ops model, teams who own custom and commercial off-the-shelf (COTS) applications
are responsible for engineering their applications, but not for their production operations. A cloud
platform engineering team is responsible for engineering the underlying platform capabilities. A
separate cloud operations team is responsible for the operations of both applications and platform.
In the CloudOps model, application teams are also responsible for production operations of their
applications. In this model, a common cloud platform engineering team is responsible for both
engineering and operations of the underlying platform capabilities.
In the DevOps model, the application teams take on the additional responsibilities of engineering and
operating platform capabilities that are specific to their applications. A cloud platform engineering team
is responsible for engineering and operations of shared platform capabilities that are used by multiple
applications.
As a practice, IT Service Management (ITSM) is a common element across all of the models. Your overall
goals and requirements of ITSM might not change across these models, but the responsible individuals
and solutions for meeting those goals and requirements may vary depending on the model.
Given the implications of centralized operations versus more distributed operational responsibilities,
you will likely benefit from establishing separate groups of accounts in support of different operating
models. Use of separate accounts enables you to apply distinct governance and operational controls that
are appropriate for each of your operating models.
To learn more about operating models and their implications on your cloud adoption, see the AWS Well-
Architected Operational Excellence Pillar Operating Model.
8
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Manage costs
Manage costs
An account is the default means by which AWS costs are allocated. Because of this fact, using different
accounts for different business units and groups of workloads can help you more easily report, control,
forecast, and budget your cloud expenditures.
In addition to cost reporting at the account level, AWS has built-in support to consolidate and report
costs across your entire set of accounts. When you require fine-grained cost allocation, you can apply
cost allocation tags to individual resources in each of your accounts.
For more information about cost optimization, see the AWS Well-Architected Cost Optimization Pillar’s
Expenditure and Usage Awareness best practices.
You can use Service Quotas to help protect you from unexpected excessive provisioning of AWS
resources and malicious actions that could dramatically impact your AWS costs.
AWS services can also throttle or limit the rate of requests made to their API operations.
Because Service Quotas and request rate limits are allocated for each account, use of separate accounts
for workloads can help distribute the potential impact of the quotas and limits.
To learn more about managing service quotas, see AWS Well-Architected Reliability Pillar Manage
Service Quotas and Constraints.
9
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
AWS Organizations
Core concepts
This section covers the following core concepts:
Topics
• AWS Organizations (p. 10)
• Benefits of using OUs (p. 11)
• Multiple organizations (p. 13)
AWS Organizations
The AWS Organizations service helps you centrally govern your environment as you grow and scale your
workloads on AWS. Whether you are a growing startup or a large enterprise, Organizations helps you
to centrally provision accounts and resources; secure and audit their environment for compliance; share
resources; control access to accounts, regions, and services; as well as optimize costs and simplify billing.
Additionally, Organizations supports aggregation of health events, consolidated data on use of access
permissions, and centralized management of backups and tagging for multi-account environments.
This section includes best practices for organizing your AWS accounts, including grouping your accounts
into organizational units (OUs) so that you can more effectively secure and manage your overall AWS
environment.
What is an organization?
An organization is an entity that you create to consolidate a collection of accounts so that you
can administer them as a single unit. Within each organization, you can organize the accounts in a
hierarchical, tree-like structure with a root at the top and organizational units (OUs) nested under the
root. Each account can be placed directly in the root, or placed in one of the OUs in the hierarchy.
• A management account
• Zero or more member accounts
• Zero or more organizational units (OUs)
• Zero or more policies
Creation of member accounts and associating them with OUs is also managed from within the
management account. Access to the management account does not automatically result in permissions
to access each member account of the organization. Cross-account AWS Identity and Access
Management (IAM) roles must be configured to allow such access.
10
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Benefits of using OUs
Most of your workloads will reside in member accounts, except for some centrally managed processes
that must reside in either the management account or in accounts assigned as designated administrators
for specific AWS services.
Organizational units
An organizational unit (OU) provides a means to group accounts within a root. An OU can also contain
other OUs. When you attach a policy to one of the nodes in the hierarchy, it flows down and affects
all the branches (OUs) and leaves (accounts) beneath it. An OU can have exactly one parent, and each
account can be a member of exactly one OU.
OUs are not meant to mirror your own organization’s reporting structure. Instead, OUs are intended to
group accounts that have common overarching security policies and operational needs. The primary
question to ask yourself is: How likely will the group need a set of similar policies?
The following diagram shows a basic organization that consists of seven accounts that are organized into
four OUs under the root. The organization also has a few policies that are applied to OUs.
11
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Group similar accounts based on function
For example, these best practices recommend a set of top-level OUs (p. 18) to help you organize
different sets of related accounts. At a minimum, the top-level OUs are used to distinguish between
overall functions of accounts.
By attaching policies to OUs rather than to individual accounts, you can simplify management of policies
across groups of similar accounts. As the number of accounts in your environment grows, simplifying
policy management by attaching policies to OUs becomes more important.
AWS Organizations supports use of authorization and management policies. For a complete list of policy
types, see Managing AWS Organizations policies.
Authorization policies
AWS Organizations service control policies (SCPs) are a type of organization policy that you can use
to manage permissions in your organization. SCPs offer central control over the maximum available
permissions for all accounts in your organization.
SCPs are a means of implementing guardrails in your AWS organization. Your use of SCPs can help
ensure that your accounts stay within your access control guidelines. For example, you can use SCPs to
constrain the set of AWS services and actions allowed on resources.
Although you can apply SCPs to the root of your organization, you typically associate SCPs with
underlying OUs. For example, based on the nature of the workloads deployed in accounts within an
OU, you may choose to restrict the set of AWS services and AWS Regions that are allowed to be used by
accounts in the OU.
You only apply an SCP at the root when you have an overarching security policy that applies across your
entire organization and set of OUs. For example, you might apply an SCP at the root of the organization
to deny AWS Organizations member accounts from attempting to leave the organization of their own
accord.
Management policies
You can also apply tag policies to your parts of your organization to help you monitor and ensure
compliance with your cloud resource tagging standards.
You can use Artificial Intelligence (AI) services opt-out policies, which enable you to control data
collection for AWS AI services for all of your organization's accounts.
12
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Share common resources
Backup policies help you centrally manage and apply backup plans to the AWS resources across your
organization's accounts.
AWS services have been introducing support for sharing their resources through AWS Resource Access
Manager (AWS RAM) and AWS Organizations. For example, with AWS RAM, you can use OUs as the basis
for sharing centrally managed network resources such as Amazon Virtual Private Cloud (Amazon VPC)
subnets.
For example, you can use OUs as a basis for targeting automation to deploy and update your own sets
of IAM roles and customer managed IAM policies that help establish common baseline and/or workload-
specific security controls to groups of related accounts.
Multiple organizations
Day-to-day work is often performed within a single organization. However, there are some scenarios in
which using more than one organization helps you to meet your requirements. Multiple organizations
can help you with the following tasks:
For example, you may need to either modify the automation that creates new accounts to change the
configuration baseline of accounts it creates or change the configuration of a workflow management
system you're using to modify SCPs.
In these circumstances, we recommend that you establish an additional organization for testing that
resembles your more formally managed production organization. You would perform testing of changes
to how you manage your organization in your test organization before promoting those changes to be
applied to your production organization.
13
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Support large AWS environments
the acquired organization to your mainstream organization. In this case, you can later decommission the
acquired entity’s organization.
If you plan to potentially divest a portion of your portfolio, you can manage the workloads and
supporting AWS accounts for that portion of your portfolio in a separate organization to support simpler
divesture and isolated billing.
14
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Organize based on security and operational needs
These design principles complement the Benefits of using multiple accounts (p. 6) and Benefits of using
OUs (p. 11).
Topics
• Organize based on security and operational needs (p. 15)
• Apply security guardrails to OUs rather than accounts (p. 15)
• Avoid deep OU hierarchies (p. 15)
• Start small and expand as needed (p. 16)
• Avoid deploying workloads to the organization’s management account (p. 16)
• Separate production from non-production workloads (p. 16)
• Assign a single or small set of related workloads to each production account (p. 16)
• Use federated access to help simplify managing human access to accounts (p. 16)
• Use automation to support agility and scale (p. 17)
For more information about managing security guardrails, see Permissions Management in the AWS
Well-Architected Security Pillar.
When you consider the addition of new OU levels, you should review the Benefits of using OUs (p. 11)
and these principles to decide whether the additional complexity adds sufficient value.
15
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Start small and expand as needed
You shouldn’t need to invest a lot of time at the beginning of your adoption journey designing what you
expect your AWS account structure will look like in several years.
We provide examples of successive degrees of building out an AWS account structure in Patterns for
organizing your AWS accounts (p. 46).
Consider separating workloads that have different owners into their own production accounts to
simplify access management, streamline change approval processes, and limit the scope of impact for
misconfigurations.
16
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Use automation to support agility and scale
By using federated access and a common identity provider, you avoid the need to manage individual IAM
users in each account. Instead, your human users can use their existing credentials to access authorized
accounts. You also gain the benefit of keeping personally identifiable information (PII) out of IAM.
With federated access, your human users use temporary credentials instead of long term access keys for
programmatic access to their AWS environments.
Use of federated access avoids the creation and management of IAM users in your AWS accounts
for humans. Instead, use of IAM users can be limited to those exceptional cases such as third-party
applications that do not support the use of IAM roles.
For more information about managing identities, see Identity Management in the AWS Well-Architected
Security Pillar and Identity federation in AWS.
For example, if you implement an account design in which new business initiatives call for the creation of
new accounts, then you will benefit from having automation in place so that you can rapidly and reliably
provision environments based on your standard configurations. Automation can also help you monitor
compliance and apply updates to your baseline configurations over time.
17
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Recommended OUs
This section provides details on the recommended OUs and, in the case of the Security OU (p. 19), a
set of recommended AWS accounts.
Recommended OUs
Depending on your requirements, you might not need to establish all the recommended OUs. As you
adopt AWS and learn more about your needs, you can expand the overall set of OUs. See the Patterns
for organizing your AWS accounts (p. 46) for examples of how you might begin to organize your AWS
accounts.
Although the recommended OUs are aligned toward common use cases, you might want to define your
own OU structure that best meets your needs. This guidance is intended to meet the needs of most
customers. However, it may not be a one-size-fits-all for all use cases.
Topics
• Security OU (p. 19)
• Infrastructure OU (p. 23)
• Sandbox OU (p. 24)
• Workloads OU (p. 26)
• Policy Staging OU (p. 27)
• Suspended OU (p. 30)
• Individual Business Users OU (p. 30)
• Exceptions OU (p. 31)
• Deployments OU (p. 31)
• Transitional OU (p. 36)
We categorize the Security OU and the Infrastructure OU as foundational. The foundational OUs
contain accounts, workloads, and other AWS resources that provide common security and infrastructure
capabilities to secure and support your overall AWS environment.
18
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Security OU
Accounts, workloads, and data residing in the foundational OUs are typically owned by your centralized
Cloud Platform or Cloud Engineering teams made up of cross-functional representatives from your
Security, Infrastructure, and Operations teams.
The majority of your accounts are contained in the other OUs. These OUs are intended to contain your
business-related workloads. They also contain tools and services that support the entire lifecycle of your
business-related services and data.
Security OU
The Security OU is a foundational OU. Your security organization should own and manage this OU along
with any child OUs and associated accounts.
We recommend that you create the following accounts in the Security OU:
• Log archive
• Security tooling
• Security read-only access
• Security break-glass
Depending on your initial requirements, you might not need to establish all of these accounts. See
Patterns for organizing your AWS accounts (p. 46) for example sets of OUs and accounts that are
commonly used in the early stages of adopting AWS.
For example, in this account, we recommend that you consolidate AWS API access logs recorded in AWS
CloudTrail, logs of changes to AWS resources recorded in AWS Config, and other logs that have security
implications. If you use VPC peering between accounts, then you might also benefit from consolidating
VPC Flow Logs data in this account.
It’s a common practice to integrate this consolidated log data with a security information and event
management (SIEM) solution.
If you are using AWS Control Tower to manage your overall AWS environment, then CloudTrail is
automatically enabled in each account, and the CloudTrail logs are consolidated in an Amazon S3 bucket
in a Log archive account.
We recommend that you consolidate your operational log data into the log archive account. Based on
your specific security and governance requirements, you may need to filter operational log data saved to
this account. You may also need to specify who and what has access to the operational log data in the
log archive account.
19
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Security tooling accounts
Workloads and tools that need to consume the consolidated log data are typically housed in your other
accounts and are granted cross-account access via IAM roles to access the log data in a read-only, least
privileged manner.
Detection
Amazon GuardDuty
We recommend that you enable Amazon GuardDuty across all of the accounts in your AWS organization.
You can specify one of your security tooling accounts as the delegated administrator for GuardDuty.
AWS Config
We recommend that you configure an AWS Config aggregator in one of your security tooling accounts so
that you have an aggregated view of your AWS resources, your AWS Config rules, and the AWS resources’
compliance state.
Incident Response
Amazon Detective
We recommend that you designate one of your security tooling accounts as the delegated administrator
for Amazon Detective, Amazon GuardDuty, and AWS Security Hub. By doing so, you can take advantage
of the integration between these services.
20
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Security read-only access account
Data Protection
Amazon Macie
If you intend to use Amazon Macie across your AWS organization, we recommend that you specify one of
your security tooling accounts as the delegated administrator for Macie.
Infrastructure Protection
See the AWS Security Incident Response Guide for more information.
Where possible, we recommend that your security team use infrastructure-as-code (IaC) techniques to
automate the underlying configuration of services and tools residing in your security tooling accounts.
A common approach is to use federated access to provide direct read-only access to your accounts.
With direct federated access to your AWS accounts, you do not need to use a security read-only access
account.
21
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Security break-glass account
However, if you prefer to use cross-account roles instead of direct federation, then we recommended
that you use this security read-only account. For example, in the early stages of investigating a suspected
security incident, your security team members first access this account and use a read-only IAM cross-
account role to access other accounts to review and monitor the state of resources.
Typically, this account does not contain persistent workloads. Rather, team members exclusively use this
account to interactively access other accounts.
If you plan to use a security read-only account, we recommend that you use federated access to this
account for your security team members. Once your security team members access this account via
federated access, it’s recommended that cross-account IAM roles be used to provide security team
members cross-account access to each account of interest.
Depending on your overall process for providing authorized administrators with temporary break-glass
access to your accounts, you may not need a security break-glass account. However, if your overall break-
glass process involves use of cross-account roles, you may benefit from using a security break-glass
account.
Such an account is rarely used, but is available to members of your security and operations teams to
enable extensive write access to your accounts when standard access mechanisms are not available.
Special authorization is required for security and operations team members to gain access to this account
at the onset of an incident, and all account access is logged in detail. Once an incident has been resolved,
the temporary access to this account is revoked.
Typically, you create any supporting tools required in this account on-demand using automation and
subsequently remove those supporting tools after an incident is resolved.
Example structure
The following example structure represents the recommended separation of production workloads and
resources from non-production through Prod and Test child OUs.
Example account names are shown with qualifiers -test and -prod. The -test qualifier denotes a non-
production environment. The -prod qualifier denotes stable, production quality environments for a given
capability or workload. A -prod qualifier does not imply that the capability or workload environment is
limited to servicing only other production quality capabilities or workloads.
For example, the account represented by the example name log-archive-prod is expected to be the
consolidation point for all log data across all accounts. It is simply your stable, production quality form of
the log archive capability.
Similarly, use of the -prod qualifier on the other accounts is not intended to constrain the applicability of
those accounts to production environments.
Depending on your own cloud resource naming conventions, you may choose to not apply a qualifier to
the names of AWS accounts containing your stable, production quality capabilities and workloads.
The following example includes a security-tooling-test account or environment in which you might test
and validate new and modified resource configurations before those changes are promoted to your
security-tooling-prod account.
22
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Infrastructure OU
For general guidance on separating production and non-production workloads, see Organizing workload-
oriented OUs (p. 38).
Infrastructure OU
The Infrastructure OU, another foundational OU, is intended to contain shared infrastructure services.
Your infrastructure teams should own and manage this OU, any child OUs, and associated accounts.
Common use cases for this OU include centralized management of many networking resources. For
example, AWS Site-to-Site VPN connections, AWS Direct Connect integrations, AWS Transit Gateway
configurations, DNS services, Amazon VPC endpoints, and shared VPCs and subnets. More advanced
use cases include VPCs and network security stacks used for centralized internet traffic inbound and
outbound proxying and filtering.
Beyond shared networking services, you might also decide to manage other shared infrastructure
services in this OU. For example, you might manage a shared infrastructure services VPC that includes
Amazon Route 53 resolver endpoints for hybrid DNS and directory services.
For guidance on where to contain non-infrastructure shared services, see Workloads OU (p. 26).
Example structure
Similar to the example in the Security OU, the following example structure represents the recommended
separation of production workloads and resources from non-production through Prod and Test child
OUs.
In this example, the network-prod account contains your stable, production quality network capabilities
and workloads. Depending on the nature of these capabilities and workloads, they may support both
production and non-production environments.
The network-test and shared-infra-test accounts are meant to represent examples where you have
separate environments in which your teams can test and validate changes to common network
23
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Sandbox OU
capabilities and shared infrastructure services prior to promoting those changes to their respective
production quality environments.
For general guidance on separating production and non-production workloads, see Organizing workload-
oriented OUs (p. 38).
Sandbox OU
The Sandbox OU contains accounts in which your builders are generally free to explore and experiment
with AWS services and other tools and services subject to your acceptable use policies. These
environments are typically disconnected from your internal networks and internal services.
There is a maximum number of accounts in an organization. If you have thousands of builders and
expect to allocate a sandbox environment for each builder, you might encounter the maximum quota for
accounts. See Quotas for AWS Organizations for more details on the maximum number of accounts in an
organization.
In cases where you need more than several thousand sandbox accounts, you might consider either
creating one or more separate organizations to contain the sandbox accounts or establishing a process to
recycle sandboxes when they are no longer in use.
24
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Wide-ranging access
measure and to reinforce the temporary nature of sandbox resources, you can put automated procedures
in place to periodically purge the resources created in these environments. As a further measure to
reduce costs, you can also use automation to stop resources such as Amazon EC2 instances outside of
normal business hours.
Wide-ranging access
Wide-ranging access is typically provided in sandbox-oriented accounts including administrative-like
access within each account, full access to most AWS services, and possibly outbound and inbound access
to the internet. Access to the internet might be required to connect to AWS service APIs, download
externally accessible software packages, and integrate with publicly available services.
For more information about potential distinctions between your sandbox, development, and other
environments, see the following appendices:
Example structures
Sandbox per builder or team
In the following example, sandbox accounts are represented for individual builders and teams. One user
has two sandbox accounts so that they can perform experiments that require multiple accounts.
In support of hackathons and other events, you might also find value in creating transient sandbox
accounts for temporary teams of people.
25
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Workloads OU
Workloads OU
The Workloads OU is intended to house most of your business-specific workloads including both
production and non-production environments. These workloads can be a mix of commercial off-the-shelf
(COTS) applications and your own internally developed custom applications and data services.
26
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Example structure
Workloads in this OU often include shared application and data services that are used by other
workloads.
Example structure
The following example represents a basic structure in which sets of workloads owned by diverse business
units or teams reside in two child OUs: Prod and Test. In this example, a common governance and
operating model applies across those areas. The data-lake-prod account shown in this example contains
data services that are shared with other production workloads and accounts.
For general guidance on separating production and non-production workloads and resources, see
Organizing workload-oriented OUs (p. 38).
Policy Staging OU
The Policy Staging OU is intended to help teams that manage overall policies for your AWS environment
to safely test potentially broadly impacting policy changes before applying them to the intended OUs
and/or accounts. For example, SCPs and tag policies should be tested prior to applying them to the
intended OUs or accounts.
Similarly, broadly applicable account baseline IAM roles and policies should also be tested using the
Policy Staging OU.
27
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Workload-specific policies
Workload-specific policies
Development and testing of workload-specific IAM roles and policies do not need to use the Policy
Staging OU. Rather, workload owning teams typically develop and test these resources alongside other
workload-specific resources in development and test accounts within your Security, Infrastructure, and
Workloads OUs.
This approach enables you to validate the changes in production before more broadly applying them.
Example structure
In this example, a set of child OUs mirrors an overall OU structure. At least one test account is included
under each child OU.
In support of testing SCPs and tag policies that are intended to be applied at the OU level, your teams
should first apply them to one of the test child OUs. SCPs and tag policies that are applied to a specific
account require creation of a test account under the appropriate test child OU.
28
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Example structure
29
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Suspended OU
Suspended OU
The Suspended OU is used as a temporary holding area for accounts that are required to have their use
suspended either temporarily or permanently.
Moving an account to this OU doesn’t automatically change the overall status of the account. For
example, in cases where you intend to permanently stop using an account, you would follow the Closing
an account process to permanently close the account.
• A person’s sandbox account is no longer needed due to the departure of the person from the company.
• A workload account is no longer needed due to the resources having been either retired or migrated to
another account.
To reduce risk and potentially minimize costs, you can also stop any running resources and applications
in each suspended account.
Resources should not be deleted from a suspended account unless the account is intended to be closed.
Once the account closure process has been completed, the account is longer visible in your organization.
In some cases, you can consider a small number of AWS resources as something other than a workload.
For example, a business team may require write access to Amazon S3 buckets to share marketing
videos and data with a business partner. In these cases, you might choose to manage these resources in
accounts within the individual business users OU rather than in accounts in the Workloads OU.
30
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Guardrails
Guardrails
We recommend that you apply a combination of SCPs and IAM permissions to this OU and authorized
users. This ensures that only those AWS services, resources, and actions needed are granted. Depending
on the nature of the use cases, you can apply guardrails to individual accounts in this OU.
Exceptions OU
The Exceptions OU houses accounts that require an exception to the security policies that are applied to
your Workloads OU. Normally, there should be a minimal number of accounts, if any, in this OU.
Due to the customized security controls that apply to these accounts, owners of these accounts can
expect to experience greater scrutiny from security monitoring systems.
Deployments OU
The Deployments OU contains resources and workloads that support how you build, validate, promote,
and release changes to your workloads.
You may already be using continuous integration/continuous delivery (CI/CD) capabilities to help
manage and automate how changes to various types of source code are processed.
31
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Separating CI/CD management capabilities from workloads
environment in the near term, you may not immediately need to establish the Deployments OU and an
associated set of CI/CD oriented accounts.
In this scenario, you must work through any access and potential network connectivity dependencies
between your CI/CD capabilities residing outside of your AWS environment and your workloads
environments in AWS.
Reasons for separating your CI/CD management capabilities from your workload environments include:
• Critical roles played by CI/CD capabilities – Your CI/CD capabilities are responsible for orchestrating
quality validation, security compliance checks, building and publishing production candidate artifacts,
promoting artifacts, and ultimately triggering release of artifacts to production environment.
Given the critical nature of these roles, it’s important that you can apply appropriate policies and
operational practices to your CI/CD capabilities that are different than those applied to your workload
environments.
For example, your CI jobs and CD pipelines typically need write access to publish and promote candidate
artifacts to an artifact management service. However, your production workload environments should
only require read access to artifact management services in order to obtain the already built and
promoted artifacts.
For example, if you manage your CI/CD capabilities in your production workload environments, then
you must allow the production workload environments to access your non-production environments.
By centralizing your CI/CD capabilities in your CI/CD accounts, you can avoid enabling your production
workload environments access to non-production environments.
• CI/CD capabilities depend on unique tooling – Your CI/CD management capabilities, CI jobs, and
CD pipelines often depends on tools that are different from those required to run and operate your
workloads. Limiting the use of these tools to your CI/CD accounts can help you reduce the complexity
and attack surface of your workload environments.
32
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Aligning CI/CD accounts with groups of workloads
This approach helps limit the scope of impact of an issue in a CI/CD account to a single workload or
group of workloads. Any access issues and resource conflicts that arise in one CI/CD account will most
likely impact only the associated group of workloads and the accounts in which the workloads reside.
In the following diagram, Workload 1 represents a workload that is dedicated to its own production
account. Workloads 2, 3, and 4 are configured as a group of related workloads and are managed in a
separate production account.
A companion set of test accounts contain test instances of the workloads. In each test account, there are
likely be multiple workload environments for a given workload so that various forms of testing can be
supported at the same time.
A CI/CD account has been created to support Workload 1 and a second CI/CD account has been created
to support the set of related workloads 2, 3, and 4. The CI/CD resources in each production CI/CD
account may need to interact with the target workload environments in both the test and production
accounts.
33
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Enabling team access to production CI/CD services
Depending on the process by which CI jobs and CD pipelines are promoted to your production CI/
CD accounts, some limited degree of write access to CI jobs and CD pipelines may be necessary for
designated administrators within the teams that own the CI jobs and CD pipelines.
Whether team members require direct access to the accounts in which the CI/CD service resides depends
on the type of CI/CD tooling that you’re using. For example, if you’re managing your own CI/CD tooling,
then it’s likely that access controls are managed within the CI/CD tooling and that authentication occurs
outside the context of the account in which the CI/CD tooling resides. In this example, team members
likely won’t need direct access to the CI/CD accounts.
If you’re using AWS managed CI/CD services, then team members require at least read access to the CI/
CD accounts to monitor execution of CI jobs and CD pipelines.
In the following diagram, teams who own the workloads associated with each production CI/CD account
are shown accessing the CI/CD resources in their respective accounts.
An alternative method of deploying changes to workload environments is the pull style of deployment
that intentionally avoids requiring CD pipelines to have write access to target workload environments.
In the pull model, tools within the target workload environments have the permissions necessary to
both detect changes of interest (for example, newly promoted artifacts or configuration changes) and to
deploy those changes locally within the workload environment.
Establishing a set of test accounts for your CI/CD is most important when you’re planning to manage
CI/CD tools in AWS. To support and evolve your use of these tools, you should have a test environment
separate from production.
34
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Developing and testing CI jobs and CD pipelines
If you use AWS managed CI/CD related services including AWS CodePipeline, AWS CodeBuild, AWS
Proton, and/or AWS CodeDeploy, you can still benefit from having a test environment so that you can
test changes to how you secure and use those managed services.
As a general practice, your test CI/CD environments should not have access to any of your production
CI/CD and production workload environments. Instead, your test CI/CD environment access should be
constrained to non-production workload environments.
As with other types of code, you can promote source for CI jobs and CD pipelines to your production CI/
CD environments using processes tailored for the promotion of CI jobs and CD pipelines. This approach
enables you to minimize the access required in your production CI/CD environments and constrain your
test CI/CD environments in your Deployments OU to testing of the CI/CD capabilities themselves.
Example structure
In the following example, a series of production accounts represent centrally-managed, shared CI/CD
services and a set of federated, business unit-managed CI/CD resources.
In a typical scenario, the stable, production-quality CI/CD capabilities in the accounts qualified with -prod
are expected to effect changes across both production and non-production workload environments. The
-prod qualifier is simply denoting that these are your stable, production-quality CI/CD environments.
The example accounts in the Test OU are qualified with -test. These accounts are intended to represent
environments in which you might test changes to your CI/CD platforms or how you use managed CI/CD
services before you apply those changes to your stable, production-quality CI/CD environments.
For general guidance on separating production and non-production workloads and resources, see
Organizing workload-oriented OUs (p. 38).
35
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Transitional OU
Transitional OU
The Transitional OU is intended as a temporary holding area for existing accounts and workloads that
you move to your organization before you formally integrate them into your more standardized areas of
your AWS environment structure.
• Acquisition of a company that is already using AWS and has a set of accounts
• Existence of your own accounts that were created before you established your newer AWS
environment structure
• Movement of accounts that have previously been managed by a third party
36
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Benefits of moving accounts into your AWS organization
• Centralized visibility
• Option to begin applying common policies
• Consolidated billing, cost, and asset management
• Simplified use of AWS Organizations-enabled AWS security services
• Integration with existing federated access capabilities
Moving a standalone account that does not have dependencies on other accounts is a straightforward
process. In this case, there’s generally no need to migrate or modify the existing workloads in the
account to be moved. For more information, see Inviting an account to join your organization.
If the standalone account to be moved has dependencies on other accounts, then you should evaluate
those dependencies to determine if they should be addressed before moving the account.
In your target organization, we recommend that you review SCPs in the organization’s root to ensure
that those SCPs won’t adversely impact the accounts to be moved.
If you’re moving a set of related accounts to your organization, you can create a child OU under the
Transitional OU for the related set of accounts.
37
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Workloads and environments
Topics
• Workloads and environments (p. 38)
• Production and non-production workload environments (p. 40)
• Workload dependencies across environments (p. 40)
• OU structure for non-production environments (p. 41)
• Extended workload-oriented OU structure (p. 43)
Workloads
Many of your top-level OUs will house collections of applications, cloud resources, and data in the form
of workloads. A workload is a discrete collection of components and data that you manage. A workload
can be a commercial off-the-shelf (COTS) application or your own custom application and data service.
Composition of a workload
Workload environments
For a given type of workload, you typically have multiple instances. This setup means that you can
experiment, develop, and test changes to the workload before you promote and deploy those changes to
the production instances of the workload. A given instance of a workload is a workload environment.
Whether your workload is a COTS application, a custom application, a custom data service, or a
foundational security or infrastructure capability, you often need separate non-production workload
38
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Workload accounts
environments to support your software development lifecycle (SDLC) processes. You can have multiple
SDLC processes depending on the diversity of your workload portfolio and your company organization.
The following example shows multiple environments of a workload across non-production test and
production workload environments.
With COTS applications, you may not perform custom development, apart from implementing custom
integrations with your own systems. However, you can experiment with and formally test new versions of
the COTS applications in non-production environments before deploying them to production.
Workload accounts
In your on-premises context, you can refer to the places where your workloads reside as hosting
environments. For example, you might have a dedicated production hosting environment in which your
production workload environments reside.
In AWS, each of your workload environments is typically contained in an account, where each account is
similar to a distinct hosting environment.
Depending on how you choose to scope your workload accounts, you might have a single workload
environment per account. Or, you might have multiple workload environments and perhaps multiple
workload types in the same workloads account.
The following diagram shows two degrees of scoping production workload accounts. In one example,
a workload account is dedicated to a single workload environment. In the other example, multiple
workload types reside in a single production workload account.
39
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Production and non-production workload environments
For example, you can configure workloads in a non-production test environment that depend on
integrating with a data service to use a stable, shared test instance of the service that is populated with
test data.
However, in some cases non-production environments may need access to production shared services.
For example, it’s typical for non-production development and test environments to require read-only
access to shared source code and artifact management services. Providing access to these shared
services enables you to deploy candidate and promoted changes and artifacts to your non-production
environments in support of development and testing activities.
40
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
OU structure for non-production environments
The following example shows the Workloads OU where a Prod child OU contains production accounts
and workloads, and a NonProd child OU combines both development and test accounts and workloads.
For example, you want to support development environments that provide teams with more freedom
to experiment, iterate, and develop largely on their own (rather than more formally managed and
controlled production-like test environments). In this case, overall access policies and management
of baseline resources for the development environments is significantly different than those used to
41
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Worksheets to help decide on workload-oriented OUs
support test environments. It makes sense for you to create a distinct OU for development work and
another OU for your test workloads.
The following example represents a simple form of this structure where Test and Dev OUs reside adjacent
to the recommended Prod OU.
Example Workloads OU with different policies for Test and Dev child OUs
The preceding example shows two different approaches to scoping development environment accounts.
One approach is where development environments are aligned with the same groupings of workloads
as used in test and production OUs. The other approach is one in which development environments are
aligned based on teams.
42
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Extended workload-oriented OU structure
• Appendix C – Worksheet for identifying attributes of workload hosting environments (p. 69)
Appendix B (p. 62) helps you identify the overall types of work you perform from design through
production and helps you identify the corresponding workload environments in which you expect to
perform work and house workloads.
Appendix C (p. 69) helps you further refine the overall types of workload environments by identifying
key distinguishing access and management attributes of each overall type of workload environment.
By understanding commonalities of, and contrasts between, your overall types of workload
environments, you can make an informed decision about the set of child OUs that can best support your
workload-oriented OUs.
When workloads have diverse security and operational policy requirements, you cannot effectively
manage guardrails and other controls at the level of the workload-oriented OU. By adding child OUs
to a workload-oriented OU, you can group related workloads in the same child OU. You can then apply
distinct security and operational policies to the child OUs.
For example, a workload or a group of related workloads may benefit from having a distinct allow list
of AWS services that is implemented via a service control policy (SCP). This policy may be different than
the requirements associated with other workloads. Rather than applying the SCP to each of the related
workload accounts, it is recommended that you apply the SCP to an OU that groups the related accounts.
For example, if you manage a series of database services that are shared across your organizations and
have common security and operational policy requirements, you might find value in grouping those data
services under a common child OU.
43
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Separating business units with
significantly different policies
The following example represents a shared backup capability you can provide across your AWS
environment. If this capability requires a set of security and operational policies that are distinct from
other infrastructure workloads, then you can allocate a distinct OU for this workload.
In the following example, each BU is provided with its own OU so that different SCPs and/or operational
policies can be applied independently form the other OUs.
44
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Separating business units with
significantly different policies
45
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Single AWS account
It’s common for customers to start with a basic structure and incrementally expand it as their needs
evolve and their experience with AWS grows. Accordingly, the examples start simple and progressively
grow to represent this typical evolution.
More detailed descriptions of the OUs represented in these examples are addressed in Recommended
OUs (p. 18) and Organizing workload-oriented OUs (p. 38).
If you have a single account today and either have production workloads in place or are considering
deploying production workloads, we recommend that you transition to the use of multiple accounts so
that you can gain the Benefits of using multiple AWS accounts (p. 6). See the Transitional OU (p. 36) for
information on the considerations for moving accounts into a new overall AWS environment.
For example, you may have an Amazon S3-backed on-premises backup solution that you simply need
to test and deploy to production. Similarly, you may have a static web site that depends on Amazon
CloudFront as a content delivery network (CDN) and uses a private bucket in Amazon S3 to manage the
web content.
In these scenarios, you might not need sandbox and development environments. The following figure
shows an example of this type of minimal starter production environment.
46
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Production starter organization
In this example, the organization’s management account uses AWS Single Sign-on (AWS SSO) to help
provide your human users with federated access to the AWS accounts in your organization.
The Security OU (p. 19) contains a log-archive-prod account to act as the consolidation point in
the organization for log data that is gathered from all of the accounts—not just other production
environments—and primarily used by your security, audit, and compliance teams.
The Security OU also contains a security-tooling-prod account where you manage recommended security
tools and service resources.
Since the capabilities provided in the log-archive-prod and security-tooling-prod accounts are expected
to be of production quality, these accounts are contained in a Prod OU under the Security OU. The -
prod suffix in these example account names emphasizes the production quality of their resources and
workloads. The suffix is not intended to suggest that these accounts and their resources apply only to
production accounts.
In future configurations, you can introduce non-production or test OUs and accounts associated with
your Security OU. Where it’s feasible to test changes inside the same organization, these non-production
environments can help you develop and test changes for your production quality capabilities before
promoting those changes to your production environments.
In cases where you cannot easily test certain changes that are foundational to your AWS environment
in the same AWS organization, you may benefit from using a separate AWS organization to test such
foundational changes. See Multiple AWS organizations (p. 13) for more information.
A Workloads OU (p. 26) along with Prod and Test OUs contain the workload-a-test and workload-a-prod
accounts.
47
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Production starter organization with AWS Control Tower
AWS Control Tower also automatically sets up AWS SSO in the organization’s management account. The
following figure shows this configuration.
In this example, a Security OU (p. 19) is created by the AWS Control Tower Account Factory feature to
contain a security-tooling-prod account where recommended security tools and service resources are
managed.
Two Workloads OUs (p. 26) house the production and test environments for a workload.
Since AWS Control Tower currently supports a single level of OUs, the names of the security and
workloads OUs include underscores to represent the desired hierarchy. For example: Security_Prod,
Workloads_Prod, and Workloads_Test.
48
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Basic organization
Basic organization
The following example incorporates a security tooling environment for common security services, a
second workload, and support for sandbox and development environments. Additions include:
49
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Basic organization
50
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Basic organization with infrastructure services
51
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Basic organization with infrastructure services
52
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Basic organization with CI/CD as a separate function
53
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Basic organization with CI/CD as a separate function
54
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Advanced organization
Advanced organization
This example represents all of the recommended OUs and a greater number and diversity of workloads.
Additionally, Test child OUs are represented under the Security and Infrastructure OUs to support test
environments for the security and infrastructure workloads.
55
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Advanced organization
56
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Conclusion
If you are in the early stages of adopting AWS, you can use these best practices to start implementing
an AWS environment structure that is sufficient to meet your initial needs. As your adoption of AWS
expands and your requirements increase, you can be confident that your AWS environment can be
expanded to meet those needs without requiring significant restructuring.
If you already have an AWS environment in place, you can use these best practices to assess its current
state. By doing so, you can determine if you’re fully realizing the benefits of using multiple OUs and AWS
accounts and, if necessary, you can make plans to enhance your current environment.
In either case, your AWS sales team and AWS Partner Network (APN) Partners are ready to help you
apply these best practices to meet your business needs.
57
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Contributors
Contributors to this document include:
58
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Additional resources
For additional information, see:
59
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Operational Excellence Pillar
The best practices for organizing your AWS environment addressed in this guide augment and support
the best practices represented in the following sections of the Well-Architected pillars.
Topics
• Operational Excellence Pillar (p. 60)
• Security Pillar (p. 60)
• Reliability Pillar (p. 60)
• Cost Optimization Pillar (p. 61)
Security Pillar
• Security Foundations - AWS Account Management and Separation – Use of separate accounts for your
test and production workloads helps maintain isolation between those environments.
• Identity and Access Management – Identity Management – Use of a centralized identity provider and
federated access helps you more efficiently manage human access across your accounts.
• Identity and Access Management – Permissions Management – You can define permission guardrails
for your AWS environment and provide least privilege access to identities that need access to your
accounts.
• Detection - Configure – Your security operations team can benefit from the centralization of logs
generated across your accounts in support of analysis and detection requirements.
Reliability Pillar
• Foundations - Manage Service Quotas and Constraints – By isolating workloads in their own accounts,
you can more easily manage service quotas for those workloads.
60
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Cost Optimization Pillar
61
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Use the results for internal documentation
Combined, these worksheets and guidance can help your team quickly iterate on and arrive at an
informed view of your own approach to organizing your workload-oriented OUs. They can also help
inform how you might identify and scope your workload-oriented accounts.
For example, as you complete the worksheets in Appendix B and Appendix C, you should gain a better
understanding of:
• How you expect to position AWS sandbox environments in relation to work done on your corporate
desktops and in your AWS development environments.
• How you expect to generally divide and position your set of AWS development, test, and production
environments in relation to your SDLC. Coupled with these best practices, this knowledge should help
you refine your set of workload-oriented OUs and help inform the overall scoping of your workload-
oriented accounts.
Topics
• Use the results for internal documentation (p. 62)
• How to use this worksheet (p. 62)
• Descriptions of example purposes of workload environments (p. 63)
• Descriptions of example workload hosting environment types (p. 65)
• Example worksheet (p. 66)
• Empty worksheet (p. 67)
62
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Descriptions of example purposes
of workload environments
standards and your initial expectations for working in AWS are similar to and different from the
examples.
2. Review the Example worksheet (p. 66) to gain a sense of typical mappings of workload
environment purposes to workload hosting environment types. Note where your expectations align
with and differ from the examples. Mark where you expect to position workloads of a given purpose.
3. Make a copy of the Empty worksheet (p. 67), expand and modify the table by adding, removing,
and/or changing rows and columns based on your needs. You can revisit and refine your initial
assignments after you complete the worksheet in Appendix C.
4. Modify the example descriptions to suit your needs.
5. Use Appendix C (p. 69) to complete a related worksheet to help you document the key attributes of
each of your own list of workload hosting environment types.
6. Update and refine the table and descriptions, based on your initial review of both this worksheet and
the worksheet in Appendix C (p. 69).
63
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Smoke testing workload environments
Common examples of system level testing include, but are not limited to:
• Functional acceptance testing – Verification that the service meets the business requirements. In
mature situations, this testing is often largely automated.
• User acceptance testing – Validation from a user’s perspective or through a proxy, such as a product
owner, that the service meets their expectations.
• Exploratory testing – Functionality testing by humans in an ad hoc manner.
• Performance testing – Systems level testing to ensure a service is able to meet the expected
performance goals with the supporting capacity.
• Workload-recovery testing – Testing the ability of your workloads to recover from component-level
and workload-level failures in the face of sustained failures.
• Penetration testing – Also known as pen testing, testing services to identify security vulnerabilities.
• Multi-region testing – Testing that a workload is deployed in an active-active mode across multiple
AWS Regions.
• Disaster recovery / business continuity testing – Business testing to ensure that services can be
restored when in the event of a large-scale disaster.
64
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Demo workload environments
Each workload hosting environment type is not intended to represent a single account in your overall
AWS environment. Rather, a workload hosting environment type is meant to help you think about the
overall categorization of and distinction between the accounts in which your workloads reside. You may
end up having numerous accounts of any given hosting environment type.
For example, if there are significantly different security and operations needs of the environment
types that you identify, then those environments might help you refine your overall OU structure for
workloads.
For a set of example attributes for each of the example hosting environment types, see Appendix
C (p. 69).
Sandbox environments
Sandbox environments are environments allocated to individuals in which they have significant degrees
of administrative access so that they can learn and dive deep into a wide variety of AWS services and
other technologies. Typically, sandbox environments do not have access to your internal networks,
services, and data.
Foundational guardrails are used to mitigate the risk of this extensive access. For more information, see
Sandbox OU (p. 24).
65
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Development environments
Development environments
An extension of your corporate desktops that enable your builder teams to carry out formal
development tasks both with and in AWS that cannot occur only on their local corporate desktops.
Development environments are often allocated on a team and/or individual basis. Depending on the
permissions granted to your builder teams, varying degrees of self-paced learning, experimentation, and
prototyping can also occur in development environments.
Foundational guardrails and shared infrastructure services that are treated as production stable
resources are typically used to ensure the proper degrees of access control and stability of development
environments.
Given the hybrid nature of this environment type, the guardrails and controls for data development are
typically a blend of those used to support development and production environments.
Test environments
A type of workload hosting environment in which changes are formally validated before they are
promoted for release to production environments. Depending on how you view this overall stage of your
SDLC and the distinct security and operational requirements of it, you may end up dividing this overall
type into multiple types of environments.
Typically, test environments are secured and managed in much the same manner as production
environments so that validation efforts occur in production-like environments and issues are detected
prior to release to production.
Production environments
Highly secured, formally managed hosting environments in which production data and workloads reside.
Example worksheet
The following example worksheet represents a typical mapping of workload purposes to types of
workload hosting environments. This example is meant to spur discussion of and comparison to both
your current on-premises environments and your expectations for working on AWS.
Self-paced • • • •
Learning /
Early
Experimentation
Development • • •
66
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Empty worksheet
Static • • •
Analysis,
Building,
Unit Testing
CI Jobs and • • • •
CD Pipelines
Smoke • • • •
Testing
Development • • •
Integration
Testing
Production • • •
Like System
Testing
Stable • • •
Shared Test
Resiliency • • • •
Testing
Demo • • • • • •
External • •
Pre-Release
(Alpha, Beta)
Production •
Empty worksheet
Use this worksheet to help you describe your expectations for where certain purposes of workloads
are expected to occur across your AWS workload environments. Copy and modify the rows and column
headers in the following worksheet as needed.
Self-paced
Learning/
Early
Experimentation
Development
Static
Analysis,
67
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Empty worksheet
CI Jobs and
CD Pipelines
Smoke
Testing
Development
Integration
Testing
Production
Like System
Testing
Stable
Shared Test
Resiliency
Testing
Demo
External
Pre-Release
(Alpha, Beta)
Production
68
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
How to use this worksheet
Topics
• How to use this worksheet (p. 69)
• Descriptions of example attributes (p. 69)
• Example worksheet (p. 74)
• Empty worksheet (p. 77)
Note: In the table of example attributes of workload hosting environment types, you’ll see a close
alignment between test and production environment types. This is a typical approach used by
organizations to help ensure that testing occurs in production-like environments prior to changes being
promoted to production environments.
69
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Owners/Tenants
If this degree of alignment is important to you, then it can factor into how closely you align your
production OU to test environment OUs, both in terms of SCPs and overall security baselines.
Owners/Tenants
These are the teams or individuals accountable for the environment and the workloads deployed to it.
Regardless of whether a team or an individual owns an environment, you should consider applying
virtually the same attributes across a given type of environment.
In a more federated DevOps style operating mode, individual application and data services teams might
own their own production and test environments and the workloads residing in them.
Generally, organizations treat the environments in which they perform their formal day-to-day work as
needing to have production qualities in terms of stability and access.
Corporate Desktops
An inability to use corporate desktops for any appreciable length of time is considered to be a significant
impact in most organizations.
Sandbox
In our example definition of sandbox environments, they are not typically viewed as having a great deal
of importance to everyday formal tasks.
Test
Similar to development, your ability to validate important changes will be severely impacted due to
extended outages of your test environments.
70
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Internet access
Internet access
This refers to the extent to which access to and from the internet is allowed.
In either case, you might implement filters on outbound requests to the internet to reduce the risk of
accessing malicious or unauthorized software packages and services.
Sandbox
Given the broad administrative access and bidirectional connectivity with the internet, sandbox
environments are typically inhibited from accessing internal data and services.
Development
Development environments, like corporate desktops, are typically allowed to connect to your source
code management, artifact management, CI/CD, and deployment/release automation services. These
environments also typically have connectivity to shared infrastructure services, such as DNS resolution
and user authentication and identity management instances populated with test data.
Data
This refers to the overall type of data allowed in each environment.
Sandbox
Unlike corporate desktops and development environments, sandbox environments are typically intended
to house only public data. Due to the risk of data loss and unintended exposure, intellectual property (IP)
and internal data are typically not allowed in sandbox environments.
71
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Third-party software and cloud services
IP often includes proprietary source code, configuration data, artifacts (such as applications and binary
packages), non-public test data, business, and operational data.
Degree of access
This refers to the extent to which people interacting with an environment have access to resources in the
environment.
Lifespan of resources
This refers to how long workloads and supporting resources are expected to live in a given environment.
Even in development environments, teams should be encouraged to automate important configurations
as much as feasible. Automation enables teams to recreate resources and workloads on demand so that
they have less dependency on hand-built configurations.
Production
In support of workloads in production environments, as a general recommendation, changes made to
production should be automated. In these cases, human user write access to workload resources should
not typically be necessary and not allowed.
72
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Automated workload provisioning
Direct read access to production resources and data could be allowed on a least privileged basis to
support audit and operational troubleshooting scenarios.
Break-glass scenarios should be supported to enable temporary write access with strict auditing under
exceptional conditions.
Corporate Desktops
A modest degree of automated workload provisioning can be developed and tested on local corporate
desktops. To the extent that type 2 hypervisors for running virtual machines locally and/or containers
are supported on corporate desktops, builders can carry out some degrees of environment automation
testing on their corporate desktops. However, unless an AWS service API is available locally, workload
automation that depends on AWS service APIs needs to occur in their AWS development environments.
Sandbox
Because sandbox environments are not typically connected to your source code management systems
and don’t usually contain internal data, there might be limited value in developing workload automation
in sandbox environments. Reuse of open source or other third-party automation is typical in sandbox
environments.
Development
Teams typically use a mix of manual and automated means to initially experiment and perform early
iterations on their cloud resource configurations. Once teams mature their desired configurations, they
typically invest in infrastructure as code (IaC) to automate workload configurations. Your standard source
code management systems are typically used to house the IaC automation files.
Test
Minimally, we recommend that you at least test your change management processes in test
environments.
Production
Typically, some form of change management process applies to all changes made to workload in your
production environments.
73
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Common enterprise guardrails
Sandbox
In sandbox environments, given the experimental and wide-ranging administrative access, there may be
little if any centrally managed foundation resources other than common enterprise guardrails (see next
section).
Development
In development environments, you can provide centrally-managed foundation services to teams. By
doing so, you can remove undifferentiated heavy lifting from their day-to-day work.
For example, AWS API logging via AWS CloudTrail and cloud resource configuration recording via AWS
Config is typically a common guardrail applied across all environments.
Example worksheet
This example worksheet represents a typical mapping of attributes to types of workload hosting
environments. This example is meant to spur discussion and comparison to both your current on-
premises conventions and your expectations for working on AWS.
74
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Example worksheet
No inbound
requests
Test data Public test Test data Production Test data Production
data (no data data
Intellectual No access to Typically
property) production avoid use of
data production
sensitive
data unless
sanitized
Installation Installation
of approved of approved
software software
75
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Example worksheet
76
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Empty worksheet
Empty worksheet
Copy and modify the rows and column headers in the following worksheet and note how each attribute
relates to a given environment type.
Owners /
Tenants
Tolerance
to Extended
Outages
Internet
Access
Internal
Network
Access
Data
Third-Party
Software
and Cloud
Services
Degree of
Access
Lifespan of
Resources
Direct
Human
77
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Empty worksheet
Automated
Workload
Provisioning
Formal
Change
Management
for
Workloads
Degree of
Centrally
Managed
Foundation
Common
Enterprise
Guardrails
78
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Geographic scopes of data protection
Topics
• Geographic scopes of data protection (p. 79)
• Performance considerations (p. 79)
• Log management (p. 79)
You should carefully consider whether the data protection requirements applicable to your workload
differ across countries, or are subject to data sovereignty requirements or export control. This may
impact your ability to make cross-Region data transfers. (Note that cross-Region data transfers incur
networking costs.)
Performance considerations
There are also performance considerations to keep in mind for certain workloads. Some services are by
their nature per-Region, which makes it more sensible for you to deploy such workloads with all assets
in the same Region. For example, AWS KMS keys cannot be exported from a Region, and use of a KMS
key in another Region is likely going to add latency to an application. We therefore recommend using
AWS KMS in the same Region, unless specific governance policies, regulatory or corporate, mandate
otherwise.
Close collaboration between your security and architecture teams and your workload owning teams is
important to properly using KMS. Your design of how Amazon S3 objects, EBS volumes, and other data
are encrypted and potentially replicated across Regions should factor in low latency when required.
Where cross-account replication of these assets is required, Amazon S3 Cross-Region Replication (CRR)
enables on-the-fly re-encryption of an object with an AWS KMS key in the destination Region. Multi-
Region duplication of AWS KMS keys for the decryption of cross-Region copied EBS volumes can be
achieved using the techniques covered in Busy Engineer's Document Bucket.
Log management
When logs are generated, we recommend that you implement secondary controls to filter them before
they are passed outside a compliance scope boundary associated with an account, or are passed cross-
79
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Log management
Region. If your logs contain sensitive data, this approach helps ensure that such sensitive data cannot
escape your defined compliance scope boundary using AWS logging capabilities.
Although AWS CloudTrail has built-in cross-account logging capability and AWS Config can aggregate
configuration and compliance data across accounts and Regions, it might be more appropriate for you
to aggregate logs in an account. You can use AWS Lambda functions or similar to filter the logs before
sending them to another Region for aggregation into a multi-Region logging archive.
80
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Document history
To be notified about updates to this whitepaper, subscribe to the RSS feed.
Initial release (p. 81) Whitepaper first published. March 18, 2021
81
Organizing Your AWS Environment Using
Multiple Accounts AWS Whitepaper
Notices
Customers are responsible for making their own independent assessment of the information in this
document. This document: (a) is for informational purposes only, (b) represents current AWS product
offerings and practices, which are subject to change without notice, and (c) does not create any
commitments or assurances from AWS and its affiliates, suppliers or licensors. AWS products or services
are provided “as is” without warranties, representations, or conditions of any kind, whether express or
implied. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements,
and this document is not part of, nor does it modify, any agreement between AWS and its customers.
© 2021 Amazon Web Services, Inc. or its affiliates. All rights reserved.
82