Question

Difficulty: HardRoute 53 Routing Policies and DNS Failover Strategies

An organization is designing a highly resilient, low-latency API gateway endpoint for a global mobile application. The backend microservices are deployed on Amazon ECS behind Application Load Balancers (ALBs) in the `us-east-1` and `eu-west-1` regions. The business requires that users are routed to the closest region under normal operating conditions. If the ECS tasks in a region fail, Route 53 must automatically route traffic away from that region. Additionally, the failover mechanism must verify that the API returns a specific JSON status payload containing \"status\": \"healthy\", which is returned by a deep health check endpoint. Which two configurations should a solutions architect implement to meet these requirements? (Select two.)

  1. Create Route 53 HTTPS health checks with string matching configured to verify the string \"status\": \"healthy\" is present, ensuring the health check endpoint returns this payload within the first 51205{}120 bytes of the response.Answer
  2. Create Latency alias records in Route 53 pointing to the Application Load Balancer in each region, set Evaluate Target Health to Yes, and associate each record with the corresponding custom HTTPS health check.Answer
  3. C
    Create Latency CNAME records pointing to each region's ALB DNS name, enable Evaluate Target Health on these records, and associate them with the custom HTTPS health checks.
  4. D
    Configure Failover routing records for each region, and configure the Route 53 health checks to monitor the database tier and automatically trigger an Amazon RDS read replica promotion in the event of an outage.
  5. E
    Configure a warm standby disaster recovery policy using Failover routing records, and configure a custom health check with a 300300-second evaluation interval to prevent premature failover while the secondary region ECS tasks scale up.

Answer

The correct configurations are to create Route 53 HTTPS health checks with string matching for the specific JSON payload within the first 51205{}120 bytes, and to create Latency alias records pointing to each Application Load Balancer with Evaluate Target Health set to Yes, associated with the health checks.
The solution requires latency-based routing to ensure users are directed to the closest region under normal conditions. This is achieved by creating Latency alias records in Route 53 pointing to the Application Load Balancers (ALBs) in both regions. Setting 'Evaluate Target Health' to Yes ensures Route 53 automatically evaluates the health of the ALB and its targets. Furthermore, to verify the specific JSON response payload, a custom HTTPS health check with string matching must be associated with the records. Because Route 53 string matching only evaluates the first 51205{}120 bytes of a response body, the API status endpoint must return the required payload within this limit.

Step-by-Step Solution

1
Configure a custom Route 53 HTTPS health check with string matching.
A custom health check is created that monitors the deep health check endpoint and searches for the string \"status\": \"healthy\" within the first 51205{}120 bytes of the response body.
Route 53 string matching health checks are limited to searching the first 51205{}120 bytes of the response body, which matches the business requirement to verify the status payload.
2
Configure active-active latency-based routing with alias records and target health evaluation.
Latency alias records are created pointing to each regional Application Load Balancer with Evaluate Target Health set to Yes and associated with the custom health checks.
Alias records are required to use the Evaluate Target Health feature. Latency routing directs traffic to the closest region, and setting Evaluate Target Health to Yes ensures Route 53 shifts traffic away if the health check fails.

Key Concept

To implement active-active latency routing with deep health checking in Route 53, you must use Latency alias records (not CNAMEs) to support 'Evaluate Target Health', and configure custom HTTPS health checks with string matching that respects the 51205{}120-byte payload limit.
Rate this question