Amazon Route 53

Amazon Route 53 is a highly available and scale cloud Domain Name System (DNS) web service. It is designed to give developers and businesses an extremely reliable and cost effective way to route end users to Internet applications by translating names like www.example.com into the numeric IP addresses like 192.0.2.1 that computers use to connect to each other.

Amazon Route 53 performs three main functions:

Domain registration

Amazon Route 53 lets you register domain names such as example.com.

  1. Domain Name System (DNS) service:Amazon Route 53 translates friendly domains names like www.example.com into IP addresses like 192.0.2.1.Amazon Route 53 responds to DNS queries usinga global network of authoritative DNS servers, which reduces latency.

  2. Health checking:Amazon Route 53 sends automated requests over the Internet to your application to verify that it's reachable, available, and functional.

Amazon Route 53 effectively connects user requests to infrastructure running in AWS – such as Amazon EC2 instances, Elastic Load Balancing load balancers, or Amazon S3 buckets – and can also be used to route users to infrastructure outside of AWS. You can use Amazon Route 53 to configure DNS health checks to route traffic to healthy endpoints or to independently monitor the health of your application and its endpoints. Amazon Route 53 Traffic Flow makes it easy for you to manage traffic globally through a variety of routing types, including Latency Based Routing, Geo DNS, and Weighted Round Robin—all of which can be combined with DNS Failover in order to enable a variety of low-latency, fault-tolerant architectures. Using Amazon Route 53 Traffic Flow’s simple visual editor, you can easily manage how your end-users are routed to your application’s endpoints—whether in a single AWS region or distributed around the globe. Amazon Route 53 also offers Domain Name Registration – you can purchase and manage domain names such as example.com and Amazon Route 53 will automatically configure DNS settings for your domains.

Configuring a DNS in Amazon Route 53

  1. Make Sure You Have Elastic IP Set Up:It is strongly recommended that, you first make sure you have settled up your EC2 instance with a dedicated elastic IP. It will make it recognizable by the IP instead of the big ugly public DNS name.

  2. Amazon Route 53 Management Console:After you login to your aws control panel and switch to route 53 dashboard, you can add a domain name you want to manage. You should use {name}.{tld} here. Use the create hosted zone option to add your preferred domain name.

  3. Set Up DNS Record Set For Root Domain:When you have a domain name added on the dashboard, after selecting it, you should see an option named ‘Go To Record Set’. Click on it and it is actually where we create the DNS records. On this screen, click on the ‘create record set’ button and on the right side, you should see new fields for filling up such information. Such as name, type, value, alias, TTL, routing policy etc. Lets setup our main (sub)domain which is www.{name}.{tld}. enter value ‘www’ in the name field. Select Type ‘NS- Name Server’. Enter all your DNS records in the value field, one per line. Keep the routing policy and TTL value to default as ‘simple’ and ‘300’. Now submit by clicking the ‘create record set button’ at the bottom of the form. Now, what we have done, is to tell that AWS name servers know where our domain is hosted. In real, we haven’t told our route 53 service where it will be actually, will do shortly. This step is required if you are registering domain via amzon route53 itself to tell.

  4. Setting Up Elastic IP For Domain:Now lets create another record set of type ‘A – IPV4 Address’. In the value field, enter the elastic IP address that is associated with our amazon EC2 instance. And submit the form to create it. Now, this is the option which will tell where our domain we want to be hosted.

Rount53 GeoDNS Settings:

if you don’t know what GeoDNS is, it’s a geographical DNS system which facilitate checks user’s location-based on their browsing IP and thus routes to nearest server. It’s totally up to you which user you want to redirect to which server IP, but you won’t do the reverse to make things worse.

It is very much useful if you are developing and high performance web application/APIs which requires minimal latency possible. So, If a user is accessing your application from Asia, then a Asian region based server instance will be able to serve faster than an US based server and vise-versa.

To get this service, you will need more than one identical server for your application, which you can do by taking a snapshot of your current EC2 and launching it on other high density regions. And after setting up all of them with different elastic IPs, we can now go forward on our amazon route 53 dashboard to create new record-set that reflects our GeoDNS needs. keep existing A record settings as default fallback settings.

On create record set form, select type as ‘IP Adress’ again and this time select routing policy to ‘Latency’. Which will bring you a region drop-down box.

Select your second most density user-base region(first should be the default one). Select IP of the EC2 on that region. Save it and repeat the process for your other zones/ec2s as well. Congratulation! Now are you just optimised your Domain with route 53 geo dns settings, the fastest way possible to serve dynamic contents(you would use CDN for static contents).

Other Record-Set Types:

There are few other types of records there too. We won’t go details at this moment, but lets know in brief about the popular ones:

CNAME: There is type named ‘CNAME’ ( Canonical Name ), which can be used as alternative of ‘A’ record, if you have another domain/sub-domain already set up and route this domain/sub domain to it. This is helpful situation like setting up custom cdn sub domain on your site, which need to be routed to amazon cloud front’s auto generated sub-domain names.

MX: There is another record named ‘MX’, which stands for ‘Mail Exchange’ , which will be required when you will setup a mail server under your domain name alias.

SOA: The type ‘SOA’ stands for Start Of Authority record, which contains base information about the domain.


 

Leave a Reply