When you first start using AWS, everything seems simple. You create an account, spin up some EC2 instances, maybe an RDS database, and your application is running. Development, staging, and production all coexist in one account. It works, until it doesn't.
As your organization grows and your AWS usage expands, you start hitting walls. Your developers accidentally modify production resources. Your security team struggles to implement different compliance requirements for different environments. Your finance team can't figure out which team is responsible for that $10,000 spike in costs last month.
This is the natural evolution every growing organization faces on AWS. The single-account model that served you well in the beginning becomes a liability as complexity increases.
The Single Account Problem: Why One Account Isn't Enough
Starting with a single AWS account is logical. It's simple to manage, requires minimal setup, and gets you running quickly. However, as your organization scales, several critical issues emerge:
Security and Access Control Challenges In a single account, IAM policies become increasingly complex as you try to separate access between environments. Developers need different permissions for development versus production, but managing this through IAM alone becomes a tangled web of policies, roles, and exceptions.
Compliance and Regulatory Constraints Different environments often have different compliance requirements. Your production environment handling customer data needs strict PCI-DSS controls, while your development sandbox needs flexibility for experimentation. Implementing these contradictory requirements in one account is technically possible but operationally nightmarish.
Cost Attribution and Budget Control When all resources live in one account, determining which team or project is driving costs requires extensive tagging discipline, which rarely survives contact with reality. That unexpected AWS bill becomes a forensic investigation rather than a simple report.
Blast Radius and Risk Management A misconfiguration in one environment can impact all others. An overly permissive S3 bucket policy in development could expose production data. A runaway Lambda function in staging could consume your entire account's concurrent execution limit, impacting production.
The Natural Evolution: Why Organizations Create Multiple Accounts
As these pain points intensify, organizations naturally begin creating additional AWS accounts. This isn't a planned strategy initially. It's organic growth driven by immediate needs:
- The security team creates a separate account for centralized logging after a compliance audit
- The data science team requests their own account to experiment with SageMaker without impacting production
- A new product team gets their own account to move faster without waiting for central IT approval
- The finance team demands separate accounts for better cost tracking and budget controls
This organic growth solves immediate problems but creates new ones. Now you have multiple accounts, but no central way to manage them. Each account has its own security settings, its own IAM users, its own network configuration. You've traded one set of problems for another.
The Orchestration Challenge: Managing Multiple Accounts at Scale
Once you have multiple AWS accounts, new challenges emerge:
Identity and Access Management How do you manage user access across 10, 20, or 100 accounts? Creating IAM users in each account doesn't scale. Password policies, MFA requirements, and access reviews become exponentially complex.
Security and Compliance Governance Each account needs security baselines: CloudTrail for auditing, GuardDuty for threat detection, Config for compliance monitoring. Implementing these manually in each account is time-consuming and error-prone. Ensuring consistency across accounts becomes nearly impossible.
Network Architecture and Connectivity Your accounts need to communicate. The production API needs to reach the production database. The development environment needs access to shared services. Building and maintaining network connections between accounts without a central strategy leads to a complex mesh that nobody fully understands.
Policy Enforcement and Guardrails You want to prevent certain actions across all accounts: no unencrypted S3 buckets, no public RDS instances, no EC2 instances in unapproved regions. Implementing these policies account by account relies on human discipline, which inevitably fails.
The Solution: AWS Landing Zone as Your Orchestration Layer
A landing zone is fundamentally an orchestration methodology: a systematic approach to managing multiple AWS accounts from a central control plane. It's not a single service or tool, but rather a comprehensive framework that brings order to multi-account chaos.
Think of a landing zone as the operating system for your AWS infrastructure. Just as an OS manages hardware resources and provides a consistent interface for applications, a landing zone manages AWS accounts and provides a consistent governance model for workloads.
What a Landing Zone Orchestrates
Centralized Identity Management Instead of managing users in each account, a landing zone implements AWS IAM Identity Center (formerly AWS SSO) or identity federation. Users authenticate once and assume roles in target accounts. No more password sprawl, no more orphaned IAM users.
Account Provisioning and Lifecycle New accounts are created through an automated "account factory" with pre-configured security baselines, network connectivity, and cost controls. What once took weeks of manual setup now takes minutes.
Policy Orchestration Through Service Control Policies (SCPs) Service Control Policies act as guardrails at the organization level. Unlike IAM policies that grant permissions, SCPs set maximum permissive boundaries that cannot be exceeded, even by account administrators. This creates unbreakable security boundaries.
Centralized Security and Logging All accounts automatically send logs to a central, immutable archive. Security services like GuardDuty aggregate findings across all accounts into a single pane of glass. Compliance monitoring happens continuously, not just during audits.
Network Orchestration A hub-and-spoke network architecture connects accounts through a central transit gateway. Network segmentation, routing, and security policies are managed centrally while allowing accounts to maintain isolation.
Cost Management and Optimization Consolidated billing provides a single invoice with detailed cost breakdowns by account. Budget alerts, spending limits, and automated cost optimization policies can be applied based on account type (production vs. development).
How Landing Zone Orchestration Works in Practice
Let's trace through a typical workflow to understand the orchestration in action:
New Team Onboarding
- A new product team needs AWS resources
- They request an account through a service catalog
- The landing zone automatically:
- Creates a new account in the appropriate organizational unit
- Applies relevant SCPs based on the environment type
- Configures network connectivity to shared services
- Enables security services (CloudTrail, GuardDuty, Config, Security Hub)
- Sets up cost budgets and alerts
- Grants the team access through IAM Identity Center
- Within 30 minutes, the team has a fully configured, compliant account
These security services form the baseline controls that protect every AWS account. For detailed guidance on what each service does and how to configure them properly, see our AWS Account Security Best Practices guide covering CloudTrail audit trails, Config compliance monitoring, GuardDuty threat detection, and Security Hub findings aggregation.
This entire process happens through automation, ensuring consistency and compliance without manual intervention.
Implementation Approaches: Building Your Orchestration Layer
There are two primary approaches to implementing a landing zone on AWS, and the choice matters more than most organizations realize. The decision isn't just technical; it determines how you'll manage, audit, and scale your cloud foundation for years to come.
| Aspect | AWS Control Tower | Infrastructure as Code |
|---|---|---|
| Management | Console-based (ClickOps) | Code-defined, version controlled |
| State Tracking | Manual, dashboard-based | Git history, pull requests |
| Customization | Limited, opinionated architecture | Fully customizable |
| Drift Detection | Built-in, but resolution is manual | Automated through IaC pipelines |
| Replication | Cannot clone to other organizations | Deploy identical setup anywhere |
| Audit Trail | Console activity logs only | Full change history with code review |
| Time to Deploy | ~30 minutes for baseline | Initial setup longer, changes faster |
| Best For | Quick starts, smaller teams | Scale, compliance, multi-org |
For a deeper comparison of these approaches and when to choose each, see our Control Tower alternatives guide.
AWS Control Tower: The Managed Orchestration Service
AWS Control Tower provides a pre-packaged landing zone with AWS-native orchestration. It's free to use (you only pay for underlying AWS services) and includes:
- Automated account provisioning through Account Factory
- Pre-configured organizational units for security, production, and sandbox accounts
- A library of controls (formerly called guardrails) for security and compliance
- Centralized logging to a dedicated Log Archive account
- A dashboard for monitoring compliance and drift
- Integration with the Controls Catalog offering 279+ AWS Config controls mapped to 10+ compliance frameworks (CIS v8.0, FedRAMP, ISO 27001, NIST, PCI DSS v4.0, SOC 2)
Control Tower is ideal when you want to get started quickly with AWS best practices and your team is comfortable with console-based management.
The Trade-off: Control Tower is managed through the AWS Console, which creates a fundamental limitation for organizations that need rigorous change management. Without infrastructure as code, you lose version control over your landing zone configuration. There's no pull request process for reviewing changes before deployment, no git history showing what changed when, and no easy way to replicate your exact setup across multiple organizations.
This matters because landing zones are foundational. A misconfiguration affects every account in your organization. When your security team asks "who changed this SCP and why?" the answer shouldn't require forensic analysis of CloudTrail logs.
If you're evaluating Control Tower, it helps to understand how it relates to AWS Organizations, since Control Tower builds on top of Organizations rather than replacing it.
Infrastructure as Code: Custom Orchestration
Infrastructure as Code solves the state management problem by defining your entire landing zone in code. Using tools like Terraform, CloudFormation, or AWS CDK, you can build a custom landing zone tailored to your specific requirements with full version control.
Organizations choose this path when they need:
- Full infrastructure as code for version control and repeatability
- Integration with existing enterprise tools and workflows
- Custom compliance requirements not covered by Control Tower's opinionated approach
- Multi-region or multi-organization architectures
- Specific network topologies or security patterns
- The ability to replicate their setup across multiple AWS Organizations
Our CDK Landing Zone Solution: We've built a production-ready landing zone using AWS CDK that provides the governance and security of Control Tower with the flexibility of infrastructure as code. It's 100% open source, fully customizable, and includes:
- Complete multi-account architecture deployed through CDK
- 100% score on the industry-standard CIS AWS Foundation Benchmark
- 96% rating on AWS's own foundational security best practices
- Automated security baselines, logging, and monitoring
- Hub-and-spoke network architecture with Transit Gateway
- Pre-configured organizational units and SCPs
- Full state management through IaC with change tracking
- Easy replication across multiple organizations
- Full list of implemented features available in our public roadmap
Because it's infrastructure as code, every change is tracked in version control, reviewed through pull requests, and can be deployed consistently across multiple organizations.
Key Components of Landing Zone Architecture
Regardless of which implementation approach you choose, every landing zone shares common architectural components that enable governance at scale.
Account Structure and Organization
A landing zone organizes accounts into a hierarchy using AWS Organizations. The organizational unit (OU) structure determines how policies are inherited and enforced.
Foundational OUs (created by default in Control Tower):
Root Organization
├── Security OU
│ ├── Log Archive Account (centralized, immutable logging)
│ └── Audit Account (security tooling, delegated admin)
├── Sandbox OU
│ └── Developer experimentation accounts
└── [Additional OUs you create]
Recommended Additional OUs based on AWS best practices:
Root Organization
├── Security OU
├── Infrastructure OU
│ ├── Network Hub Account (Transit Gateway, DNS)
│ └── Shared Services Account
├── Workloads OU
│ ├── Production OU
│ │ └── Production workload accounts
│ └── Non-Production OU
│ ├── Development accounts
│ └── Staging accounts
├── Sandbox OU
├── Policy Staging OU (test policy changes before production)
├── Suspended OU (decommissioned accounts)
├── Deployments OU (CI/CD accounts)
└── Transitional OU (accounts being migrated)
Key principles:
- Apply policies at the OU level, not individual accounts
- Avoid deep hierarchies (maximum 5 levels)
- Group workloads based on business purpose and compliance requirements
- Use delegated administrators to manage security services from the Audit account instead of the management account
For comprehensive guidance on account architecture patterns for different organization sizes, see our AWS multi-account strategy guide.
Preventive Controls Through SCPs and RCPs
AWS Control Tower uses controls (formerly called "guardrails") to enforce governance. There are three types:
Preventive Controls use Service Control Policies (SCPs) and the newer Resource Control Policies (RCPs) to block actions before they happen:
- SCPs restrict what IAM principals in member accounts can do
- RCPs restrict what actions can be performed on resources, regardless of who makes the request
- Both are enforced or not enabled (no partial enforcement)
- SCPs don't affect the management account
Common preventive control implementations include:
- Denying the ability to disable CloudTrail or delete logs
- Preventing resource creation outside approved regions
- Requiring encryption for all data storage services
- Blocking public access to databases and storage
- Enforcing tagging requirements for cost allocation
For production-ready implementations of these controls, see our AWS SCP Examples with 25+ copy-paste policies organized by OU.
Important limitations:
- Maximum of 5 SCPs per OU
- Maximum of 5 OU hierarchy levels
- Controls are inherited through the organization hierarchy
Detective Controls and Monitoring
While preventive controls block violations, detective controls identify issues and drift after the fact:
Detective Controls use AWS Config rules and Lambda functions to:
- Continuously evaluate resource compliance
- Identify configuration drift
- Provide alerts when resources violate policies
- Support remediation workflows
Control Catalog Enhancements (2025): AWS Control Tower's Control Catalog now includes 279+ AWS Config controls with:
- Mapping to 10+ compliance frameworks (CIS v8.0, FedRAMP r4, ISO/IEC 27001, NIST CSF v1.1, NIST SP 800-171 r2, PCI DSS v4.0, SOC 2)
- Three-level classification system (Domain, Objective, Common control)
- Integration with AWS Security Hub for aggregated reporting
Proactive Controls are the newest addition, using CloudFormation Hooks to:
- Check whether resources are compliant before provisioning
- Prevent non-compliant resources from being created
- Monitor resources deployed through CloudFormation templates
The combination of preventive, detective, and proactive controls creates defense in depth for your landing zone.
Network Architecture Patterns
Landing zones typically implement a hub-and-spoke network topology:
- A central network account hosts the transit gateway
- Spoke accounts connect to the hub for inter-account communication
- Shared services (DNS, directory services) reside in the hub
- Network segmentation enforces security boundaries
- Centralized egress reduces NAT gateway costs and improves security
Common Control Tower Mistakes and How to Avoid Them
Control Tower provides a quick path to a governed multi-account environment, but its console-based management model creates pitfalls that catch many organizations. Here's what to watch for:
Configuration Drift Without Version Control
The Problem: When you manage Control Tower through the console, there's no canonical source of truth for your configuration. Multiple administrators can make changes without coordination. Over time, your actual environment drifts from what anyone thinks it should be.
The Impact: During an audit, you discover SCPs that nobody remembers creating. A security control was disabled months ago and nobody noticed. You can't confidently answer "what does our landing zone actually look like?"
The Solution: Infrastructure as Code. When your landing zone is defined in code, the code is the source of truth. Drift becomes impossible because the pipeline enforces the defined state.
No Audit Trail of Manual Changes
The Problem: Console changes don't require pull requests, code reviews, or approval workflows. Someone clicks a button, and the change is live. CloudTrail captures that something changed, but not why, not who approved it, and not what the intended outcome was.
The Impact: Your change management process has a blind spot. You can't demonstrate to auditors that changes went through proper review. When something breaks, troubleshooting starts with "who changed what?"
The Solution: Define changes in code with mandatory code review. Every change has a commit message, a pull request, reviewer approval, and deployment logs.
Difficulty Replicating Across Organizations
The Problem: You've spent a few weeks configuring your Control Tower landing zone perfectly. Now you need the same setup for a new business unit, a different AWS partition, or disaster recovery in another region. There's no export button.
The Impact: You're manually recreating the same configuration, introducing inconsistencies, and spending engineering time on work you've already done.
The Solution: IaC-based landing zones are inherently replicable. Clone the repository, update the parameters, deploy.
Limited Customization and Flexibility
The Problem: Control Tower is opinionated by design. It makes decisions for you about OU structure, account configurations, and control implementations. When your requirements don't match those opinions, workarounds get messy.
The Impact: You end up with a hybrid approach: some things managed by Control Tower, others managed outside it, and a growing complexity debt.
The Solution: Start with IaC if you know you'll need customization. Or use Control Tower as a foundation and accept its constraints for the 80% of requirements it handles well.
The Business Benefits of Orchestration
Reduced Operational Overhead
Manual account management doesn't scale. With 20 accounts, you're spending more time on governance than innovation. Landing zone automation reduces operational overhead by 60-80%, freeing your team to focus on business value.
Improved Security Posture
Centralized security controls and monitoring dramatically reduce risk. Security baselines are consistently applied, detective controls identify issues quickly, and the blast radius of any incident is contained to a single account.
Accelerated Delivery
Teams get productive environments in minutes instead of weeks. Pre-approved patterns and guardrails mean less time in security reviews. Developers can experiment in sandboxes without risking production.
Cost Optimization
Centralized cost management provides visibility and control. Automated policies can terminate unused resources, right-size instances, and enforce budget limits. Organizations typically see 20-35% cost reduction after implementing proper account governance.
Compliance and Audit Readiness
With centralized logging, consistent security controls, and automated compliance monitoring, audit preparation changes from a fire drill to a routine report generation. Many compliance frameworks (SOC2, HIPAA, PCI-DSS) explicitly require the controls a landing zone provides.
For example, when we deployed our CDK-based landing zone for Accolade, they achieved a 100% score on the industry-standard CIS AWS Foundation Benchmark and a 96% rating on AWS's own foundational security best practices. This level of security posture dramatically simplified their SOC2 compliance process.
Landing Zone Updates and Maintenance
Landing zones aren't set-and-forget infrastructure. AWS releases updates, security requirements evolve, and your organization's needs change. Understanding the maintenance model is crucial for long-term success.
AWS Control Tower Version Updates
AWS Control Tower releases landing zone versions with enhanced features and security improvements. Recent significant updates include:
Version 4.0 (January 2025):
- Flexible Controls-Only experience for existing multi-account environments
- Optional service integrations (choose which services to enable)
- Dedicated resources for key services with better isolation
- Service-linked Config aggregator
- Starting with 4.0, mandatory controls are no longer applied to all OUs by default
Version 3.3:
- Required
aws:SourceOrgIDcondition for write permissions to Audit bucket - New configurable Region deny control
- API for resetting enabled controls to default settings
Benefits of staying current:
- Enhanced security features
- Cost optimization (e.g., recording Config resources only in home region)
- Ability to encrypt CloudTrail trails with your own KMS key
- Increased number of available controls
- Better integration with AWS Security Hub
Updating Your Landing Zone
For Control Tower: Updates are initiated through the AWS Control Tower console. Best practices include:
- Test upgrades in a non-production environment first
- Review release notes for breaking changes
- When upgrading from 2.x to 3.x, account-level CloudTrail trails are replaced by organization-level trails (logs are preserved)
- Plan for potential double costs if some accounts have their own account-level trails during transition
For IaC-based landing zones:
- Updates follow your standard deployment pipeline
- Changes are version controlled and reviewed
- Rollback is straightforward if issues occur
- Maintain a testing/staging organization for validating major changes
Drift Detection and Resolution
Drift occurs when the actual state of resources differs from the expected configuration. AWS Control Tower provides built-in drift detection:
How it works:
- Automatically detects drift in managed SCPs and policies
- Sends notifications through Amazon SNS to administrators
- Scans managed resources daily
Types of drift:
- Account movement between organizational units
- Policy changes to SCPs
- Deletion of required resources (Security OU, required IAM roles)
- Renaming OUs or accounts (permitted but creates resolvable drift)
Resolution approaches:
- Console-based resolution for Control Tower-managed drift
- For IaC landing zones, the pipeline automatically corrects drift on the next deployment
- Critical drift (deleted Security OU or required roles) must be resolved immediately
Common Misconceptions About Landing Zones
"We're too small for a landing zone" If you have more than one AWS account or more than one team using AWS, you need orchestration. The complexity of managing multiple accounts manually grows exponentially.
"It will slow down our development" The opposite is true. Developers wait days or weeks for properly configured accounts without a landing zone. With one, they get secure, compliant environments in minutes through self-service.
"We can build this ourselves as we go" Technical debt in account architecture is among the most expensive to remediate. Retrofitting governance, security, and network architecture across existing accounts is exponentially more complex than implementing it correctly from the start.
Getting Started: Your Path to Centralized Orchestration
For Organizations New to AWS
Starting with a landing zone before migrating workloads is the most cost-effective approach. You avoid accumulating technical debt and establish good practices from day one.
If choosing Control Tower:
- Setup takes approximately 30 minutes with the quick start option
- You'll need unique email addresses for three accounts: management, Log Archive, and Audit
- Choose your home region carefully as it cannot be changed after setup
- Only govern regions where you'll actually deploy workloads
- Use SCPs to deny access to ungoverned regions
Prerequisites:
- An existing AWS account to serve as the management account
- Administrator access
- Decision on which additional regions to govern beyond your home region
For Organizations Already Using AWS
Migrating existing accounts into a landing zone requires planning, but the process is well-documented:
- Assess your current state: Document existing accounts, OUs, SCPs, and pain points
- Design your target architecture: Define OU structure, control requirements, and network topology
- Prepare accounts for enrollment: Existing accounts need the
AWSControlTowerExecutionrole enabled before enrollment - Address potential conflicts: Existing SCPs can block landing zone deployments; existing AWS Config resources may need migration
- Migrate incrementally: Start with non-production accounts to validate the process
Migration strategy for larger organizations:
- Replicate data from existing workloads to new accounts
- Create Infrastructure as Code templates for all resources
- Test workloads in a discrete OU with required SCPs
- Migrate workloads to new accounts within the landing zone
- Move AWS accounts to appropriate OUs
- Validate and decommission old configurations
For detailed guidance on each step, see our comprehensive implementation guide: AWS Multi-Account Best Practices.
Key Decisions to Make
Before implementing a landing zone, decide on:
- Account strategy (per application, per environment, or per team)
- Network architecture (centralized, distributed, or hybrid)
- Identity provider and federation approach
- Compliance requirements and necessary controls
- Budget and cost allocation model
- Implementation approach (Control Tower vs. IaC)
Conclusion
The journey from a single AWS account to a multi-account architecture is a natural evolution that every growing organization experiences. As complexity increases, the need for central orchestration becomes critical.
An AWS Landing Zone provides that orchestration layer, transforming what would be chaos into a governed, scalable, and secure cloud foundation. It's not about adding bureaucracy or slowing down innovation. It's about creating the systematic approach that enables your organization to scale efficiently while maintaining security and compliance.
The choice between Control Tower and Infrastructure as Code isn't about which is "better" in the abstract. It's about which approach aligns with your organization's needs for change management, customization, and scale. Control Tower gets you started quickly; IaC gives you long-term control.
Whether you implement it through Control Tower or build it custom with infrastructure as code, the key is recognizing that multi-account orchestration isn't optional once you reach a certain scale. It's essential for sustainable cloud operations.
The question isn't whether you need a landing zone, but when you'll implement one. The earlier you establish this foundation, the less technical debt you'll accumulate and the faster you'll be able to scale.
Get Production-Ready, SOC 2 Compliant AWS Accounts from Day One
We deploy AWS Landing Zones using infrastructure as code with pre-configured multi-account architecture, built-in security controls and guardrails including monitoring to stay in control of what happens so you can safely start deploying workloads immediately.

