AWS Route 53
This is part of a blog series giving a high level overview of the different services examined on the AWS Solution Architect Associate exam, to view the whole series click here.
Internet Protocol (IP)→ is a numerical label assigned to devices and used by computers to identify each other on a network.
Domain Name System (DNS)→ used to convert human friendly domain names into IP addresses.
Domain Registrars→ authority that can assign domain names
Start of Authority Record (SOA) → type of resource record that every DNS must begin with, it contains the following information:
- Stores the name of the server supplying the data
- Stores the admin zone
- Currently version of data file
- Time to live
Name Server (NS) records→ used by top level domain servers to direct traffic to the content DNS server. It specifies which DNS server is authoritative for a domain.
A Records (Address Record) → type of DNS record, used by computer to translate a logical domain name to an IP address.
Time To Live (TTL) → length of time the DNS record is cached on the server for in seconds. Default is 48 hours.
Canonical Name (CName)→ type of DNS resource record that is used to resolve one domain name to another (Map to a reference)
Alias Record → type of DNS resource record that is similar to CNames as they are used to map one DNS name to another. However they can be used at the top node of a DNS namespace e.g. can be used for example.com (a naked domain name) whereas, CNames can’t be used in this scenario. They can also map resource record sets in your hosted zone to Elastic Load Balancers, Cloud Font Distributions or S3.
Route 53 Summary
- Route 53 is AWS’s highly available, universal (not region specific) and scalable DNS service.
- Route 53 allows you to perform domain registration, DNS routing and also health checking.
- It also works well with other AWS services — it allows you to connect requests to your infrastructure such as to EC2 instances, ELBs or S3 buckets.
In order for Route 53 to respond to queries, you need to define one of the following routing policies:
- One record set with multiple IP Addresses, typically used for a single resource that can perform a function for your domain.
- Since a single record can contain multiple IP Address, Route 53 returns all values to the user in a random order — so you never know which EC2 you are hitting and it can be shuffled on refreshed!
- Used when you want to create an active/passive failover set up.
- When you have a main site and a secondary site setup for disaster recovery. It allows you to route traffic to the main site when its healthy and then can route traffic to the secondary site when the main one becomes unhealthy.
- Sites are monitored with health checks
- You configure different record sets for both sites.
- Split traffic based on different custom proportions you assign e.g. 10% one region, 90% another.
- You need a separate record set for each IP address and then in each set you can assign the weight. These individual records need to have the same name and type for each of your resources.
- You can set up health checks on individual record sets so if for example, one EC2 instance fails it will be removed from record set.
Latency Based Routing
- Used when your application is hosted over multiple regions, it can then route traffic based on lowest latency for the end user.
- You need to create a different record set for each region you are using and then Route 53 determines which one has the lowest latency when it receives the DNS query.
- Routes the traffic based on the geographic location of user, this can allow you to localise your content for the user e.g. if the user is in the UK show the user the prices in Pounds Sterling.
- For this you need to create separate record sets for each required location.
- Available in Traffic Flow mode only
- Routes traffic based on users geographic location AND the location of your resources.
- For geoproximity routing you need to set up rules for your resources specifying their location and optionally to specify the amount of traffic you want to route to a particular location.
Multi Value Answer
- Allows you to return multiple values, such as IP Addresses from your web servers in response to queries
- Similar to Simple Routing only you can put health checks on each record set so that only healthy resources are returned.