Mapping Domain Names with, Elastic Beanstalk, Elastic Load Balancer and AWS Route 53

I finally wrapped up my name server and DNS mapping needs with, Route 53 and Elastic Beanstalk. Since this was a little confusing I thought a short write up was in order. Thanks to Evan @evandbrown for helping out!

The first thing needed is a delegation set of name servers for your DNS and name server provider. These can be found by creating a hosted zone. The way to do this is open up the AWS Management Console and navigate into the Route 53 management area. The Route 53 icon is under the Compute & Networking section on the management console.

Beanstalk, Route 53 - Click for full size image
Beanstalk, Route 53 – Click for full size image

Upon navigating to the Route 53 console area click on the Create Hosted Zones button.

Create Hosted Zone
Create Hosted Zone – Click for full size image

When the zone is created then the delegation set can be found under the Hosted Zone Details. This delegation set now needs setup as the name servers for whoever, in this case, is the domain provider.

Delegation Set - Click for full size image.
Delegation Set – Click for full size image.

Open up the management console for the name server administration.

Upon adding them the list should look something like this.

Name servers list built from the delegation set of the hosted zone. Click for full size image.
Name servers list built from the delegation set of the hosted zone. Click for full size image.

Once the name servers are setup, those will need time to propagate. Likely this could take a good solid chunk of time, somewhere in the hours range likely, and don’t be surprised if it takes a little bit more than a day.

While the propagation starts navigate back to the AWS Management Console and open up the EC2 section of the console. On the right hand side of the Resources list there is a Load Balancers section. Click it.

Load Balancers - Click for full size image.
Load Balancers – Click for full size image.

In this section there is a listing of all load balancers that have been created manually or by Elastic Beanstalk.

Load Balancers - Click for full size image.
Load Balancers – Click for full size image.

Make note of the Load Balancer Name for selection in Route 53. This is what Route 53 needs in order to point an alias at for incoming traffic to that particular Elastic Beanstalk application. In this particular image above there are 4 load balancers listed, the easiest way to prevent confusion is to take note of the load balancer name at the time of creation, but this is the easiest way to find them otherwise.

Record Set - Click for full size image
Record Set – Click for full size image

Now when going back to the hosted zone to set it up with the appropriate information, create a new record with the appropriate name, in this case I was setting up the (no it isn’t live yet, I just set it up to test it out) to point to an alias target. Just leave the Type set to A – IPv4 address and click the radio control so that Alias is set to Yes. In the alias target select the appropriate load balancer for the Elastic Beanstalk (or whatever it points to) application.

That’s it, give it a few hours (or a day) and eventually the domain or subdomain will be pointed appropriately at the Elastic Beanstalk load balanced application.


  1. Man, you are a lifesaver! Amazon needs to hire you to rewrite their instructions because they could use some work. Thanks!

  2. Thanks, this was helpful. Amazon’s docs are unnecessarily dense, and talk about taking note of the load balancer’s “hosted zone id”, but then never say to do anything with it, and seems like it’s not necessary, just the load balancer hostname.

    1. Yup. Amazon’s docs are definitely dense and don’t always have good working examples. That’s one reason I like to just fight through it and contribute back by writing simpler (I hope simpler) end to end examples! 🙂

  3. Many thanks for this post. I just brought up an Elastic Load Balancer/Elastic Beanstalk and I needed to remap my domain. Your write up was much clearer.

  4. Adron, thanks for this post, it saves many hours of mine.
    I can only add that it took half an hour for me to take effect (checking by dnslookup). Almost no downtime observed. I also migrated mx, txt and cname records, worked like charm

  5. Hello,

    Do I need remove all record A and CNAME on if I use for root domain?

    1. Not particularly. I’d give a search on their docs for something similar to what you’re trying to do. They have step by step instructions for all of the DNS/CNAME settings you’d need to set.

  6. Hi!

    First of all thanks for the instructions, this is so much better than AWS docs.

    What I did:
    In ROUTE53 create a hosted zone for [domain].com
    Go to and change the nameservers with the nameservers the hosted zone gave me (qty 4)


    If enter [domain].com redirects to my elastic beanstalk url (it changes the url, doesn’t show [domain].com)

    If enter http://www.[domain].com chrome can’t find anything

    Any ideas?

Comments are closed.