Route 53 earns its name because DNS runs on port 53 and it is the DNS service for AWS. Route53 is an authoritative DNS service so it will translate domain names to IP addresses. Each domain is called a hosted zone. A record set is a rule within the hosted zone. Route53 does three functions:
- Register domain names
- Route Internet traffic to resources
- Check the health of your resources
A record - points to an IPv4 <address></address>; uses TTL, a time to live expressed in seconds; used for apex and maps to one or more IP addresses
CNAME - for use on non-apex names - CNAME can’t be used for a naked domain (zone apex); costs money
Alias records - a Route53 specific record type that is similiar to a CNAME record; An alias record is the elastic IP of the DNS world; no cost; could point at CloudFront, EB, ELB, Bucket, Global Accelerator, other Route53 record set; no TTL possible
MX records - Mail
AAAA record - points to an IPv6 address
Triage DNS record types
Minimize costs? Alias = free
Naked Domain? = A record or Alias record
Zone Apex? A record or Alias record
Any AWS service? Alias
There are 5 different ways for Route53 to do its thing….route.
Simple - like the name says - route to an address or a bucket; have more than one address? Route53 returns all values in a random order
Weighted - a percentage to one location and a different percentage to another; expressed as a integer value relative to one or more other integer values
Latency - Use the latency routing policy when you have resources in multiple Amazon EC2 data centers that perform the same function and you want Amazon Route 53 to respond to DNS queries with the resources that provide the best latency.
Failover - Use the failover routing policy when you want to configure active-passive failover, in which one resource takes all traffic when it’s available and the other resource takes all traffic when the first resource isn’t available.
Geolocation - Use the geolocation routing policy when you want Amazon Route 53 based on DNS queries location; must have default record unless you want to deny geos NOT on the list; failed close scenario. Must use Route53 traffic flow.
Geoproximity routing - enables the ability to introduce bias to routing
Multivalue - like simple but enables the ability to set a health check for each simple route and create a simple failover.
Route53 Health Checks
Health checks can monitor an endpoint, the status of CloudWatch Metric or Alarm and when the healthcheck fails the thingy (S3 bucket, ELB or instance) is taken out of the DNS group.
Internal Route53 DNS is also called private hosted zones. For this to work the VPC must have
Internal Route 53 resource record sets only work if the originating request is made from within the VPC. Internal Route 53 record sets cannot be extended to on-premise usage.
Triage Route53 Routing
Same content multiple buckets? Latency
active-passive? Fail over
Regional Fail-over? Latency based routing between regions; then do weighted resource record set between AZs with “Evaluate Target Health”
A or B site testing? Weighted Routing
Extend Internal DNS -> Route53? Add record set; then A record; create VPC DHCP options set with
AmazonProvidedDNS and on-prem DNS server