Question

Difficulty: MediumRoute 53 DNS Failover

A company uses Amazon Route 53 active-passive failover to route traffic to a primary web application in the us-east-1 Region. The primary DNS record is associated with a Route 53 health check that monitors a CloudWatch alarm. This alarm is configured to monitor a custom metric, ApplicationErrorCount, which is only published to CloudWatch when the application encounters internal server errors. During periods of no traffic, no metrics are published, causing the CloudWatch alarm to enter the INSUFFICIENT_DATA state. This transitions the Route 53 health check to unhealthy, triggering an undesired failover to the passive region. Which configuration change will prevent the undesired failovers while maintaining automated failover capability?

  1. A
    Modify the primary Route 53 record's routing policy to weighted routing, assigning a weight of 100 to the primary record and a weight of 0 to the secondary record.
  2. Configure the Route 53 health check to treat the INSUFFICIENT_DATA state of the CloudWatch alarm as "Healthy".Answer
  3. C
    Enable detailed monitoring on the application's EC2 instances to ensure metrics are reported at 1-minute intervals, keeping the CloudWatch alarm in the OK state.
  4. D
    Reconfigure the Application Load Balancer target group to use Multi-AZ deployment and automatically redirect traffic to a standby target group in another region without Route 53.

Answer

Configure the Route 53 health check to treat the INSUFFICIENT_DATA state of the CloudWatch alarm as "Healthy".
Configuring the Route 53 health check to treat the INSUFFICIENT_DATA state of the CloudWatch alarm as 'Healthy' solves the issue. When a Route 53 health check is configured to monitor a CloudWatch alarm, the administrator must specify how the health check behaves if the alarm has insufficient data. Since the custom metric ApplicationErrorCount is only published when errors occur, the alarm naturally enters the INSUFFICIENT_DATA state during healthy, low-traffic periods. Treating this state as 'Healthy' prevents false failovers.

Step-by-Step Solution

1
Analyze why the Route 53 health check is failing over during periods of no traffic.
The health check monitors a CloudWatch alarm that tracks a custom metric. The custom metric is only published when errors occur. Without traffic, no errors occur, causing no data to be published and the alarm to transition to the INSUFFICIENT_DATA state.
Understanding the source of the false unhealthy status is necessary to target the correct setting.
2
Determine the behavior of Route 53 health status when a CloudWatch alarm enters the INSUFFICIENT_DATA state.
By default or if misconfigured, Route 53 can treat INSUFFICIENT_DATA as unhealthy, which triggers the failover.
Identifying the relationship between the alarm's state and Route 53's evaluation of that state.
3
Configure the Route 53 health check's 'health status if insufficient data' setting.
Changing the setting to 'Healthy' ensures that the Route 53 health check remains healthy when the alarm has no data, preventing failover unless the alarm explicitly enters the ALARM state.
This resolves the false failover behavior while maintaining automatic failover when errors actually occur and trigger the ALARM state.

Key Concept

Route 53 DNS Failover using CloudWatch Alarm Health Checks
Estimated Time:1m 30s
Rate this question