Building a Multi-Account AWS Landing Zone

One AWS account with tag-based separation concentrates blast radius and fails audits. A landing zone design for 10-80 engineer teams: OU topology, service control policies, identity, networking restraint, and the Control Tower decision, with a reference template.

Template included

Landing zone reference kit

Copy as markdown to paste into your repo, or download a branded PDF for sharing with non-technical stakeholders.

Download PDF

Frequently asked questions

What is an AWS landing zone?

A landing zone is a multi-account AWS setup built on AWS Organizations: one account per isolation boundary, grouped into OUs and constrained by service control policies, with identity unified through IAM Identity Center. For a 10-80 engineer regulated SMB it's typically five OUs and about ten accounts. It's the foundational layer you build before workloads sprawl.

Why isn't one AWS account with tags good enough?

The account is the only hard security wall AWS gives you, so tag-based separation means a leaked CI token can reach production. Quotas like Lambda concurrency and EC2 vCPU are account-scoped, so a load test in staging can take prod down with it. And a SOC 2 or HIPAA assessor asking how production is isolated won't accept 'a tag' as the answer.

What are service control policies and how should I use them?

SCPs are a deny-list, not a grant — an action is allowed only if IAM permits it AND no SCP denies it. A good starter set denies leaving the org, blocks CloudTrail tampering, denies root-user actions, restricts regions to the ones you operate in, and protects the log-archive bucket. Note they never apply to the management account, which is why nothing should run there.

Should I use AWS Control Tower or build the landing zone with Terraform?

If you already run Terraform through CI and one engineer owns platform, roll your own in plain Terraform and skip Control Tower — the org config is then managed like everything else you operate, which matters when an auditor asks for change history. Choose Control Tower only if platform ownership is genuinely nobody's job yet. Don't adopt AFT at this scale.

How do I move to a multi-account setup without a risky migration?

You don't move production. Invite the existing account into the organization and place it under the Workloads OU as prod, then build the new accounts around it — log-archive first, then Identity Center, then shared-services. Apply SCPs to the staging OU, watch for a week, then extend to prod. The planned migration weekend is the anti-pattern.

How many AWS accounts should a startup have?

Ten to fifteen is the healthy range for a 10-80 engineer company. Add an account for a new blast radius worth isolating — a new compliance boundary, a workload with its own on-call, a data classification that shouldn't share IAM space — not for every microservice. At forty accounts you've rebuilt the original governance problem, now with a per-account Config, GuardDuty, and Security Hub bill.

Still running everything in one account?

A landing zone is a three-week project with the right hands, and a three-year regret without them.

Kaan Systems does platform engineering and Terraform for funded SaaS, health-tech, and fintech. Compliance evidence is the by-product of that work. The Assessment tells you whether the account boundary you have is one an auditor will accept. The 7-day Assessment is read-only. Book a call.