DEV Community

Le Huy Ho
Le Huy Ho

Posted on

Learning AWS - DVA - Day 14: Route 53

What is DNS?

  • Domain Name System which translates the human friendly hostnames into the machine IP addresses

  • www.google.com => 172.217.18.36

  • DNS is the backbone of the internet

  • DNS uses hierarchical naming structure: .com, .example.com, www.example.com, api.example.com

DNS Terminologies

  • Domain Registrar: Amazon Route 53, GoDaddy, Hostinger, ...

  • DNS Records: A, AAAA, CNAME, NS, ...

  • Zone File: contains DNS records

  • Name Server: resolves DNS queries (Authoritative or Non-Authoritative)

  • Top Level Domain (TLD): .com, .us, .in, .gov, ...

  • Second Level Domain (SLD): amazon.com, google.com, ...

  • Sub Domain: www.example.com, ...

  • Full Qualified Domain Name (FQDN): api.www.example.com


Amazon Route 53 Overview

  • A highly available, scalable, fully managed and Authoritative DNS

    • Authoritative = the customer (you) can update the DNS records
  • Route 53 is also a Domain Registrar

  • Ability to check the health of your resources

  • Why 53? 53 is a reference to the traditional DNS port


Route 53 - Records

  • Records describes how you want to route traffic for a domain

  • Each record contains:

    • Domain/subdomain Name - e.g., example.com
    • Record Type - e.g, A or AAAA,...
    • Value - e.g, 12.34.56.78
    • Routing Policy - how Route 53 responses to queries
    • TTL - amount of time the record cached at DNS Resolvers
  • Route 53 supports the following DNS record type

    • (must know) A / AAAA / CNAME / NS
    • (advanced) CAA / DS / MX / NAPTR / PRT / SOA / TXT / SPF / SRV

Record Types

  • A - maps a hostname to IPv4

  • AAAA - maps a hostname to IPv6

  • CNAME - maps a hostname to another hostname

    • The target is a domain name which must have an A or AAAA record
    • Can't create a CNAME record for the top node of a DNS namespace (Zone Apex)
    • Example: you can't create for the example.com, but you can create for www.example.com
  • NS - Name Servers for the Hosted Zone

    • Control how traffic is routed for a domain

Hosted Zones

  • A container for records that define how to route traffic to a domain and its subdomains

  • Public Hosted Zones - contains records that specify how you route traffic on the Internet (public domain names)

  • Private Hosted Zones - contains records that specify how you route traffic within one or more VPCs (private domain names)

CNAME vs Alias

  • AWS Resources (Load Balancer, CloudFront,...) expose an AWS hostname.
    ex. lb1-1234.us-east-2.alb.amazonaws.com and you want myapp.mydomain.com

  • CNAME:

    • Points a hostname to any other hostname . (app.mydomain.com => blabla.anything.com)
    • ONLY FOR NON ROOT DOMAIN
  • Alias:

    • Points a hostname to an AWS Resoure (app.mydomain.com => blabla.amazonaws.com)
    • Works for ROOT DOMAIN and NON ROOT DOMAIN
    • Free of charge
    • Native health check
    • Alias Record is always of type A/AAAA for AWS resources (IPv4/IPv6)
    • You can't set TTL

Alias Records Targets

  • Elastic Load Balancers

  • CloudFront Distribution

  • API Gateway

  • Elastic Beanstalk environments

  • S3 Websites

  • VPC Interface Endpoints

  • Global Accelerator accelerator

  • Route 53 Record in the same hosted zone

  • You cannot set an ALIAS record for an EC2 DNS name

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more