Question

Difficulty: Very hardHigh Availability and Disaster Recovery Design

An energy management company is designing a disaster recovery (DR) architecture for a critical smart meter telemetry processing platform. The platform processes real-time data from millions of IoT devices. The company requires a Recovery Time Objective (RTO) of 15 minutes and a Recovery Point Objective (RPO) of 1 minute. The primary deployment is in the us-east-1 Region, and the DR target is the us-west-2 Region. The architecture consists of public Application Load Balancers (ALBs) routing requests to containerized backend tasks running on Amazon ECS on AWS Fargate in private subnets. The backend tasks must call an external third-party API over the internet to validate device payloads. The application's state is stored in an Amazon Aurora PostgreSQL database. The backend tasks resolve the database endpoint using a private DNS name, db.internal.telemetry. Which architecture meets these requirements with the lowest cost and operational complexity while maintaining high availability (HA) in the primary Region?

  1. Configure a Route 53 Active-Passive failover routing policy using Route 53 health checks on the primary ALB. Deploy Amazon Aurora Global Database with the primary cluster in us-east-1 and a secondary cluster in us-west-2 running a single reader instance. In both regions, run the ECS Fargate tasks across three Availability Zones (AZs) in private subnets, with Route Tables in each private subnet pointing to a dedicated NAT Gateway in the same AZ. Create a Route 53 Private Hosted Zone (PHZ) for db.internal.telemetry containing a CNAME record pointing to the local cluster endpoint, and associate this PHZ with both the us-east-1 and us-west-2 VPCs. Keep the ECS service in us-west-2 scaled to 0 tasks, and use an AWS Step Functions workflow to promote the secondary Aurora cluster and scale up the ECS service to the required capacity during failover.Answer
  2. B
    Configure a Route 53 Active-Passive failover routing policy using Route 53 health checks on the primary ALB. Deploy Amazon Aurora Global Database with the primary cluster in us-east-1 and a secondary cluster in us-west-2 running a single reader instance. In both regions, run the ECS Fargate tasks across three Availability Zones (AZs) in private subnets, with Route Tables in all three private subnets in us-east-1 pointing to a single NAT Gateway deployed in a single AZ. Create a Route 53 Private Hosted Zone (PHZ) for db.internal.telemetry containing a CNAME record pointing to the local cluster endpoint, and associate this PHZ with both the us-east-1 and us-west-2 VPCs. Keep the ECS service in us-west-2 scaled to 0 tasks, and use an AWS Step Functions workflow to promote the secondary Aurora cluster and scale up the ECS service during failover.
  3. C
    Configure a Route 53 Active-Passive failover routing policy using Route 53 health checks on the primary ALB. Deploy Amazon Aurora Global Database with the primary cluster in us-east-1 and a secondary cluster in us-west-2 running a single reader instance. In both regions, run the ECS Fargate tasks across three Availability Zones (AZs) in private subnets, with Route Tables in each private subnet pointing to a dedicated NAT Gateway in the same AZ. Create a Route 53 Private Hosted Zone (PHZ) for db.internal.telemetry containing a CNAME record pointing to the local cluster endpoint, but associate this PHZ only with the us-east-1 VPC. Keep the ECS service in us-west-2 scaled to 0 tasks, and use an AWS Step Functions workflow to promote the secondary Aurora cluster and scale up the ECS service during failover.
  4. D
    Configure a Route 53 Active-Passive failover routing policy using Route 53 health checks on the primary ALB. Set up AWS Backup to take hourly snapshots of the Aurora database in us-east-1 and copy them to us-west-2. In both regions, run the ECS Fargate tasks across three Availability Zones (AZs) in private subnets, with Route Tables in each private subnet pointing to a dedicated NAT Gateway in the same AZ. Create a Route 53 Private Hosted Zone (PHZ) for db.internal.telemetry containing a CNAME record pointing to the local cluster endpoint, and associate this PHZ with both the us-east-1 and us-west-2 VPCs. Keep the ECS service in us-west-2 scaled to 0 tasks, and use an AWS Step Functions workflow to restore the database from the copied snapshot and scale up the ECS service during failover.

Answer

The architecture using Route 53 Active-Passive failover, Amazon Aurora Global Database, multi-AZ ECS Fargate tasks with dedicated NAT Gateways per AZ, and a Private Hosted Zone associated with both VPCs satisfies the RTO, RPO, cost, and high availability requirements.
The correct architecture utilizes Route 53 Active-Passive failover to route external traffic to the healthy region. Aurora Global Database ensures that data is replicated continuously with sub-second latency, satisfying the 1-minute RPO. Operating the secondary region as a Warm Standby (with ECS tasks scaled to zero and a single small Aurora reader) minimizes idle resource costs. High availability in the primary region is preserved by deploying a NAT Gateway in each Availability Zone. The database private DNS name resolves correctly in both VPCs because the Route 53 Private Hosted Zone is associated with both the primary and secondary VPCs.

Step-by-Step Solution

1
Evaluate the RTO and RPO requirements
The 1-minute RPO requires continuous database replication. Aurora Global Database provides sub-second cross-region replication. The 15-minute RTO allows for automated scale-up of container workloads (ECS Fargate tasks takes ~2-3 minutes) and DB promotion (takes <1 minute).
To choose the appropriate database replication strategy (Aurora Global Database instead of hourly snapshots) and compute model (Warm Standby instead of Active-Active).
2
Ensure High Availability for outbound traffic in the primary region
Deploying dedicated NAT Gateways in each Availability Zone in us-east-1 ensures that if an AZ fails, the remaining zones maintain outbound connectivity to the external API.
Routing outbound traffic through a single NAT Gateway creates a single point of failure, violating the high availability requirement in the primary region.
3
Configure DNS resolution for microservices in the secondary region
Associate the Route 53 Private Hosted Zone with the VPCs in both us-east-1 and us-west-2.
If the Private Hosted Zone is only associated with the primary VPC, the ECS tasks in the disaster recovery region will be unable to resolve the database's private DNS name db.internal.telemetry during failover.
4
Optimize cost for the DR region
Scale the ECS service in the secondary region to 0 tasks during normal operations, and scale it up dynamically upon failover using AWS Step Functions automation.
Keeping container resources scaled down minimizes running costs when no failover event has occurred.

Key Concept

High Availability and Disaster Recovery Design

Alternative Method

Instead of using AWS Step Functions to orchestrate database promotion and service scaling, AWS Application Recovery Controller (ARC) routing controls and Aurora Global Database managed planned failover can be configured to coordinate and automate the failover process with minimal human intervention, although at a higher service cost.
Estimated Time:3m 0s
Rate this question