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:

  1. Register domain names
  2. Route Internet traffic to resources
  3. Check the health of your resources

Route53 Supports:

  • 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

Routing Policy

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 DNS

Internal Route53 DNS is also called private hosted zones. For this to work the VPC must have enableDnsHostnames and enableDnsSupport enabled.

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