Question

Difficulty: HardRoute 53 DNS Failover

A company uses Amazon Route 53 for active-passive failover routing. The primary record is a non-Alias A record with a TTL of 300 seconds pointing to an on-premises application server. The secondary record points to a static maintenance page hosted on Amazon S3. To monitor the primary server, a custom script on-premises publishes a heartbeat metric to Amazon CloudWatch every 60 seconds. A CloudWatch alarm is configured to trigger if the heartbeat is missing for 3 consecutive periods. A Route 53 health check is set up to monitor the state of this CloudWatch alarm and is associated with the primary A record. During a network outage, the on-premises server is disconnected, causing the CloudWatch alarm to enter the INSUFFICIENT_DATA state. Users continue to experience connection timeouts because they are still routed to the primary server. Which of the following is the correct configuration change to resolve this issue and minimize client failover time?

  1. A
    Enable 'Evaluate Target Health' on the primary A record to force Route 53 to actively query the on-premises public IP, and reduce the record's TTL.
  2. B
    Enable detailed monitoring for the custom metric in CloudWatch to ensure it updates at 1-minute intervals, and configure the alarm to trigger immediately without waiting for 3 consecutive periods.
  3. Configure the Route 53 health check to treat INSUFFICIENT_DATA as unhealthy, and reduce the TTL of the primary A record to a lower value such as 60 seconds.Answer
  4. D
    Configure the primary record as an Alias record pointing to an RDS Multi-AZ DB instance, and configure Route 53 to use the Multi-AZ automated failover mechanism.

Answer

Configure the Route 53 health check to treat INSUFFICIENT_DATA as unhealthy, and reduce the TTL of the primary A record to a lower value such as 60 seconds.
The correct response is to configure the Route 53 health check to treat the INSUFFICIENT_DATA state as unhealthy and to reduce the TTL of the primary record. By default, Route 53 health checks configured to monitor CloudWatch alarms consider the INSUFFICIENT_DATA state to be healthy. When the on-premises network fails, the server stops publishing metrics, causing the alarm to have insufficient data. Setting the health check to treat this state as unhealthy triggers the failover. Reducing the TTL to 60 seconds ensures that clients discard cached DNS entries quickly and query Route 53 again to receive the secondary endpoint's IP address.

Step-by-Step Solution

1
Analyze the state of the CloudWatch alarm during the network outage.
The alarm enters the INSUFFICIENT_DATA state because the metric is no longer being published by the on-premises script.
To understand the input signal the Route 53 health check receives during an outage.
2
Identify the Route 53 health check's behavior for the alarm's state.
By default, Route 53 health checks that monitor CloudWatch alarms treat the INSUFFICIENT_DATA state as healthy, meaning the health check remains green and failover is not triggered.
To determine why the active-passive failover configuration did not transition to the secondary S3 page.
3
Adjust the health check settings and the record caching parameters.
Change the health check to treat insufficient data as unhealthy to trigger the failover. Reduce the primary A record TTL from 300 seconds to 60 seconds to ensure client DNS caches expire quickly.
To minimize both detection time and client cut-over propagation time.

Key Concept

Route 53 Health Checks monitoring CloudWatch Alarms and the impact of DNS TTL on failover propagation.
Estimated Time:2m 30s
Rate this question