Skip to content

Troubleshooting

Most failures are avoided by Pre-flight checks before each apply. Console behaviour that looks wrong but is not a deploy failure — dashboard lag, high Unmanaged counts, pool column semantics — is covered in Planning vs Monitoring and the FAQ.

Error: AccessDeniedException from AWSOrganizations

Cause: org-bootstrap/ run from a member account. Only the management account can enable RAM org sharing and delegate IPAM admin.

Fix: Set AWS_PROFILE=ipam-org, confirm with aws sts get-caller-identity, then re-run org-bootstrap/.

Error: No valid credential sources found

Cause: Expired SSO session or profile mismatch for the stack you are applying.

Fix: aws sso login --profile <profile>, set AWS_PROFILE, and run aws sts get-caller-identity before retrying. See Pre-flight.

Error: Pool not found, access denied on pool, or plan wants to change pool_id

Cause: pool_id in gitignored terraform.tfvars does not match current ipam/ outputs after a re-apply or pool recreation.

Fix: Refresh from outputs and update before workload apply:

Terminal window
terraform -chdir=examples/multi-account/ipam output nz_dev_pool_id
terraform -chdir=examples/multi-account/ipam output au_sandbox_pool_id
AreaConsole path
DelegationOrganizations → Settings → IPAM delegated admin
RAM org sharingRAM → Settings → Sharing with AWS Organizations
Pool allocationsIPAM → Planning → Pools → Allocations
VPC pool bindingEC2 → VPCs → select VPC → Details → IPv4 IPAM pool ID
Resource discoveryIPAM → Monitoring → Resources (filter by account/CIDR)