Skip to content

System Overview

One Platform_Zone
Shared private hosted zone `platform.demo.local` in the Network_Account — the only place `api` and `db` records are defined.
(platform.demo.local) lives in the Network_Account
AWS account that owns Platform_Zone, DNS records, and cross-account VPC_Association_Authorization resources.
. Every other VPC associates with that zone so workloads resolve the same records regardless of account or region.

API (concept)Who calls itPurpose
CreateVPCAssociationAuthorizationNetwork_Account (zone owner)Permit a specific VPC (id + region) to associate
AssociateVPCWithHostedZoneVPC-owning accountLink the VPC to the authorized PHZ

No Route 53 Profiles
Centralised Route 53 association lifecycle — alternative to classic authorization; not used in this walkthrough.
, AWS RAM
AWS Resource Access Manager — can share hosted zones; not part of this classic pattern.
, Transit Gateway, or orchestration scripts.

Three AWS accounts, two regions, six Terraform stacks in the source demo repo:

StackAccountRegionVPC roleCIDR
networknetworkap-southeast-2PHZ owner; primary + secondary10.0.0.0/16, 10.3.0.0/16
network-apse6networkap-southeast-6Same-account cross-region10.10.0.0/16
dev-apse2devap-southeast-2Cross-account workload10.1.0.0/16
dev-apse6devap-southeast-6Cross-account cross-region10.11.0.0/16
sandbox-apse2sandboxap-southeast-2Cross-account workload10.2.0.0/16
sandbox-apse6sandboxap-southeast-6Cross-account cross-region10.12.0.0/16

Each VPC gets one Test_EC2
One minimal EC2 per stack (seven total) for in-VPC DNS checks via SSM Session Manager and `dig`.
in a private subnet (seven instances total) for in-VPC DNS verification via SSM.

All shared DNS records exist only in the Network_Account PHZ
Private Hosted Zone — resolves DNS only from associated VPCs. This demo uses one authoritative PHZ in the network account.
. Workload accounts resolve names; they do not create local copies.

RecordTypeValuePurpose
api.platform.demo.localA10.0.1.10Primary demo lookup
db.platform.demo.localA10.0.1.20Optional second record

Record targets are fictional private IPs — they prove resolution, not reachability.

Network Account Dev Account Sandbox Account platform.demo.local PHZ apse2 primary apse2 secondary ap-southeast-6 Auth dev apse2 Auth dev apse6 Auth sandbox apse2 Auth sandbox apse6 VPC ap-southeast-2 VPC ap-southeast-6 VPC ap-southeast-2 VPC ap-southeast-6 same-account same-account association cross-account associate (Phase 3) authorization (Phase 2a)
terraform/ modules/ vpc/ DNS-enabled VPC, subnets, SSM, NAT private-hosted-zone/ PHZ, records, primary association cross-account-auth/ VPC association authorizations workload-stack/ VPC + association + test-ec2 test-ec2/ Minimal EC2 with SSM profile accounts/ network/ PHZ, auth, secondary assoc, test-ec2 network-apse6/ Same-account cross-region dev-*, sandbox-* Cross-account stacks

See Deployment Phases for operational commands.