An enterprise runs a multi-tier financial transaction system across two AWS accounts in an AWS Organization: Account A (Application) and Account B (Data).
In Account A, the application tier is deployed on Amazon EC2 instances in an Auto Scaling group behind an internal Application Load Balancer (ALB) across three Availability Zones in a primary VPC (VPC-App) in us-east-1. Outbound internet traffic to external payment processing endpoints is routed through a single NAT Gateway located in us-east-1a.
In Account B, database transactions are managed by an Amazon Aurora PostgreSQL Global Database. The primary cluster is in us-east-1 (VPC-Data), and a secondary read-only cluster is in us-east-2 (VPC-DR).
The application in VPC-App (Account A) queries the database in VPC-Data (Account B) using a private domain db.internal.corp. The Private Hosted Zone (PHZ) for db.internal.corp is created and hosted in Account B.
A recent Availability Zone outage in us-east-1a degraded the NAT Gateway, causing payment processing to fail. During the subsequent recovery attempt, operator confusion between managed and unplanned global database failovers delayed database promotion to us-east-2 by over 30 minutes. Additionally, recovery EC2 instances provisioned in us-east-2 failed to resolve the database's private domain db.internal.corp.
To prevent future outages, a Solutions Architect must design a disaster recovery (DR) and resiliency strategy that achieves a Recovery Time Objective (RTO) of 10 minutes and a Recovery Point Objective (RPO) of 1 minute. The secondary application tier in us-east-2 must remain dormant or at minimal capacity until a failover is declared.
Which set of actions should the Solutions Architect implement to satisfy these requirements?
- ADeploy a single NAT Gateway in VPC-App to minimize runtime costs, routing traffic from all private subnets to it. In Account B, share the db.internal.corp Private Hosted Zone with Account A using AWS Resource Access Manager (RAM). During a us-east-1 outage, execute a managed failover of the Aurora Global Database to us-east-2 to ensure zero data loss. Maintain a pilot light DR pattern in us-east-2, restoring the database from Daily Amazon S3 backups when a failover is required.
- Deploy a NAT Gateway in each Availability Zone of VPC-App and update subnet routing tables accordingly. In Account B, authorize the association of the db.internal.corp Private Hosted Zone with VPC-App and the recovery VPC in us-east-2 using the AWS CLI or SDK; accept the associations in Account A. During a us-east-1 outage, perform an unplanned failover of the Aurora Global Database to promote the us-east-2 secondary cluster. Implement a warm standby DR pattern in us-east-2 with Auto Scaling groups running at minimal capacity, shifting traffic using Route 53 Application Recovery Controller routing controls.Cevap
- CMaintain the single NAT Gateway in us-east-1a. Associate the db.internal.corp Private Hosted Zone in Account B with the shared AWS Transit Gateway to enable automatic DNS resolution in Account A. During an outage, initiate an unplanned failover of the Aurora Global Database to us-east-2. Implement a warm standby in us-east-2, using Route 53 active-active failover with public Route 53 health checks configured to query the private IP addresses of the application EC2 instances directly.
- DDeploy a NAT Gateway in each Availability Zone of VPC-App. In Account B, share the db.internal.corp Private Hosted Zone with Account A using AWS Resource Access Manager (RAM). During a us-east-1 outage, perform a managed failover of the Aurora Global Database to us-east-2. Configure a pilot light DR pattern in us-east-2, keeping all EC2 instances stopped, and use Route 53 failover records linked to CloudWatch alarms in us-east-1 that monitor the primary Aurora database cluster's status.