Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service.
What is DNS?
DNS is a service that translates human readable domain names (e.g., www.example.com) to an IP address (e.g., 192.0.2.44)
- It does so by communicating with a set of Name Servers (that have their own set of database of mappings) who guide to the right Name Server that actually contains that domain name mapping.
- Following diagram shows a typical process of resolving domain name to an IP address
Image courtesy of AWS
Key Features of Route 53
- Resolver enables recursive DNS for your VPC or on-premise networks
- Traffic Flow allows you to configure how should the traffic (targeted for your application) be routed to your application
- Private DNS for VPC enables custom domain names for internal (to AWS) resources without exposing DNS data to the internet.
- Health Checks and Monitoring can be done by Route 53 for your application servers.
- Domain Registration can be done through Route 53
Key Points
- Route 53 is highly available, and its designed & implemented in a (globally) widely distributed manner.
- Route 53 integrates well with ELB to allow load balancing and scaling.
Routing Policies
Route 53 supports following Routing Policies
- Simple – simply routes the traffic to specific AWS resource
- Failover – allows Primary and Secondary target to route traffic (this is also known as Active-Passive Failover)
- Geolocation – routes all traffic from a defined geography area to specific AWS resource
- Geographic locations are defined at the level of Continent, Country, or at State (in case of USA).
- Geo-proximity – enables routing of traffic based on end-user’s location against the nearest (in context) AWS resource location
- You can adjust the proximity range of your AWS resources by using a parameter called “bias”
- A “bias” can shrink proximity range based on negative value, or expand based on positive bias value
- Latency – enables access to your AWS resource based on latency (between end user and target resource)
- Multi-value Answer – allows return of multiple AWS resources (for a specific DNS query)
- Route 53 only returns the values of healthy resources
- Weighted – allows you to distribute traffic to different AWS resources in proportion to weights assigned to them
Amazon Route 53 currently supports the following DNS record types:
- A (address record)
- AAAA (IPv6 address record)
- CNAME (canonical name record)
- CAA (certification authority authorization)
- MX (mail exchange record)
- NAPTR (name authority pointer record)
- NS (name server record)
- PTR (pointer record)
- SOA (start of authority record)
- SPF (sender policy framework)
- SRV (service locator)
- TXT (text record)
- Amazon Route 53 also offers alias records, which are an Amazon Route 53-specific extension to DNS.
Alias Records allow routing traffic to AWS resources, such as ELB, CloudFront, Elastic Beanstalk , API Gateways, VPC Interface Endpoints, and Amazon S3 buckets (configured as websites).
Alias record typically have a type of A or AAAA, but they work like a CNAME record. Using an alias record, you can map your record name (example.com) to the DNS name for an AWS resource(elb1234.elb.amazonaws.com). Resolvers see the A or AAAA record and the IP address of the AWS resource.
Pricing
Route 53 is billed for following components:
- Hosted Zones – per each Hosted Zone
- DNS Queries – per 1 Billion queries per month
- Charges vary by Query type: Standard Queries, Latency Based Routing Queries, Geo DNS and Geo-proximity Queries
- Charges are tiered – different rate for first 1 Billion queries per month, and for over first Billion queries (each month)
- Alias -based Queries are not charged
- Traffic Flow – per Policy Record per month
- Health Checks – per Health Check per month
- varies by Health Check type
- varies by Health Checks on AWS Endpoints vs Non-AWS Endpoints
- Route 53 Resolver – per Elastic Network Interface (ENI) hour, and per Billion queries served per month
- Doman Name Registration / Transfers – per Domain Name
External Resources