Skip to content

Org Bootstrap

Stack: org-bootstrap/ — runs in the management account only.

  • Delegates IPAM admin to the network member account via aws_vpc_ipam_organization_admin_account
  • Enables RAM sharing with AWS Organizations via aws_ram_sharing_with_organization

RAM org sharing runs here only — not in ipam/. The ipam/ stack creates pool-level RAM shares but requires org-level RAM sharing to be enabled first.

FieldValue
AccountManagement
Profileipam-org
RegionGlobal (Organizations API)

From a clone of terraform-aws-ipam:

Terminal window
export AWS_PROFILE=ipam-org
aws sts get-caller-identity
terraform -chdir=examples/multi-account/org-bootstrap init
terraform -chdir=examples/multi-account/org-bootstrap apply

Create examples/multi-account/org-bootstrap/terraform.tfvars locally (gitignored) with your network account ID:

network_account_id = "123456789012"
  • Network account becomes delegated IPAM admin
  • RAM org sharing is enabled (trusted access for Resource Access Manager)
  • AWS creates AWSServiceRoleForIPAM in org member accounts
Terminal window
# Confirm delegation (management account)
aws organizations list-delegated-administrators \
--service-principal ipam.amazonaws.com
# Confirm RAM org sharing enabled
aws ram get-resource-share-associations \
--association-type PRINCIPAL \
--query 'associations[?principal==`arn:aws:organizations::333333333333:organization/o-example`]'

Replace placeholder IDs with your real values when running locally.

See RAM and onboarding for how this enables pool sharing in the next step.

Next: IPAM deploy.

Upstream: examples/multi-account/