A company hosts a critical global multiplayer gaming backend in us-east-1. The backend utilizes Amazon Aurora MySQL for player profiles, session states, and game configuration data, and an Application Load Balancer (ALB) with Amazon ECS Fargate for the web API layer. The company needs to establish a Disaster Recovery (DR) strategy in us-west-2 with a Recovery Time Objective (RTO) of less than minutes and a Recovery Point Objective (RPO) of less than minute. They also want to minimize monthly standby running costs. Which of the following architectures meets these requirements?
- Configure Amazon Aurora Global Database with the primary cluster in us-east-1 and a secondary cluster in us-west-2. In us-west-2, deploy the ECS Fargate service with the desired task count set to . Configure Amazon Route 53 failover routing with health checks. During a failover event, promote the secondary Aurora cluster to primary, scale the ECS Fargate task count to the required capacity, and update the DNS records.Answer
- BDeploy an Amazon Aurora MySQL database with a cross-region Read Replica in us-west-2. Configure the ECS Fargate service in us-west-2 to run at full capacity. Use Amazon Route 53 latency-based routing to automatically failover application write traffic to the replica in us-west-2 if the primary region becomes unhealthy.
- CImplement a Backup and Restore strategy. Set up AWS Backup to take hourly snapshots of the Aurora database and copy them to Amazon S3 Glacier Flexible Retrieval in us-west-2. In us-west-2, keep the ECS Fargate task definition registered. Upon disaster, retrieve the backup from S3 Glacier using standard retrieval, restore the database, and launch the ECS Fargate tasks.
- DConfigure a Pilot Light strategy. Scale the ECS Fargate service in us-west-2 to tasks. To minimize database standby costs, stop the secondary Aurora DB instance in the secondary region. Configure an AWS Lambda function to start the instance during failover, expecting the database to start instantly and serve traffic with a recovery time of under minutes.
Answer
Configure Amazon Aurora Global Database with the primary cluster in us-east-1 and a secondary cluster in us-west-2. In us-west-2, deploy the ECS Fargate service with the desired task count set to . Configure Amazon Route 53 failover routing with health checks. During a failover event, promote the secondary Aurora cluster to primary, scale the ECS Fargate task count to the required capacity, and update the DNS records.
The configuration using Amazon Aurora Global Database and scaling ECS Fargate tasks to in the secondary region represents a Pilot Light strategy. Aurora Global Database keeps the primary and secondary databases synchronized via storage-level replication with sub-second replication latency, meeting the -minute RPO. Since no Fargate tasks are running in the secondary region during normal operations, standby compute costs are minimized. During a disaster, promoting the Aurora secondary cluster takes less than a minute, and scaling up the ECS Fargate tasks to full capacity takes a few minutes, which easily meets the -minute RTO requirement.
Step-by-Step Solution
Key Concept
Disaster recovery (DR) strategies on AWS involve trading off cost (standby resources) against Recovery Time Objective (RTO) and Recovery Point Objective (RPO). For RPO < minute and RTO < minutes with minimized costs, a Pilot Light strategy using Aurora Global Database (with secondary cluster running a minimal reader) and scaled-down compute (ECS Fargate task count set to ) is the most optimal architecture.