A logistics company operates a fleet tracking application across multiple AWS accounts within an AWS Organization. The primary application tier runs in the `us-west-2` region under Account A (Production), and an active-passive disaster recovery (DR) environment is established in `us-east-1` under Account B (Disaster Recovery). The database layer uses Amazon Aurora PostgreSQL. The application servers, hosted on Amazon EC2 instances in private subnets across Availability Zones, depend on an internal API gateway deployed in a shared services VPC in Account C (Shared Services). This internal dependency is resolved privately using a Route Private Hosted Zone (PHZ) hosted in Account C.
During a disaster recovery simulation, the following issues were documented:
1. Outbound telemetry data transmission to external APIs failed when a single Availability Zone (AZ) in `us-west-2` experienced an outage, because all private subnets were routing internet-bound traffic through a single NAT Gateway located in that AZ.
2. When the primary database was manually stopped to simulate a regional failure, client traffic was not redirected to `us-east-1` because the Route failover routing policy was monitoring the Application Load Balancer (ALB) health, which remained healthy as the web servers were still running and returning a OK status.
3. After database failover to `us-east-1` was forced, the application servers in Account B failed to resolve the internal API gateway domain hosted in Account C.
Which set of actions will resolve these issues while meeting a target Recovery Time Objective (RTO) of minutes and a Recovery Point Objective (RPO) of minute?
- Configure Amazon Aurora Global Database with the primary cluster in `us-west-2` and a secondary cluster in `us-east-1`. Deploy a NAT Gateway in each Availability Zone of the VPCs in both Account A and Account B. Create a Route health check targeting a custom deep health check endpoint on the application that actively queries the database. Authorize the Account B VPC to associate with the Account C Private Hosted Zone by running the `create-vpc-association-authorization` command from Account C, and then associate the VPC from Account B.Answer
- BImplement a backup plan using AWS Backup to copy Aurora snapshots from Account A to Account B every hours. Deploy a single NAT Gateway in each VPC to minimize idle resource costs. Create a Route health check targeting the ALB's default DNS name. Share the Route Private Hosted Zone from Account C with Account B using AWS Resource Access Manager, then associate the VPC in Account B.
- CConfigure Amazon Aurora Global Database with the primary cluster in `us-west-2` and a secondary cluster in `us-east-1`. Deploy a single NAT Gateway in a shared public subnet in each region to route all egress traffic. Set up a Route health check targeting a custom deep health check endpoint that queries the database. Establish a VPC peering connection between Account B and Account C to enable private resolution of the internal API gateway domain without associating the Private Hosted Zone.
- DConfigure Amazon Aurora Global Database with the primary cluster in `us-west-2` and a secondary cluster in `us-east-1`. Deploy a NAT Gateway in each Availability Zone of both VPCs. Configure Route failover records using the ALB's default health check. Create an inbound Route Resolver endpoint in Account C and associate the Private Hosted Zone with the Account B VPC directly from the Account B AWS Management Console without cross-account authorization.