AWS Route-53 : The Swiss Knife for Domain Hosting
February 25, 2019 / Nirav S
The general idea regarding ROUTE-53 is that it is a Domain hosting service, which is true. But, it provides way more features which are not provided by any competing Domain Hosting provider. Some of the features need you to be compulsorily using other AWS Services but even after considering that, Route-53 has provided many innovative ways for you to Host your content if you are ready to explore and tinker.
What is AWS Route-53 ?
AWS Route-53 is a DNS Service provided by AWS that resolves requested domain names to their respective back-end IP-addresses/endpoints by routing users’ Internet requests to your application, whether it’s hosted on AWS or somewhere else.
Route-53 also handles domain registration means it is a domain name Registration Service as well where you can buy and register new domain names. You can also transfer existing registered domain to Route-53 by coordinating with your current Domain Hosting Provider regarding the migration Procedure.
Or, if you would like to use Route 53’s below discussed routing Policies, but do not want to move your domain name from its current registrar, you simply can enter the new name servers that you’ll get on creating the hosted zone for the domain in route-53 into your own Providers domain control panel.
So, according to this basic explanation of Route-53, it is pretty much same as all other DNS providers like godaddy, resellerclub, etc.
Now, lets list the features that are unique to Route-53 only
Route-53 Unique Features
ALIAS Record Type for internal AWS Connectivity
- ALIAS record is an internal AWS specific pointer working on a higher level.
- On technical DNS level it may result as an A or a CNAME, depending on the situation.
- DNS doesn’t need to be aware of this internal pointer type nor target, as ROUTE-53 only answers with the resulting record.
- Instead of an IP Address or a domain name, an ALIAS record contains a pointer to other AWS Services which are discussed later on in the “point your domain name to other AWS Services” main point.
- Route-53 doesn’t charge for any ALIAS queries it serves.
Supported DNS Record Types
AWS Route-53 Service is one of the few DNS Services to support a vast majority of Record Types,
and you can create these records right away without sending any special request/support ticket for allowing to create the same; they are listed below.
- A Record
- AAAA Record
- CAA Record
- CNAME Record
- ALIAS Record
- MX Record
- NAPTR Record
- NS Record
- PTR Record
- SOA Record
- SPF Record
- SRV Record
- TXT Record
Exceptionally LOW TTLs
- TTL is short for Time To Live.
- TTLs for all records in Route 53 can be by default set to a time period of as low as 60 seconds and also can be set manually to 1 second.
Point your domain name to other AWS Services
You can point your domain name to a majority of AWS Services directly using “ALIAS” record and there is no need for them to have an IP-address to point to (for these feature to work you need to compulsorily host the domain in Route-53 and this feature is not compatible with other DNS providers)
- AWS API Gateway
- service that lets you create, publish, maintain, monitor, and secure APIs.
- you must create an Alias Record for your Domain/subDomain that points to your API Gateway.
- BONUS POINT; AWS Route-53 doesn’t charge for alias queries to API Gateway.
- AWS CloudFront
- service that enables you to speed up delivery of your Web Content using Content Delivery Network (CDN).
- you must create an Alias record that points to your CloudFront distribution.
- BONUS POINT; AWS Route-53 doesn’t charge for alias queries to CloudFront Distribution.
- AWS EC2
- service that provides scalable computing capacity for you to host applications, blogs, pretty much anything.
- you must add an A-record pointing your ec2 ip-address to the hosted domain.
- AWS Elastic Beanstalk
- service that helps to deploy and manage applications in the AWS Cloud.
- you must create an Alias record that points to your Elastic Beanstalk Environment.
- AWS Elastic Load Balancer
- Service that can distributes traffic to multiple ec2 Servers hosting your Application and load balances them equally among multiple ec2 Servers.
- you must create an Alias record that points to your Load Balancer.
- BONUS POINT; AWS Route-53 doesn’t charge for alias queries to Elastic Load Balancers.
- AWS RDS
- Service that stores Database(mySQL, NoSQL, MSSQL) related data and provides compute dedicated for viewing/updating the same.
- you must compulsorily create a CNAME record that points your Domain to the RDS Endpoint.
- AWS S3
- Service that lets you connect to other services that are powered by AWS PrivateLink
- You must create an Alias record that points your Domain to the DNS name of the interface endpoint.
- BONUS POINT; AWS Route-53 doesn’t charge for alias queries to VPC interface endpoint.
- AWS WorkMail
- An email service provided by AWS similar to GMail, Yahoo, etc.
- You must create a TXT record that points your mail Domain to AWS WorkMail Value.
The above listed Services are not exclusive and AWS is constantly working and progressing forward in integrating many other AWS services with AWS Route-53 Service.
You can use different types of Routing Policies based on your specific requirements that these policies can fulfill.
- Simple Routing Policy
- The most basic and common routing policy, it just routes all domain name requests to an IP-address.
- With simple routing, you typically route traffic to a single resource, for example, to a web server for your website.
- e.g.:- you want to host a simple wordpress website that you have installed on an EC2 Server and you want the domain “www.example.com” to your Server’s IP-Address “220.127.116.11” and you have hosted the domain in Route 53, then just go to the route 53 console and point your domain’s A-record to the IP.
- Failover Routing Policy
- The routing policy that focuses towards continuous delivery of content from multiple records, but on a Condition; the Secondary record specified will deliver content only if and when the Primary record is unhealthy/unable to serve content.
- This approach can be used for the reason of sustaining the website from managed or unexpected downtimes.
- e.g.:- The simple wordpress website that you hosted is pointing to “18.104.22.168” and for countering unexpected down times you setup Failover Routing Policy where you specify a secondary ip-address “22.214.171.124” and it will serve the website requests from “126.96.36.199” only when “188.8.131.52” is down.
- Geolocation Routing Policy
- The routing policy that focuses towards the Geographic Location of the Request to serve content only if the Geographic Location of the sent request is included in the Locations selected by you to serve requests.
- This approach can be used for serving regional content as well as denying requests to specific regions, you can route regional requests to their respective regional servers to reduce focused Server Traffic Load and instead distribute it region wise, you can localize the blog language according to the regional request so that readers view them in their local language.
- You can specify geographic location by continent, by country, or by state in case of the United States
- e.g.:- The simple wordpress website that you hosted, posts blogs on topics related to regional affairs, and you only want a particular region to be able to view those blogs as the content is irrelevant for other countries; or under another scenario the blogs posted are considered illegal or land under censorship in some countries/Geographic Locations, then you can setup Geolocation Routing Policy which will either serve content only to the specified regions or will block requests from specified regions.
- Geoproximity Routing Policy
- The routing policy that will serve requests by matching the geographic location of the request to the geographic location of the resource nearest to it.
- This approach is also used to reduce centralised Traffic on Server and rather distribute the Traffic among different regions according to the location of the request sent, this results in better application responsiveness as the request is responded from the nearest resource available as well as every resource only accepts traffic that is originating from its own region.
- e.g.:- The simple wordpress website that you hosted, receives requests from regions all over the world and so you can setup a server in all the regions so that every regional request is served by the server in the same region, this results in low latency for website content viewing as well as lesser Traffic management for the Regional Server.
- Latency-Based Routing Policy
- The routing policy that focuses on best performance by keeping low latency for received requests by routing the request to the resource which has lowest latency from the region of the request.
- This Policy feels similar to Geoproximity Routing Policy but differentiates itself as in Geoproximity Routing Policy you setup the route as per your choice whereas in Latency-Based Routing Policy Route-53 takes the decision based on lowest latency from the region of the origin request.
- e.g.:- The simple wordpress website that you hosted, receives requests from regions all over the world and so ROUTE-53 will serve every regional request by routing the request to the nearest resource which has the lowest latency from the region of origin request, this results in speedy website content viewing.
- Multivalue Answer Routing Policy
- The routing policy lets you configure Amazon Route 53 to return multiple values, such as IP addresses for your web servers, in response to DNS queries.This enables Route-53 to respond to DNS queries with different answers to different DNS resolvers.
- It’s not a substitute for a Load Balancer, but the ability to return multiple records is a way to use DNS to improve availbility and Load balancing.
- Weighted Routing Policy
- The routing policy lets you associate multiple resources with a single domain name and choose how much traffic is routed to each resource.Here, you assign each resource a relative weight that corresponds with how much traffic you want to send to each resource.
- This can be useful for a variety of purposes like weighted load balancing or testing new versions of software.
- Traffic Flow is a whole new feature that was introduced by AWS Route-53 to make it simpler for end-user to manage a complex domain hosting.
- Traffic Flow provides a visual editor that helps you create complex trees in a fraction of the time with a fraction of the effort; you can save this as a traffic policy and associate it with your hosted domain.
- The Traffic Flow trees can contain anything and everything from geolocation routing along with latency based routing and multiple routing policies.
- When a user browses to your domain name, Route-53 will respond to the query based on the configuration in the Traffic Flow.
- You can also use the Visual editor to quickly find resources that you need to update and apply these updates as well as rollback the updates if the new configuration isn’t performing as you expected it to.
- Below is a specimen of how the visual editor looks and how things are managed and interconnected in it.
So, these were some of the many unique features of AWS Route-53 service but the listed features are not exclusive as AWS constantly works on adding new features as well as new services to its ever expanding Suite of services.