How do you create a zone apex alias that points to a Elastic Load Balancer in the Route 53 GUI?

19,441

Solution 1

A engineer on the Route 53 team informed me that creating the proprietary alias can be created in the Route 53 Console (the GUI).

Here are the steps.

  1. click create record set
  2. for zone apex record just leave the name field blank
  3. select the type of alias you want to make A or AAAA (all steps after this are the same for both types)
  4. Select the yes radio button.
  5. Open the EC2 console in another tab and navigate to the list of your load balancers.
  6. Click on the load balancer and look at the description tab in the pane below the list. Sample output below

DNS Name: new-balancer-751654286.us-east-1.elb.amazonaws.com (A Record)
ipv6.new-balancer-751654286.us-east-1.elb.amazonaws.com (AAAA Record)
dualstack.new-balancer-751654286.us-east-1.elb.amazonaws.com (A or AAAA Record)

Note: Because the set of IP addresses associated with a LoadBalancer can change over time, you should never create an “A” record with any specific IP address. If you want to use a friendly DNS name for your LoadBalancer instead of the name generated by the Elastic Load Balancing service, you should create a CNAME record for the LoadBalancer DNS name, or use Amazon Route 53 to create a hosted zone. For more information, see the Using Domain Names With Elastic Load Balancing at http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html.

Status: 0 of 0 instances in service

Port Configuration: 80 (HTTP) forwarding to 80 (HTTP)

Stickiness: Disabled(edit)

Availability Zones: us-east-1b

Source Security Group: amazon-elb-sg

Owner Alias: amazon-elb

Hosted Zone ID: Z3DZXD0Q79N41H

  1. Now copy the Hosted zone ID in the above case ‘ Z3DZXD0Q79N41H’ and paste it into the field labeled ‘Alias Hosted Zone ID:’
  2. Now copy the DNS Name in the above case ‘ new-balancer-751654286.us-east-1.elb.amazonaws.com‘ and paste into the field ‘ Alias DNS Name:’ -Just an FYI this DNS name is the same for both A and AAAA alias records. (do not use ‘ ipv6.new-balancer-751654286.us-east-1.elb.amazonaws.com‘)
  3. Click create record set or at this time you can select yes to weight the record and provide a weight between 0-255 and a setID such as ‘my load balancer’

Solution 2

For an authoritative answer you should talk to Amazon AWS, the creators of Amazon Route 53. However, it's a very reasonable guess that Route 53 probably doesn't permit creating CNAME's (aliases) at the zone apex, since DNS doesn't support this.

There are initiatives/discussions to allow CNAME's at the zone apex underway. But a standard would have to be finalized and then implemented by 'most' public DNS caches -- something which is likely to take years at best.

However, do notice that Route 53 together with Amazon Elastic Load Balancer (ELB) now supports proprietary aliases to ELB load balancers at the zone apex. Those are not published to DNS as CNAME's, they're handled by internally translating the aliases to A-Records on the fly, and publishing the A-Records.

Share:
19,441

Related videos on Youtube

Jeff Loughridge
Author by

Jeff Loughridge

I am a co-founder of Konekti Systems. We advise our clients on all aspects of public cloud networking. Our typical engagements involve Virtual Private Cloud (VPC) design and cloud to on-premise connectivity. You can visit my company's site at https://konekti.us Proficiencies - • Amazon Web Services (AWS) platform, particularly in VPC and connecting physical data centers to VPCs • VPC design • Networking of virtualized workloads • Technical design, development, and implementation of end-to-end IP infrastructure • IP routing protocol design – IS-IS, OSPF, BGP • Cisco and Juniper router configuration • Linux system administration and networking • Network automation tools and protocols - PyEZ, NETCONF • DevOps tools - Ansible, Jenkins, Docker, git • Python programming You can reach me at [email protected]

Updated on September 18, 2022

Comments

  • Jeff Loughridge
    Jeff Loughridge over 1 year

    I created aliases for my domain name's zone apex using the ELB CLI as described in Elastic Load Balancing Developer Guide. I also added a AAAA record using the --rr-type AAAA flag, which is not described in the guide.

    The Route 53 GUI is populated after I execute the elb-associate-route53-hosted-zone commands for A and AAAA records. I recorded how the records look in the GUI, deleted the records, and tried to re-create using the GUI only. I receive the following error.

    RRSet with DNS name example.com., type A contains an alias target that contains a hosted zone that is an invalid alias target.

    I would like to use the Route 53 GUI to perform this operation. Does the Route 53 GUI support the creation of a zone apex alias that points to a Elastic Load Balancer?

  • Jeff Loughridge
    Jeff Loughridge over 12 years
    Thank you. Your answer is very good in providing context about CNAMEs at the zone apex and the proprietary method that AWS uses for ELBs. I'm interested to see if anyone chimes in about whether AWS's hack can be initiated from the Route 53 GUI.
  • slm
    slm over 11 years
    Could you include a high level summary of the solution here as well? It's typically frowned upon to just post links as answers.
  • Guss
    Guss almost 10 years
    Currently it is much simpler in the Route 53 GUI - just select "Alias -> Yes", and then click the "Alias Target" edit box and that will open a list that includes all the ELBs that are set up for your account. Select the one you want to use and it will populate the zone ID automatically.