An enterprise is designing a high-availability, multi-account network architecture in the us-east-1 Region. The architecture consists of three VPCs:
1. vpc-app-prod (Application Account): Distributed across Availability Zones us-east-1a and us-east-1b, containing private subnets hosting critical workloads.
2. vpc-shared-services (Shared Services Account): Hosts internal shared services and a Route 53 Private Hosted Zone (PHZ) named services.corp.internal.
3. vpc-net-egress (Network Account): A centralized VPC designed to handle all outbound internet traffic.
An AWS Transit Gateway (tgw-central) in the Network Account interconnects all three VPCs. The architecture must satisfy the following constraints:
- Workloads in vpc-app-prod must resolve hostnames under the services.corp.internal domain.
- All outbound internet traffic from vpc-app-prod must route through vpc-net-egress for centralized network address translation (NAT).
- The network design must be resilient to a single Availability Zone outage. A failure in us-east-1a must not interrupt internet access or DNS resolution for workloads running in us-east-1b.
Which design configuration meets these requirements while ensuring maximum resiliency?
- Deploy a NAT Gateway in a public subnet in us-east-1a and another NAT Gateway in a public subnet in us-east-1b within vpc-net-egress. In vpc-net-egress, configure the route tables associated with the Transit Gateway attachment subnets to direct traffic destined for 0.0.0.0/0 to the local NAT Gateway in the same Availability Zone. Authorize the association of vpc-app-prod with the services.corp.internal Private Hosted Zone from the Shared Services Account, then associate the VPC from the Application Account. Configure the private subnet route tables in vpc-app-prod to route 0.0.0.0/0 to tgw-central, and configure the Transit Gateway route table associated with vpc-app-prod to route 0.0.0.0/0 to the vpc-net-egress attachment.Answer
- BDeploy a single NAT Gateway in the us-east-1a public subnet of vpc-net-egress to minimize ongoing Gateway charges. In vpc-net-egress, configure the route tables of all Transit Gateway attachment subnets to route 0.0.0.0/0 to this single NAT Gateway. Authorize the association of vpc-app-prod with the services.corp.internal Private Hosted Zone from the Shared Services Account, then associate the VPC from the Application Account. Configure the private subnet route tables in vpc-app-prod to route 0.0.0.0/0 to tgw-central, and configure the Transit Gateway route table associated with vpc-app-prod to route 0.0.0.0/0 to the vpc-net-egress attachment.
- CDeploy a NAT Gateway in a public subnet in both us-east-1a and us-east-1b within vpc-net-egress. Configure tgw-central with a single route table where route propagation is enabled for all VPC attachments. Configure a static route in tgw-central for 0.0.0.0/0 pointing directly to the Internet Gateway of vpc-net-egress. Configure the Route 53 Resolver in the Application Account to use an outbound resolver endpoint in vpc-app-prod that forwards DNS queries for services.corp.internal to the inbound resolver endpoint in vpc-shared-services.
- DDeploy a NAT Gateway in a public subnet in both us-east-1a and us-east-1b within vpc-net-egress. In vpc-net-egress, configure the route tables associated with the Transit Gateway attachment subnets to direct traffic destined for 0.0.0.0/0 to the local NAT Gateway in the same Availability Zone. Configure the private subnet route tables in vpc-app-prod to route 0.0.0.0/0 to tgw-central. Rely on the active Transit Gateway attachments to automatically forward DNS queries for services.corp.internal from vpc-app-prod to the DNS servers in vpc-shared-services without explicit cross-account VPC association.