Bird
Raised Fist0
AWScloud~5 mins

Route 53 with ELB integration in AWS - Commands & Configuration

Choose your learning style10 modes available
Introduction
When you want your website to be reachable by a friendly name instead of an IP address, you use Route 53 to manage domain names. Integrating Route 53 with an Elastic Load Balancer (ELB) helps direct traffic to your application servers automatically and reliably.
When you want users to access your app using a domain name like example.com instead of an IP address.
When you have multiple servers behind a load balancer and want Route 53 to send traffic to the load balancer.
When you want automatic failover if one server goes down, using ELB's health checks.
When you want to manage DNS records easily in AWS for your web applications.
When you want to use AWS services to handle both domain names and traffic distribution.
Config File - elb-route53.json
elb-route53.json
{
  "Comment": "Create alias record for ELB in Route 53",
  "Changes": [
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "example.com.",
        "Type": "A",
        "AliasTarget": {
          "HostedZoneId": "Z35SXDOTRQ7X7K", 
          "DNSName": "my-load-balancer-1234567890.us-east-1.elb.amazonaws.com.",
          "EvaluateTargetHealth": false
        }
      }
    }
  ]
}

This JSON file is used with the AWS CLI to create an alias record in Route 53.

Name is your domain name.

Type A means it points to an IPv4 address or alias.

AliasTarget points to your ELB's DNS name and hosted zone ID.

EvaluateTargetHealth set to false means Route 53 won't check ELB health for routing.

Commands
This command creates an alias record in Route 53 pointing your domain to the ELB. It uses the JSON file to specify the record details.
Terminal
aws route53 change-resource-record-sets --hosted-zone-id Z3P5QSUBK4POTI --change-batch file://elb-route53.json
Expected OutputExpected
{ "ChangeInfo": { "Id": "/change/C2682N5HXP0BZ4", "Status": "PENDING", "SubmittedAt": "2024-06-01T12:00:00Z", "Comment": "Create alias record for ELB in Route 53" } }
→
--hosted-zone-id - Specifies the Route 53 hosted zone where the record will be created.
→
--change-batch - Points to the JSON file with the record change details.
This command checks that the alias record for example.com was created and points to the ELB.
Terminal
aws route53 list-resource-record-sets --hosted-zone-id Z3P5QSUBK4POTI --query "ResourceRecordSets[?Name == 'example.com.']"
Expected OutputExpected
[ { "Name": "example.com.", "Type": "A", "AliasTarget": { "HostedZoneId": "Z35SXDOTRQ7X7K", "DNSName": "my-load-balancer-1234567890.us-east-1.elb.amazonaws.com.", "EvaluateTargetHealth": false } } ]
→
--hosted-zone-id - Specifies the hosted zone to query.
→
--query - Filters output to show only the record for example.com.
Key Concept

If you remember nothing else from this pattern, remember: Route 53 alias records let you point your domain name directly to an ELB without needing an IP address.

Common Mistakes
Using the ELB DNS name without the trailing dot in the AliasTarget DNSName.
Without the trailing dot, Route 53 treats it as a relative name and the record creation fails.
Always include the trailing dot at the end of the ELB DNS name in the AliasTarget.
Using the wrong HostedZoneId for the ELB in the AliasTarget.
Each ELB has a specific hosted zone ID; using the wrong one causes Route 53 to reject the alias record.
Find the correct ELB hosted zone ID from AWS documentation or by describing the ELB and use it exactly.
Trying to create a CNAME record for the root domain (example.com) instead of an alias A record.
DNS standards do not allow CNAME records at the root domain, causing DNS resolution issues.
Use an alias A record in Route 53 for root domains pointing to ELB.
Summary
Create a JSON file defining an alias A record pointing your domain to the ELB DNS name with the correct hosted zone ID.
Use the AWS CLI command 'change-resource-record-sets' with the JSON file to create the record in Route 53.
Verify the record creation by listing resource record sets filtered by your domain name.

Practice

(1/5)
1. What is the main benefit of using a Route 53 alias record with an Elastic Load Balancer (ELB)?
easy
A. It allows you to point your domain directly to the ELB without using an IP address.
B. It automatically creates a backup server for your website.
C. It encrypts all traffic between users and the ELB.
D. It reduces the cost of running the ELB.

Solution

  1. Step 1: Understand Route 53 alias records

    Alias records let you point your domain name to AWS resources like ELB without needing an IP address.
  2. Step 2: Recognize ELB integration benefit

    This simplifies DNS management and handles ELB IP changes automatically.
  3. Final Answer:

    It allows you to point your domain directly to the ELB without using an IP address. -> Option A
  4. Quick Check:

    Alias record points domain to ELB without IP [OK]
Hint: Alias records link domains to ELB without IPs [OK]
Common Mistakes:
  • Thinking alias records create backups
  • Confusing alias with encryption
  • Assuming alias reduces ELB cost
2. Which of the following is the correct way to create a Route 53 alias record pointing to an ELB in the AWS console?
easy
A. Create a CNAME record pointing to the ELB's IP address.
B. Create an A record and enter the ELB's IP address manually.
C. Create an A record and select 'Alias' with the ELB as the target.
D. Create a TXT record with the ELB's DNS name.

Solution

  1. Step 1: Know Route 53 record types for ELB

    ELB does not have fixed IPs, so you cannot use IP addresses directly.
  2. Step 2: Use alias A record

    Route 53 allows creating an A record with alias enabled, selecting the ELB DNS name as target.
  3. Final Answer:

    Create an A record and select 'Alias' with the ELB as the target. -> Option C
  4. Quick Check:

    Alias A record points to ELB DNS [OK]
Hint: Use alias A record, not IP or CNAME for ELB [OK]
Common Mistakes:
  • Using IP address for ELB
  • Choosing CNAME instead of alias A record
  • Using TXT record incorrectly
3. Given a Route 53 setup with an alias record pointing to an ELB, what happens if the ELB becomes unhealthy and fails its health checks?
medium
A. Route 53 continues sending traffic to the ELB regardless of health status.
B. Route 53 automatically stops sending traffic to the ELB until it is healthy again.
C. Route 53 deletes the alias record automatically.
D. Route 53 redirects traffic to a backup IP address.

Solution

  1. Step 1: Understand Route 53 health checks with ELB

    Route 53 alias records pointing to ELB do not automatically stop sending traffic if the ELB is unhealthy because ELB manages its own health and traffic routing internally.
  2. Step 2: Behavior on ELB failure

    Route 53 continues to resolve the alias record to the ELB DNS name regardless of ELB health status; ELB itself stops routing traffic to unhealthy targets.
  3. Final Answer:

    Route 53 continues sending traffic to the ELB regardless of health status. -> Option A
  4. Quick Check:

    Route 53 alias records do not perform health-based routing for ELB [OK]
Hint: ELB manages health; Route 53 alias does not stop traffic [OK]
Common Mistakes:
  • Thinking Route 53 stops traffic to unhealthy ELB
  • Assuming Route 53 deletes records on failure
  • Believing Route 53 redirects to IP automatically
4. You created a Route 53 alias record to an ELB, but your website is not reachable. Which of the following is the most likely cause?
medium
A. The domain name is missing a trailing dot in the alias record.
B. The alias record is set as a CNAME instead of an A record with alias enabled.
C. The alias record points to the ELB DNS name, but the ELB is in a different AWS region than the hosted zone.
D. The ELB does not have any registered healthy targets.

Solution

  1. Step 1: Check ELB target health

    If ELB has no healthy targets, it cannot serve traffic, causing website unreachable.
  2. Step 2: Verify alias record and region

    Alias records can point across regions; CNAME is invalid for alias; trailing dot is not required for alias.
  3. Final Answer:

    The ELB does not have any registered healthy targets. -> Option D
  4. Quick Check:

    Healthy targets needed for ELB to serve traffic [OK]
Hint: Check ELB target health if site unreachable [OK]
Common Mistakes:
  • Confusing alias record type
  • Assuming region mismatch breaks alias
  • Thinking trailing dot is required
5. You want to configure Route 53 to route traffic to two ELBs in different regions for high availability. Which setup ensures traffic is sent only to healthy ELBs and balances load between them?
hard
A. Create two CNAME records with the same domain name pointing to each ELB's DNS name.
B. Create two alias A records with the same domain name, each pointing to one ELB, and enable health checks on both records.
C. Create a single alias A record pointing to the ELB in the primary region and manually switch to the other ELB if failure occurs.
D. Create two alias A records with different domain names and use a third DNS service to balance traffic.

Solution

  1. Step 1: Use alias A records with health checks

    Route 53 supports multiple alias records with health checks to route traffic only to healthy ELBs.
  2. Step 2: Load balancing across regions

    By creating two alias records with health checks, Route 53 can balance traffic and failover automatically.
  3. Final Answer:

    Create two alias A records with the same domain name, each pointing to one ELB, and enable health checks on both records. -> Option B
  4. Quick Check:

    Multiple alias records + health checks = HA and load balancing [OK]
Hint: Use multiple alias records with health checks for HA [OK]
Common Mistakes:
  • Using CNAME for ELB alias
  • Manual failover instead of health checks
  • Using different domain names for ELBs
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