Bird
Raised Fist0
AWScloud~5 mins

Failover routing for disaster recovery in AWS - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes, a website or app server can stop working because of problems like power outages or network issues. Failover routing helps automatically switch users to a backup server so the service keeps working without interruption.
When your main website server goes down and you want users to reach a backup server automatically.
When you have two data centers and want traffic to go to the second one if the first fails.
When you want to avoid downtime during server maintenance by switching traffic temporarily.
When you want to improve reliability by having a standby server ready to take over.
When you want to protect your app from disasters like floods or fires affecting one location.
Config File - failover-routing.json
failover-routing.json
{
  "Comment": "Create a failover routing policy for disaster recovery",
  "Changes": [
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "example.com.",
        "Type": "A",
        "SetIdentifier": "Primary",
        "Failover": "PRIMARY",
        "TTL": 60,
        "ResourceRecords": [
          {"Value": "192.0.2.1"}
        ],
        "HealthCheckId": "replace-with-health-check-id"
      }
    },
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "example.com.",
        "Type": "A",
        "SetIdentifier": "Secondary",
        "Failover": "SECONDARY",
        "TTL": 60,
        "ResourceRecords": [
          {"Value": "192.0.2.2"}
        ]
      }
    }
  ]
}

This JSON file defines two DNS records for the same domain using failover routing.

Primary record: Points to the main server IP (192.0.2.1) and is marked as PRIMARY. It should be associated with a health check to detect failures.

Secondary record: Points to the backup server IP (192.0.2.2) and is marked as SECONDARY.

Route 53 will send traffic to the primary IP unless it detects failure, then it switches to the secondary IP automatically.

TTL is set to 60 seconds to allow quick switching.

Commands
This command applies the failover routing policy by creating primary and secondary DNS records in the specified hosted zone.
Terminal
aws route53 change-resource-record-sets --hosted-zone-id Z3P5QSUBK4POTI --change-batch file://failover-routing.json
Expected OutputExpected
{ "ChangeInfo": { "Id": "/change/C2682N5HXP0BZ4", "Status": "PENDING", "SubmittedAt": "2024-06-01T12:00:00Z", "Comment": "Create a failover routing policy for disaster recovery" } }
→
--hosted-zone-id - Specifies the Route 53 hosted zone where DNS records are managed.
→
--change-batch - Points to the JSON file describing the DNS record changes.
This command checks that the primary and secondary DNS records for example.com are created and shows their details.
Terminal
aws route53 list-resource-record-sets --hosted-zone-id Z3P5QSUBK4POTI --query "ResourceRecordSets[?Name=='example.com.']"
Expected OutputExpected
[ { "Name": "example.com.", "Type": "A", "SetIdentifier": "Primary", "Failover": "PRIMARY", "TTL": 60, "ResourceRecords": [ {"Value": "192.0.2.1"} ] }, { "Name": "example.com.", "Type": "A", "SetIdentifier": "Secondary", "Failover": "SECONDARY", "TTL": 60, "ResourceRecords": [ {"Value": "192.0.2.2"} ] } ]
→
--hosted-zone-id - Specifies the hosted zone to query.
→
--query - Filters output to show only records for example.com.
Key Concept

If the primary server fails, failover routing automatically sends users to the backup server to keep your service running.

Common Mistakes
Not setting the Failover attribute correctly on DNS records.
Route 53 won't know which record is primary or secondary, so failover won't work.
Always set Failover to PRIMARY for main and SECONDARY for backup records.
Using long TTL values for failover records.
DNS caches the old IP too long, delaying failover to the backup server.
Use a low TTL like 60 seconds to allow quick switching.
Not monitoring health checks linked to the primary record.
Failover depends on health checks to detect failure; without them, failover won't trigger.
Configure health checks and associate them with the primary DNS record.
Summary
Create DNS records with failover routing by marking one as PRIMARY and another as SECONDARY.
Apply the routing policy using AWS CLI with a JSON change batch file.
Verify the records exist and are correctly configured to enable automatic failover.

Practice

(1/5)
1. What is the main purpose of failover routing in disaster recovery?
easy
A. To block all traffic during maintenance
B. To increase the speed of the primary server
C. To reduce the cost of cloud services
D. To automatically send users to a backup server if the main server fails

Solution

  1. Step 1: Understand failover routing purpose

    Failover routing is designed to keep services available by switching traffic to a backup if the main server fails.
  2. Step 2: Eliminate unrelated options

    Options about speed, cost, or blocking traffic do not describe failover routing's main goal.
  3. Final Answer:

    To automatically send users to a backup server if the main server fails -> Option D
  4. Quick Check:

    Failover routing = automatic backup switch [OK]
Hint: Failover means switch to backup when main fails [OK]
Common Mistakes:
  • Confusing failover with performance improvement
  • Thinking failover blocks traffic
  • Assuming failover reduces costs
2. Which AWS Route 53 routing policy is used to implement failover routing?
easy
A. Geolocation routing policy
B. Latency routing policy
C. Failover routing policy
D. Weighted routing policy

Solution

  1. Step 1: Identify routing policies in Route 53

    Route 53 offers several routing policies, including latency, geolocation, weighted, and failover.
  2. Step 2: Match failover routing policy to disaster recovery

    Failover routing policy is specifically designed to route traffic to a backup when the primary fails.
  3. Final Answer:

    Failover routing policy -> Option C
  4. Quick Check:

    Failover routing policy = failover setup [OK]
Hint: Failover routing policy is named for failover use [OK]
Common Mistakes:
  • Choosing latency or weighted policies for failover
  • Confusing geolocation with failover
  • Not knowing Route 53 routing policy names
3. Given this Route 53 failover setup: Primary health check fails, what happens to user traffic?
Primary: IP 10.0.0.1 (health check enabled)
Secondary: IP 10.0.0.2 (backup)
medium
A. Traffic switches to secondary IP 10.0.0.2
B. Traffic is split evenly between primary and secondary
C. Traffic is blocked until primary recovers
D. Traffic continues to primary IP 10.0.0.1

Solution

  1. Step 1: Understand health check failure effect

    If the primary health check fails, Route 53 detects the primary is unhealthy.
  2. Step 2: Apply failover routing behavior

    Failover routing sends traffic to the secondary (backup) IP when primary is unhealthy.
  3. Final Answer:

    Traffic switches to secondary IP 10.0.0.2 -> Option A
  4. Quick Check:

    Primary down = traffic to backup [OK]
Hint: Failover sends traffic to backup if primary fails health check [OK]
Common Mistakes:
  • Assuming traffic stays on primary despite failure
  • Thinking traffic is blocked during failover
  • Believing traffic splits evenly without weighting
4. You configured failover routing but traffic never switches to the backup server during primary failure. What is the most likely cause?
medium
A. Latency routing policy is used instead of failover
B. Health check is not associated with the primary record
C. Backup server IP address is incorrect
D. TTL value is set to zero

Solution

  1. Step 1: Check health check association

    Failover routing requires the primary record to have a health check to detect failure.
  2. Step 2: Understand impact of missing health check

    If the health check is missing or not linked, Route 53 never detects primary failure, so no failover occurs.
  3. Final Answer:

    Health check is not associated with the primary record -> Option B
  4. Quick Check:

    Failover needs health check linked to primary [OK]
Hint: Failover needs health check linked to primary record [OK]
Common Mistakes:
  • Ignoring health check association
  • Blaming backup IP without checking health check
  • Confusing routing policies
  • Misunderstanding TTL effects
5. You want to design a disaster recovery setup using Route 53 failover routing with two regions: primary in us-east-1 and backup in us-west-2. Which configuration ensures automatic failover with minimal downtime?
hard
A. Create two records with failover routing; primary record with health check in us-east-1, secondary record without health check in us-west-2
B. Create two records with weighted routing; assign 100% weight to primary and 0% to backup
C. Create two records with geolocation routing; route us-east traffic to primary and us-west traffic to backup
D. Create two records with latency routing; primary in us-east-1 and backup in us-west-2

Solution

  1. Step 1: Understand failover routing setup

    Failover routing requires a primary record with a health check and a secondary record without a health check as backup.
  2. Step 2: Evaluate options for disaster recovery

    Create two records with failover routing; primary record with health check in us-east-1, secondary record without health check in us-west-2 correctly sets primary with health check and backup without health check, enabling automatic failover.
  3. Step 3: Eliminate other options

    Weighted routing does not provide automatic failover; geolocation routes by location, not health; latency routing routes by speed, not failure.
  4. Final Answer:

    Create two records with failover routing; primary record with health check in us-east-1, secondary record without health check in us-west-2 -> Option A
  5. Quick Check:

    Failover needs primary health check and backup record [OK]
Hint: Primary needs health check; backup record no health check [OK]
Common Mistakes:
  • Using weighted routing instead of failover
  • Assigning health check to backup record
  • Confusing geolocation with failover
  • Expecting latency routing to handle failover
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard