How to configure GEO DNS feature using AWS Route53

Route53-logoYou can route web traffic based on user’s IP address to different servers located at all over the world using GEO DNS. AWS Rout 53 has a option LBR which is givings us the same features as GEO DNS.  The objective is where a website has, for example, a server in Singapore and one in the US, and a user looks up the name of the website in DNS, if the user is in India, the user gets the IP address of the Singapore server, whereas a user in the US gets the IP address of the US server. This can make access faster and lower costs compared to directing all users worldwide to the same server or to multiple servers round robin. In this article I will show you, how to configure AWS Route 53 with Latency Based Routing (LBR).

Advantages: Below are some basic advantages regarding GEO DNS.

  • Better Performance: As we are serving the website from the nearest webserver, the user will feel a better performance with the website.
  • Decrease Bandwidth Costs
  • Increase Bandwidth Efficiency
  • Improved Ad-Serving
  • Geo-Targeted relevant information
  • Country or language specific content loading options

How to Configure Rout53:

As per the AWS document if your application is hosted on Amazon EC2 instances in multiple EC2 regions, you can reduce latency for your end users by serving their requests from the EC2 region for which network latency is lowest. Route 53 latency-based routing lets you use DNS to route end-user requests to the EC2 region that will give your users the fastest response. Below are the list of endpoints/ regions supported by LBR.

  1. Nothern Virginia, US: us-east-1
  2. Nothern California, US: us-west-1
  3. Oregon, US: us-west-2
  4. Ireland, EU: eu-west-1
  5. Singapore, Asia: ap-southeast-1
  6. Tokyo, Asia: ap-northeast-1
  7. Sydney, Asia: ap-southeast-2
  8. Sao Paulo, South America: sa-east-1

If you don’t have your domain configured in Rout53 then follow my previous article “How to add/ configure a Domain in AWS Route 53” to add your domain to Rout53.  Go to the Route 53 Management Console to configure Rout53.

Environment:

For this example configuration I am considering 3 web servers located at different regions of AWS for www.linuxfunda.com

  • Web 1 – us-west-1 – 1.2.3.4
  • Web 2 – ap-southeast-1 – 2.3.4.5
  • Web 3 –  sa-east-1 – 3.4.5.6

Click on Hosted Zones > Click on the Zone File for which you want to configure LBR > Click on Go to Record Set > Click on Create Record Set. In this example I am using “linuxfunda.com” as my domain name and will add LBR for the www.linuxfunda.com.

  1. Set Name to “www”
  2. Chose Type “A-IPv4 addresses”
  3. Set Value “Value of your web servers”
  4. Set Routing Policy to “Latency”
  5. Set Region to “Your Web Servers Region”
  6. Set ID to “Friendly Name”
  7. Click on “Save Record Set” button.

Do the above action for each of your web server as shown in the image below.

Route53-Config-1Route53-Config-2

Finally you will get three records in the Rout53 for “www.linuxfunda.com” as shown in the below image.

Route53-Config-3After completing the above configuration now validate your environment using CloudMonitor. You will get different IP addresses for your web application from different locations. Now enjoy with your new configuration.

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
The following two tabs change content below.

Tapas Mishra

Sr. Engineer (DevOps)
Loves to work on Opensource products. Having experience on Linux environment. Knowledge on Public cloud services like AWS, Rackspace, DigitalOcean, Linode. Please don't hesitate to give a comment on the posts. Your comments are my strength.

2 thoughts on “How to configure GEO DNS feature using AWS Route53

  1. Dear Tapas,

    how can I perform a check wether the server in the current region is available before redirecting the user to it?
    Can I change the geo dns settings (like “redirect user from region X all the time to server Y”) somewhere (detailed settings)?

    All the best;

    • Hi Janis,

      Route53 will take care of the monitoring. If you configured LBR in Rout53 it will verify that your back end serer is up or not if up then it will send the traffic or else will redirect to the nearest location based on latency.

      No detailed settings required. AWS Route53 will take care of it based on latency. Let me know if you have any doubts.

      Thanks

Leave a Reply