Question

Difficulty: MediumEnhancing Reliability and Disaster Recovery

An enterprise runs a critical web application on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer (ALB) in the us-east-1 Region. The database tier uses an Amazon Aurora PostgreSQL Global Database with the primary cluster in us-east-1 and a secondary cluster in us-west-2. The company wants to improve their disaster recovery (DR) strategy to achieve a Recovery Time Objective (RTO) of 15 minutes and a Recovery Point Objective (RPO) of 1 minute. The company deploys a standby application tier in us-west-2. During a recent database outage in us-east-1, the application instances remained healthy but could not connect to the database. Because Route 53 was configured to only monitor the ALB endpoint health, DNS failover to us-west-2 did not trigger. Which architectural modification will meet these requirements and automate failover during database degradation?

  1. Implement an application-level health check endpoint (such as `/health`) on the Amazon EC2 instances that queries the Aurora database. Configure a Route 53 active-passive failover routing policy with a Route 53 health check monitoring the primary ALB pointing to the health check endpoint. Create an Amazon CloudWatch Alarm for the health check failure to trigger an AWS Lambda function that invokes the global database failover API to promote the secondary cluster in the recovery Region.Answer
  2. B
    Create a Route 53 active-passive failover routing policy pointing to the primary ALB in the primary Region and the secondary ALB in the recovery Region. Configure an AWS Lambda function to continuously poll the Aurora PostgreSQL database cluster status. If the primary cluster degrades, the Lambda function will promote the secondary cluster in the recovery Region and update the Route 53 DNS records manually via the Route 53 API.
  3. C
    Implement an application-level health check endpoint on the Amazon EC2 instances that checks Aurora database connectivity. Configure Route 53 active-passive failover routing policy with a Route 53 health check monitoring the primary ALB. Create a Route 53 Private Hosted Zone (PHZ) in the primary AWS account to resolve internal database endpoints, but do not associate the PHZ with the VPC in the recovery Region. Configure a Lambda function to promote the secondary Aurora cluster when the health check fails.
  4. D
    Modify the disaster recovery strategy to use a pilot light model by keeping the secondary Aurora PostgreSQL cluster in a stopped state to reduce ongoing database costs. Configure a Route 53 failover routing policy with a health check on the primary ALB. Upon health check failure, configure an AWS Lambda function to start the secondary Aurora PostgreSQL cluster and then perform a database promotion.

Answer

Implement an application-level health check endpoint that queries the database, associate it with a Route 53 active-passive failover policy, and trigger an AWS Lambda function via CloudWatch Alarms to perform Aurora global database failover.
The correct answer combines an application-level health check that queries the database with a Route 53 health check. This setup allows Route 53 to detect database connectivity failures and automatically redirect traffic. Additionally, an AWS Lambda function triggered by CloudWatch Alarms automates the Aurora Global Database managed failover, ensuring the secondary database is promoted within the 15-minute RTO and 1-minute RPO boundaries.

Step-by-Step Solution

1
Expose an application-level health check endpoint (e.g., `/health`) on the EC2 instances that verifies connectivity to the database.
The Application Load Balancer can evaluate the health of the target group based on database connectivity.
To ensure that database degradation propagates to the load balancer and Route 53, rather than only testing HTTP web server responsiveness.
2
Configure a Route 53 health check to monitor the primary Application Load Balancer endpoint targeting the `/health` path, and link it to the Route 53 primary failover record.
Route 53 will automatically fail over DNS routing to the standby region if the primary region's database connectivity is lost.
Route 53 active-passive failover requires an associated health check to dynamically redirect user traffic.
3
Create a CloudWatch Alarm on the Route 53 health check state and configure it to trigger an AWS Lambda function.
The Lambda function is executed automatically upon health check failure.
To automate the failover process of the database tier without manual intervention.
4
Program the Lambda function to invoke the AWS API to perform a managed failover of the Aurora Global Database to the recovery region.
The secondary Aurora cluster in the recovery region is promoted to primary, and the original primary cluster is demoted to secondary.
To achieve the 15-minute RTO and 1-minute RPO by promoting the active replication target without data loss.

Key Concept

Multi-region automated failover combining Route 53 active-passive failover routing, application-level health checks, and automated Aurora Global Database failover.
Estimated Time:2m 0s
Rate this question