Workload Deploy
Stacks workload-a/ and workload-b/ can run in parallel after ipam/ completes.
Stack contract
Section titled “Stack contract”Each workload receives pool_id from ipam/ outputs via gitignored terraform.tfvars:
# workload-a/terraform.tfvars (gitignored — use real pool ID from ipam output)pool_id = "ipam-pool-0123456789abcdef0"The VPC is created from the shared pool via modules/ipam-vpc/:
module "vpc" { source = "../modules/ipam-vpc"
ipv4_ipam_pool_id = var.pool_id ipv4_netmask_length = 20}Workload-a (NZ dev)
Section titled “Workload-a (NZ dev)”| Field | Value |
|---|---|
| Account | Dev |
| Profile | ipam-workload-a |
| Region | ap-southeast-6 |
| Pool | org/nz/dev (nz_dev_pool_id) |
export AWS_PROFILE=ipam-workload-aexport AWS_REGION=ap-southeast-6aws sts get-caller-identityterraform -chdir=examples/multi-account/workload-a initterraform -chdir=examples/multi-account/workload-a applyWorkload-b (AU sandbox)
Section titled “Workload-b (AU sandbox)”| Field | Value |
|---|---|
| Account | Sandbox |
| Profile | ipam-workload-b |
| Region | ap-southeast-2 |
| Pool | org/au/sandbox (au_sandbox_pool_id) |
export AWS_PROFILE=ipam-workload-bexport AWS_REGION=ap-southeast-2aws sts get-caller-identityterraform -chdir=examples/multi-account/workload-b initterraform -chdir=examples/multi-account/workload-b applyOutputs
Section titled “Outputs”terraform -chdir=examples/multi-account/workload-a output vpc_cidr # 10.64.0.0/20terraform -chdir=examples/multi-account/workload-b output vpc_cidr # 10.128.0.0/20Expected result
Section titled “Expected result”- Each workload VPC CIDR allocated from the intended shared pool (
/20) - Pool allocations visible to IPAM admin account (may lag briefly)
Check Allocations first after apply; the summary dashboard may lag — see Verification.
See RAM and onboarding for the three-layer onboarding model.
Next: Verification.
Upstream: examples/multi-account/