Skip to content
← module.projects

Multi-account landing zone

Separating production from everything else.

Year
2024
Discipline
Platform
Stack
Terraform · AWS Organizations · IAM · VPC

3

Isolated environments

0

Shared IAM users remaining

1 module

Networking, applied per account

the problem

Placeholder. Development and production shared one account and one VPC. A misapplied change could reach anything, and least privilege was impossible to express.

what I built

  1. 01

    Split the estate into separate accounts under AWS Organizations with service control policies.

  2. 02

    Built a reusable network module — VPC, subnets, routing — applied identically per environment.

  3. 03

    Replaced shared IAM users with role assumption from a single identity account.

architecture

Resources, by tier

Organisation

+aws_organizations_organization

+aws_organizations_policy

Identity

+aws_iam_role.assume

+aws_iam_policy

Network

+aws_vpc

+aws_subnet

+aws_route_table

next project

Static site delivery pipeline