Route 53
LearningTree Β· AWS Β· Networking

Amazon Route 53 β€”
DNS & Traffic Routing

AWS's highly available, scalable DNS service β€” translates domain names to IP addresses, intelligently routes traffic across the globe, and monitors endpoint health. The internet's phone book, managed by AWS.

⚑ Route 53 in 30 Seconds

  • DNS service β€” translates human-friendly names (example.com) to IP addresses (192.0.2.1)
  • 100% SLA β€” the only AWS service with a 100% availability guarantee
  • Global service β€” not region-scoped (like IAM and CloudFront)
  • Named after port 53 β€” the standard DNS port number
  • Three functions: DNS resolution + traffic routing + health checking
01
Chapter One

What is DNS & Route 53

DNS β€” The Internet's Phone Book Introductory

Every device on the internet has an IP address (like 192.0.2.44 or 2001:db8::1). Humans can't remember these numbers, so we use domain names (like example.com). DNS (Domain Name System) is the system that translates names into addresses β€” just like a phone book translates "John Smith" into a phone number.

πŸ‘‰ Think of DNS as: The internet's phone book β€” you look up a name, it gives you the number (IP address) to call

When you type www.example.com in your browser, before anything else happens, your computer asks DNS: "What's the IP address for this name?" Only after getting the answer can your browser connect to the server.

How DNS Resolution Works Introductory
DNS Resolution β€” Step by step (simplified)
πŸ–₯️ USER 1. Query ISP Resolver (Recursive) Cache: TTL-based 2 Root DNS . (13 servers) 3 TLD DNS .com nameserver 4 Route 53 Authoritative DNS example.com β†’ 192.0.2.44 5. Answer 6. IP Web Server 192.0.2.44 7. Connect DNS = Name β†’ IP. Route 53 = AWS's authoritative DNS. This entire flow happens in ~10-50ms (cached: <1ms)
What is Amazon Route 53 Introductory

Amazon Route 53 is AWS's managed authoritative DNS service. It serves as the final source of truth for your domain names β€” when someone asks "what's the IP for myapp.example.com?", Route 53 answers authoritatively.

But Route 53 does more than just DNS. It provides three core functions:

πŸ“–

DNS Resolution

Translate domain names to IP addresses (A records), other domains (CNAME), or AWS resources (Alias records). The core function.

🚦

Traffic Routing

Route users to different endpoints based on latency, geography, weight, or failover rules. Intelligent load distribution.

❀️

Health Checking

Monitor endpoint health and automatically route away from unhealthy targets. Automatic failover.

Why Route 53 Exists Introductory
⚠️

Without Route 53 β€” The Problems

  • Self-managed DNS servers β€” you handle HA, patching, DDoS protection
  • No native integration with ALB, CloudFront, S3 β€” manual IP tracking
  • No intelligent routing β€” users always hit the same endpoint regardless of location
  • No automatic failover β€” if a server dies, DNS still points to it
  • DNS propagation issues β€” TTL management is complex and error-prone
βœ…

Route 53 Solves

  • 100% SLA β€” the most available service in AWS (globally distributed)
  • Native AWS integration β€” Alias records to ALB, CloudFront, S3, etc. (free + instant)
  • 7 routing policies β€” latency, geo, weighted, failover, multivalue, IP-based, geoproximity
  • Health checks β€” automatic failover when endpoints go down
  • DDoS protected β€” built on AWS's global edge network
Route 53 Key Characteristics Core
PropertyValueWhy It Matters
Availability SLA100%Only AWS service with 100% SLA. DNS failure = entire app unreachable.
ScopeGlobal (not regional)Like IAM, CloudFront β€” one configuration applies worldwide.
Name OriginPort 53 (DNS port)Route (traffic routing) + 53 (DNS standard port).
Supported ProtocolsDNS over UDP/TCP (port 53)Standard DNS β€” works with all clients worldwide.
Pricing$0.50/hosted zone + $0.40/M queriesCheap for most apps. First 25 hosted zones included. Alias queries to AWS resources: free.
DNSSECSupported (signing)Cryptographic proof that DNS responses aren't tampered with.
IPv6Full support (AAAA records)Route both IPv4 and IPv6 traffic.
Mental Model Introductory
πŸ“ž

Traditional DNS = Phone Book

  • You look up a name β†’ get a phone number
  • Static β€” the number never changes based on context
  • No health check β€” if the person moved, you still get the old number
  • One answer for everyone, everywhere
πŸ€–

Route 53 = Smart Receptionist

  • You call, the receptionist routes you intelligently
  • "Caller from Europe? Let me connect you to the London office"
  • "New York office is down? Rerouting you to Chicago"
  • "We're doing A/B testing β€” 90% go to v1, 10% to v2"
  • Same phone number, different routing based on context
Route 53 vs Traditional DNS Core
FeatureTraditional DNS (GoDaddy, Namecheap)Route 53
Basic DNSβœ… A, CNAME, MX, TXT recordsβœ… All standard records + Alias
Alias Records❌ Not supportedβœ… Free, instant resolution to AWS resources
Health Checks❌ Separate service neededβœ… Built-in, triggers failover
Routing Policies❌ Only simple (round-robin at best)βœ… 7 policies (latency, geo, weighted, etc.)
AWS Integration❌ Manual IP/CNAME onlyβœ… Native (ALB, CloudFront, S3, API Gateway)
Availability99.9% typical100% SLA (globally distributed)
DDoS ProtectionBasicAWS Shield integrated
PricingOften "free" with domain$0.50/zone/month + per-query

πŸ‘‰ Exam tip: If the question asks about routing traffic based on latency, geography, or health β€” the answer involves Route 53 routing policies. For simple domainβ†’IP, any DNS works. For intelligent routing, it's Route 53.

The Alias Record β€” Route 53's Superpower Core

The Alias record is Route 53's most important feature for the exam. It's a Route 53-specific extension to DNS that resolves directly to AWS resources:

⚠️

CNAME (Standard DNS)

  • Maps one name to another name: www.example.com β†’ d111.cloudfront.net
  • Cannot be used at zone apex (example.com β€” no subdomain)
  • Extra DNS lookup needed (two-step resolution)
  • Charged per query
⭐

Alias (Route 53 only)

  • Maps name directly to AWS resource (resolves internally)
  • Works at zone apex (example.com β†’ ALB βœ…)
  • Single-step resolution β€” faster
  • Free queries when pointing to AWS resources
  • Automatically tracks IP changes (ALB IPs change β€” Alias follows)

πŸ‘‰ Exam rule: "Point naked domain (zone apex) to an ALB/CloudFront/S3" β†’ Alias record (CNAME won't work at apex). "Point subdomain to non-AWS resource" β†’ CNAME.

Alias Record Targets Core
Alias TargetExampleUse Case
ELB (ALB/NLB/CLB)example.com β†’ my-alb-123.elb.amazonaws.comWeb apps behind load balancer
CloudFront Distributionexample.com β†’ d111.cloudfront.netCDN-fronted apps/static sites
S3 Website Endpointexample.com β†’ s3-website.us-east-1.amazonaws.comStatic website hosting
API Gatewayapi.example.com β†’ xyz.execute-api.us-east-1.amazonaws.comServerless APIs
Another Route 53 Recordexample.com β†’ (another record in same hosted zone)Chaining routing policies
Global Acceleratorexample.com β†’ abc.awsglobalaccelerator.comGlobal TCP/UDP acceleration
Elastic Beanstalkexample.com β†’ my-env.region.elasticbeanstalk.comBeanstalk environments
VPC Interface Endpointapi.example.com β†’ vpce-xyz.execute-api.us-east-1.vpce.amazonaws.comPrivate API access

πŸ‘‰ Cannot Alias to: EC2 instance IP (use A record), another account's resource (unless shared), or non-AWS endpoints. Alias targets must be in the same hosted zone or a supported AWS service.

CNAME vs Alias β€” Quick Reference Core
FeatureCNAMEAlias
Works at zone apex (example.com)❌ Noβœ… Yes
Free queries❌ Charged normallyβœ… Free (to AWS resources)
Auto-tracks resource IP changes❌ No (static target)βœ… Yes (follows ALB/CF IPs)
TargetsAny hostname (AWS or non-AWS)Only supported AWS services
Standard DNSβœ… Works everywhere❌ Route 53 only
Health check support❌ Not directlyβœ… Yes (inherits target health)
πŸ‘‰ Key Takeaway

Route 53 is DNS + intelligent traffic routing + health monitoring. It's the only AWS service with a 100% SLA. The Alias record is the superpower β€” it resolves to AWS resources for free, works at zone apex, and auto-tracks IP changes.

πŸ“‹ Chapter 1 β€” Summary
  • DNS = name β†’ IP translation. Route 53 is AWS's authoritative DNS service (port 53).
  • Three functions: DNS resolution + traffic routing + health checking.
  • 100% SLA β€” globally distributed, DDoS-protected.
  • Global service β€” not regional (like IAM, CloudFront).
  • Alias record: Route 53's superpower. Free queries, works at zone apex, resolves to AWS resources.
  • CNAME vs Alias: CNAME = standard DNS, can't be apex. Alias = Route 53 only, works at apex, free.
  • Alias targets: ALB, NLB, CloudFront, S3 website, API Gateway, Beanstalk, Global Accelerator.
  • Cannot Alias to: EC2 IP directly (use A record instead).
  • Pricing: $0.50/hosted zone + per-query (Alias to AWS = free).
02
Chapter Two

Core Concepts (Hosted Zones, Records)

Hosted Zones Core

A Hosted Zone is a container for DNS records for a specific domain. It's like a drawer in a filing cabinet β€” everything about example.com lives in one hosted zone. When you create a hosted zone, Route 53 assigns 4 nameservers to it.

🌍

Public Hosted Zone

  • Answers queries from the public internet
  • Anyone can resolve your domain names
  • Used for: websites, APIs, public services
  • Created when you register/transfer a domain
  • Cost: $0.50/month per hosted zone
πŸ”’

Private Hosted Zone

  • Answers queries only within associated VPCs
  • Internet users cannot resolve these names
  • Used for: internal services, microservices, private APIs
  • Must be associated with at least one VPC
  • Allows split-horizon DNS (same name, different answers internal vs external)

πŸ‘‰ Exam pattern: "Internal microservices need to communicate by name, not reachable from internet" β†’ Private Hosted Zone. "Public website needs custom domain" β†’ Public Hosted Zone.

DNS Record Types Core

Each hosted zone contains records β€” individual entries that tell Route 53 how to respond to queries. Know these for the exam:

Record TypeMaps ToExampleUse Case
AIPv4 addressexample.com β†’ 192.0.2.44Point domain to a server's IPv4 address
AAAAIPv6 addressexample.com β†’ 2001:db8::1Point domain to a server's IPv6 address
CNAMEAnother domain namewww.example.com β†’ example.comRedirect one name to another (NOT at zone apex)
AliasAWS resource (Route 53 extension)example.com β†’ my-alb.elb.amazonaws.comPoint to ALB, CloudFront, S3, etc. (works at apex)
MXMail server(s)example.com β†’ 10 mail.example.comRoute email to mail servers (lower priority number = higher preference)
TXTArbitrary textexample.com β†’ "v=spf1 include:..."Domain verification, SPF, DKIM, DMARC
NSNameservers for zoneexample.com β†’ ns-123.awsdns-45.comDelegation β€” tells the internet which DNS servers are authoritative
SOAZone metadataSerial, refresh, retry, expire, TTLAdministrative info about the zone (auto-created)
SRVService location_sip._tcp.example.com β†’ server:5060Service discovery (port + priority + weight)
CAACertificate authoritiesexample.com β†’ 0 issue "letsencrypt.org"Control which CAs can issue SSL certs for your domain
TTL (Time To Live) Core

TTL tells DNS resolvers how long to cache a response before asking again. It's the most misunderstood DNS concept β€” and a common exam topic:

⏱️

High TTL (e.g., 86400s = 24 hours)

  • Less traffic to Route 53 (cheaper)
  • Faster for users (cached locally)
  • Slow to update β€” changes take up to 24 hours to propagate
  • Use for: stable records that rarely change
⚑

Low TTL (e.g., 60s = 1 minute)

  • More traffic to Route 53 (slightly more expensive)
  • Changes propagate quickly (within 1 minute)
  • Essential before migrations β€” lower TTL first, then change record
  • Use for: failover records, records you plan to change soon

πŸ‘‰ Exam trap: "Minimize downtime during DNS migration" β†’ Lower TTL well before the change (e.g., 60s, 24 hours ahead), then make the change, then raise TTL back. You cannot force clients to re-query β€” you must wait for old TTL to expire.

Hosted Zone Diagram Introductory
Public vs Private Hosted Zone β€” same domain, different visibility
🌐 Internet User query Public Hosted Zone example.com A: www β†’ 54.23.1.100 (ALB) MX: β†’ mail.example.com ALB Public app VPC EC2 App query Private Hosted Zone internal.example.com A: db.internal β†’ 10.0.3.50 (RDS) RDS 10.0.3.50 ↑ Public: anyone on internet ↓ Private: only within VPC
Record Set Anatomy Core

Every DNS record in Route 53 has these components:

ComponentExamplePurpose
Namewww.example.comThe domain name being queried
TypeA / AAAA / CNAME / Alias / MX / TXTWhat kind of answer to give
Value192.0.2.44 / d111.cloudfront.netThe actual answer (IP or hostname)
TTL300 (seconds)How long resolvers cache this answer
Routing PolicySimple / Weighted / Latency / etc.How to choose between multiple values
Health CheckAssociated health check ID (optional)Remove this record from answers if unhealthy
NS and SOA Records In-Depth

Every hosted zone is auto-created with two mandatory records:

πŸ“‹

NS (Name Server) Record

  • Lists the 4 Route 53 nameservers for this zone
  • These NS records are registered at the domain registrar
  • Tells the internet "these servers are authoritative for example.com"
  • Do NOT delete or modify β€” breaks DNS for your entire domain
πŸ“„

SOA (Start of Authority) Record

  • Administrative metadata about the zone
  • Contains: primary nameserver, admin email, serial number, refresh/retry/expire timers
  • Auto-managed by Route 53 β€” rarely need to touch it
  • Serial number increments on each change (used for zone transfer)
πŸ‘‰ Key Takeaway

Hosted Zones are containers for DNS records. Public zones answer internet queries; Private zones answer only within VPCs. Every record has a name, type, value, TTL, and optional routing policy. Lower TTL before changes; raise it after.

πŸ“‹ Chapter 2 β€” Summary
  • Hosted Zone: container for all DNS records of a domain. Public (internet) or Private (VPC only).
  • Private Hosted Zone: associated with VPCs. Enables internal DNS (e.g., db.internal.example.com).
  • Record types: A (IPv4), AAAA (IPv6), CNAME (alias to name), Alias (AWS resource), MX (mail), TXT (verification), NS, SOA.
  • TTL: cache duration. High = fast + stale. Low = fresh + more queries. Lower before migrations.
  • NS record: 4 nameservers per zone. Registered at registrar. Do NOT delete.
  • Split-horizon: same domain resolves differently for public vs private (use both zone types).
  • Pricing: $0.50/hosted zone/month. Queries: $0.40/M (standard), free (Alias to AWS).
Route 53 Resolver β€” Hybrid DNS In-Depth

Route 53 Resolver enables DNS resolution between your VPC and on-premises networks (or other VPCs). Essential for hybrid cloud architectures where EC2 instances need to resolve on-prem hostnames, and on-prem servers need to resolve VPC private DNS names.

⬇️

Inbound Endpoints

  • On-premises DNS forwards queries β†’ Route 53 Resolver
  • Allows on-prem servers to resolve VPC private hosted zone names
  • Create ENIs in your VPC subnets (inbound)
  • On-prem DNS conditional forward to these IPs
⬆️

Outbound Endpoints

  • VPC resources forward queries β†’ on-premises DNS
  • Allows EC2 to resolve on-prem hostnames (e.g., app.corp.internal)
  • Create ENIs in your VPC subnets (outbound)
  • Use Resolver Rules to conditionally forward specific domains

πŸ‘‰ Exam pattern: "Hybrid cloud β€” EC2 instances need to resolve on-premises hostnames" β†’ Route 53 Resolver outbound endpoint + forwarding rule. "On-prem servers need to resolve VPC private DNS" β†’ Route 53 Resolver inbound endpoint. Pricing: ~$0.125/hour per endpoint (2 ENIs minimum per endpoint for HA).

Route 53 Resolver DNS Firewall In-Depth

DNS Firewall filters outbound DNS queries from your VPCs. It blocks queries to known-malicious domains (malware C2 servers, phishing) and can enforce allowlists for compliance.

πŸ›‘οΈ

DNS Firewall Capabilities

  • Block lists: Deny queries to malicious domains (AWS managed + custom)
  • Allow lists: Only permit queries to approved domains
  • Actions: ALLOW, BLOCK (NXDOMAIN or custom response), ALERT (log only)
  • AWS Managed lists: malware domains, botnet C2 servers (auto-updated)
πŸ“‹

Use Cases

  • Prevent data exfiltration via DNS tunneling
  • Block access to known-bad domains from VPC
  • Compliance: restrict which external domains VPC can resolve
  • Logging: audit all DNS queries for security analysis
03
Chapter Three

Routing Policies

Overview β€” 7 Routing Policies Core

Routing policies determine how Route 53 responds when a record has multiple possible answers. This is the most exam-tested topic in Route 53. Know all 7:

PolicyHow It WorksUse CaseHealth Check?
SimpleReturns one value (or random from multiple)Single resource, no special routing neededNo
WeightedDistribute traffic by percentage (weights)A/B testing, gradual deployments (90%/10%)Yes
Latency-basedRoute to region with lowest latency for userGlobal apps β€” send users to closest regionYes
FailoverPrimary + secondary. Switch on health check failureActive-passive DR (primary fails β†’ backup)Yes (required)
GeolocationRoute based on user's geographic locationContent localization, legal restrictions by countryYes
GeoproximityRoute based on geographic distance + biasShift traffic between regions with bias controlYes
Multivalue AnswerReturn up to 8 healthy IPs (client picks one)Simple load balancing + health checkingYes
Simple Routing Introductory

The default. One record, one (or multiple) values. If multiple values exist, Route 53 returns all of them and the client picks randomly. No health checks β€” even if an IP is dead, it's still returned.

πŸ‘‰ Simple: "One domain, one resource, no tricks." Most basic DNS. No health check support. If you need health-aware answers, use Multivalue instead.

Weighted Routing Core

Assign numeric weights to multiple records. Route 53 returns answers proportional to their weight. Total doesn't need to be 100 β€” it's relative.

Weighted Routing β€” Traffic split by weight
πŸ‘₯ Users Route 53 Weighted routing 70% 20% 10% v2 (stable) w=70 v3 (canary) w=20 v4 (test) w=10

Use cases: A/B testing (send 10% to new version), blue-green deployments (gradually shift from 100/0 to 0/100), load distribution across regions.

Latency-Based Routing Core

Route 53 measures latency between the user's DNS resolver and each AWS region, then returns the record with the lowest latency. This is NOT geographic distance β€” it's actual network latency.

Latency-Based Routing β€” Users routed to lowest-latency region
User (EU) Berlin User (US) New York User (APAC) Tokyo Route 53 Latency routing eu-west-1 (20ms) ALB Ireland us-east-1 (15ms) ALB Virginia ap-northeast-1 (10ms) ALB Tokyo
Failover Routing Core

Active-passive failover. You define a Primary and a Secondary record. Route 53 returns Primary unless its health check fails β€” then it automatically returns Secondary. Health check is mandatory on the primary.

πŸ‘‰ Failover pattern: Primary = production ALB in us-east-1. Secondary = static S3 "maintenance page" or DR ALB in eu-west-1. If primary health check fails β†’ traffic routes to secondary instantly.

Geolocation Routing Core

Routes based on the physical location of the user (continent, country, or US state). Unlike latency-based, this is about where you are, not what's fastest.

πŸ—ΊοΈ

Geolocation Use Cases

  • Legal compliance β€” EU users must hit EU servers (GDPR)
  • Content localization β€” French users get French content
  • Restrict access β€” block or redirect users from certain countries
  • Regional pricing β€” different endpoints for different markets
⚠️

Important Notes

  • Must set a "Default" record β€” for IPs that don't match any location
  • Location detection uses the IP of the DNS resolver (ISP), not the user directly
  • More specific wins: US-California beats US beats North America
  • Without default β†’ users from unmatched locations get no answer (NXDOMAIN)
Geoproximity Routing In-Depth

Like geolocation but with a bias dial. You can shift traffic toward or away from regions by adjusting the bias value (-99 to +99). Requires Route 53 Traffic Flow (visual policy editor).

πŸ‘‰ Geoproximity vs Geolocation: Geolocation = "if user is in France, go to X." Geoproximity = "route to nearest resource, but bias +25 toward us-east-1 to shift more traffic there." Geoproximity is more flexible but requires Traffic Flow ($50/month per policy).

Route 53 Traffic Flow In-Depth

Traffic Flow is a visual policy editor for building complex routing trees β€” combining multiple policies (geoproximity + weighted + failover) into a single reusable policy.

FeatureDetail
What it doesVisual drag-and-drop editor for complex routing policies
Cost$50/month per traffic policy record (on top of standard Route 53 pricing)
Required forGeoproximity routing (bias). Complex multi-level routing trees.
NOT required forSimple, Weighted, Latency, Failover, Geolocation, Multivalue
VersioningPolicies are versioned β€” roll back to previous versions
ReusableOne policy can be applied to multiple DNS names

πŸ‘‰ Exam tip: You do NOT need Traffic Flow for basic routing policies. Only use it when combining policies (e.g., geoproximity with failover) or when you need geoproximity bias control. The $50/month cost is a common distractor.

Multivalue Answer Routing Core

Returns up to 8 healthy records to the client. The client picks one randomly. It's like a simple round-robin but with health checks β€” unhealthy IPs are excluded from answers.

πŸ‘‰ Multivalue vs Simple: Simple returns all IPs (including unhealthy). Multivalue returns only healthy ones (max 8). Multivalue is NOT a replacement for ELB β€” it's client-side selection, not true load balancing.

Routing Policy Decision Table Core
If the Exam Says…UseWhy
"Route to closest/fastest region"Latency-basedPicks lowest network latency, not geo distance
"Active-passive DR failover"FailoverPrimary + secondary with health check
"A/B testing, canary deployment"WeightedControl % of traffic to each version
"EU users must use EU servers (compliance)"GeolocationRoutes by physical location, not performance
"Shift traffic between regions with bias"GeoproximityDistance + adjustable bias (Traffic Flow required)
"Client-side load distribution with health"Multivalue AnswerReturns up to 8 healthy IPs
"One domain, one server, nothing fancy"SimpleDefault. No health check. Just one answer.
πŸ‘‰ Key Takeaway

7 routing policies. Latency = fastest region. Failover = DR. Weighted = A/B testing. Geolocation = compliance/localization. Geoproximity = bias control. Multivalue = healthy round-robin. Simple = basic DNS.

πŸ“‹ Chapter 3 β€” Summary
  • Simple: one value, no health check. Default for basic DNS.
  • Weighted: split traffic by percentage. A/B testing, canary deploys.
  • Latency: route to lowest-latency region. Best UX for global apps.
  • Failover: primary/secondary with mandatory health check. Active-passive DR.
  • Geolocation: route by user's location (country/continent). Compliance, localization.
  • Geoproximity: route by distance + bias. Requires Traffic Flow ($50/mo).
  • Multivalue: return up to 8 healthy IPs. Client picks. Not a real load balancer.
  • Exam key: "fastest" = latency. "compliance by country" = geolocation. "DR" = failover. "% split" = weighted.
04
Chapter Four

Health Checks & Failover

What Are Health Checks Core

Route 53 health checks monitor the health of your endpoints and automatically remove unhealthy records from DNS responses. They're the mechanism that powers failover, weighted, latency, and multivalue routing.

πŸ‘‰ Think of health checks as: Route 53 periodically pinging your servers β€” "are you alive?" If no response β†’ stop sending traffic there.

Three Types of Health Checks Core
πŸ–₯️

Endpoint Health Check

  • Route 53 sends requests to your endpoint (IP or domain)
  • HTTP, HTTPS, or TCP
  • ~15 global health checkers query every 30s (or 10s for fast)
  • Healthy if >18% of checkers report healthy
  • Can check HTTP status code + response body (first 5120 bytes)
πŸ”—

Calculated Health Check

  • Combines results of multiple child health checks
  • AND, OR, or M-of-N logic
  • "Healthy if at least 2 of 3 children are healthy"
  • Use for: complex multi-resource monitoring
  • Up to 256 child health checks
πŸ“Š

CloudWatch Alarm Health Check

  • Health status based on a CloudWatch alarm state
  • Useful for private resources (Route 53 can't reach private IPs)
  • Monitor DynamoDB throttles, Lambda errors, custom metrics
  • Alarm in ALARM β†’ unhealthy. OK β†’ healthy.
How Endpoint Health Checks Work Core
Route 53 Health Check β€” Global checkers monitor your endpoint
Route 53 Health Checkers US-East EU-West AP-Southeast SA-East ~15 locations worldwide Every 30s (or 10s fast) HTTP / HTTPS / TCP Your Endpoint ALB / EC2 / On-prem Returns 2xx/3xx = healthy βœ… HEALTHY >18% checkers pass ❌ UNHEALTHY <18% checkers pass
Health Check Configuration Core
SettingOptionsDefaultNotes
ProtocolHTTP, HTTPS, TCPHTTPHTTPS validates SSL cert. TCP = port open check only.
PortAny (1–65535)80Must match your application port
PathAny URL path (HTTP/HTTPS)/Use /health or /status endpoint
Interval30s (standard) or 10s (fast)30sFast = 3Γ— cost but detects failures faster
Failure Threshold1–10 consecutive failures3Unhealthy after N consecutive failures
String MatchingSearch response body (first 5120 bytes)DisabledBody must contain specified string to be healthy
RegionsChoose which regions check fromAll recommendedMinimum 3 regions required
Health Checks for Private Resources In-Depth

Route 53 health checkers live on the public internet β€” they cannot reach private IP addresses in your VPC. For private resources, use this pattern:

🚫

Won't Work

  • Health check pointing to private IP (10.0.x.x)
  • Health check pointing to private DNS name
  • Route 53 checkers are external β€” can't enter VPC
βœ…

Solution: CloudWatch Alarm

  • Create CloudWatch metric for your private resource
  • Create CloudWatch alarm (threshold-based)
  • Create Route 53 health check β†’ type: CloudWatch alarm
  • Alarm ALARM β†’ unhealthy. Alarm OK β†’ healthy.
Failover Architecture Core
Active-Passive Failover β€” Primary fails β†’ traffic routes to Secondary
πŸ‘₯ Users Route 53 Failover routing Primary βœ… ALB (us-east-1) Production app Health check: PASS Secondary (standby) S3 Static Site "Maintenance" page Or: DR ALB (eu-west-1) Health Check attached to Primary record
Health Check Pricing Core
Health Check TypeCostNotes
Endpoint (AWS)$0.50/monthEndpoints within AWS regions
Endpoint (non-AWS)$0.75/monthOn-premise or other cloud endpoints
Fast interval (10s)Additional $1.00/monthvs standard 30s interval
String matchingAdditional $1.00/monthCheck body content for specific string
HTTPSAdditional $1.00/monthTLS connection required
Calculated$1.00/monthCombines child health checks
Calculated Health Check Example In-Depth

πŸ‘‰ Calculated health check: Combine multiple child checks with AND/OR/M-of-N logic. Example: "Healthy if at least 2 of 3 children pass."

  • Child 1: ALB health check in us-east-1
  • Child 2: ALB health check in us-west-2
  • Child 3: CloudWatch alarm on RDS CPU
  • Rule: Report healthy if β‰₯2 of 3 children are healthy
  • Result: One region can fail without triggering parent unhealthy status
πŸ‘‰ Key Takeaway

Health checks monitor endpoints globally (every 30s from ~15 locations). Unhealthy records are removed from DNS. Private resources use CloudWatch alarms. Failover routing requires health checks on the primary.

πŸ“‹ Chapter 4 β€” Summary
  • Three types: Endpoint (HTTP/HTTPS/TCP), Calculated (AND/OR/M-of-N), CloudWatch Alarm (private resources).
  • ~15 global checkers query every 30s. Healthy if >18% pass. Unhealthy after 3 consecutive failures (default).
  • Private resources: health checkers can't reach VPC IPs. Use CloudWatch alarm-based health checks.
  • Failover: Primary (health check mandatory) + Secondary. Automatic DNS switch on failure.
  • String matching: check response body (first 5120 bytes) for specific text.
  • Fast interval: 10s instead of 30s β€” detects failure faster but costs more.
  • Pricing: $0.50–$0.75/month per check + extras for fast/HTTPS/string matching.
05
Chapter Five

Domain Registration & DNS Flow

Domain Registration with Route 53 Introductory

Route 53 is also a domain registrar β€” you can buy domain names directly (example.com, myapp.io, etc.). When you register through Route 53, it automatically creates a hosted zone and assigns nameservers.

βœ…

Register via Route 53

  • Buy domain directly in AWS console
  • Hosted zone auto-created with NS + SOA records
  • No manual nameserver configuration needed
  • Supports: .com, .net, .org, .io, .dev, hundreds of TLDs
  • Domain lock + privacy protection included
πŸ”„

Use Route 53 with External Registrar

  • Buy domain at GoDaddy/Namecheap/Google Domains
  • Create hosted zone in Route 53 manually
  • Copy Route 53's 4 NS records to your registrar
  • Now Route 53 is authoritative for that domain
  • Common when migrating existing domains to AWS
Complete DNS Flow β€” From Registration to Resolution Core
End-to-End: Domain registered β†’ User resolves β†’ Traffic lands
1. Registrar Route 53 / GoDaddy NS β†’ Route 53 2. TLD (.com) Stores NS records for example.com 3. Route 53 Hosted Zone: www β†’ Alias β†’ ALB api β†’ A β†’ 54.x.x.x 4. Resources ALB β†’ EC2 instances CloudFront β†’ S3 API Gateway β†’ Lambda User Resolution Flow Browser β†’ ISP Resolver β†’ Root (.) β†’ TLD (.com) β†’ Route 53 NS β†’ Answer (IP) β†’ Connect to resource Cached at each level based on TTL. Subsequent queries: instant from cache.
Domain Transfer to Route 53 In-Depth
StepActionNotes
1Unlock domain at current registrarRemove transfer lock/hold
2Get authorization code (EPP code)Current registrar provides this
3Initiate transfer in Route 53 consoleEnter domain + auth code
4Confirm email (ICANN requirement)Sent to registrant email on record
5Wait (up to 7 days)Current registrar can approve or let it auto-approve
6Route 53 creates hosted zone automaticallyNS records set up. Done!

πŸ‘‰ Key point: You don't need to transfer your domain to Route 53 to use Route 53 DNS. Just update nameservers at your registrar to point to Route 53's NS records. Transfer is optional (convenience + billing consolidation).

πŸ“‹ Chapter 5 β€” Summary
  • Route 53 is a registrar β€” buy domains directly, or bring existing domains by updating NS records.
  • Registration auto-creates a hosted zone with NS + SOA records.
  • External registrar: create hosted zone in Route 53 β†’ copy 4 NS records to registrar settings.
  • Transfer: unlock β†’ auth code β†’ initiate in Route 53 β†’ confirm β†’ up to 7 days.
  • Transfer β‰  required. You can use Route 53 DNS without transferring the domain (just update NS).
06
Chapter Six

Integration with AWS Services

Route 53 + AWS Services Core

Route 53 integrates natively with nearly every AWS service that exposes an endpoint. The Alias record is what makes this seamless β€” it resolves to AWS resources without extra DNS hops, free of charge.

ELB

ELB (ALB / NLB)

  • Alias record β†’ ALB/NLB DNS name
  • Works at zone apex (example.com β†’ ALB)
  • ALB IPs change β€” Alias auto-tracks
  • Combine with latency/failover routing for multi-region
CloudFront

CloudFront

  • Alias β†’ CloudFront distribution (d111.cloudfront.net)
  • Must add domain as Alternate Domain Name (CNAME) in CloudFront
  • Requires ACM certificate in us-east-1
  • Common: static site + CDN with custom domain
S3

S3 Static Website

  • Alias β†’ S3 website endpoint
  • Bucket name must match domain name (example.com bucket for example.com Alias)
  • S3 website hosting must be enabled
  • Limited: no HTTPS on S3 alone (use CloudFront for HTTPS)
API GW

API Gateway

  • Custom domain name in API Gateway + Alias record
  • Edge-optimized: ACM cert in us-east-1
  • Regional: ACM cert in same region as API
  • Pattern: api.example.com β†’ API Gateway β†’ Lambda
Integration Decision Table Core
ScenarioRoute 53 RecordTargetNotes
Web app behind load balancerAlias (A)ALB DNS nameAuto-tracks ALB IP changes
Static site with custom domain + HTTPSAlias (A)CloudFront distributionACM cert in us-east-1 required
Static site (HTTP only, simple)Alias (A)S3 website endpointBucket name = domain name
REST API with custom domainAlias (A)API Gateway custom domainEdge or Regional API
Email routingMXMail server DNS namesPriority + hostname
Domain verification (SSL/SES)CNAME or TXTVerification tokenACM auto-creates if using Route 53
Internal service discoveryA (Private HZ)Private IP / ENIPrivate hosted zone associated with VPC

πŸ‘‰ ACM + Route 53 bonus: When validating SSL certificates with ACM, if your domain is in Route 53, ACM offers a "Create record in Route 53" button β€” one-click DNS validation. No manual record creation needed.

πŸ“‹ Chapter 6 β€” Summary
  • ALB/NLB: Alias record at apex. Auto-tracks IP changes. Free queries.
  • CloudFront: Alias + alternate domain name + ACM cert (us-east-1).
  • S3 website: Alias. Bucket name must = domain name. HTTP only (use CloudFront for HTTPS).
  • API Gateway: Custom domain + Alias. Edge = us-east-1 cert. Regional = local cert.
  • ACM validation: one-click DNS record creation when domain is in Route 53.
  • Private HZ: internal VPC service discovery (db.internal.example.com β†’ private IP).
07
Chapter Seven

Architecture Patterns

Pattern 1 β€” Multi-Region Active-Active In-Depth
Multi-Region with Latency Routing β€” Both regions active, lowest latency wins
🌍 Users Route 53 Latency + Health Check us-east-1 ALB EC2 ASG RDS βœ… Health: PASS eu-west-1 ALB EC2 ASG RDS βœ… Health: PASS US users EU users Active-Active Both regions serve traffic Latency routing picks fastest Health check removes failed
Pattern 2 β€” Active-Passive DR with S3 Failover Core

Primary region runs full application. If health check fails β†’ Route 53 failover routes traffic to a static S3 "sorry" page or a warm standby in another region.

πŸ‘‰ Architecture: Failover routing. Primary = ALB in us-east-1 (health check). Secondary = S3 static website (maintenance page) OR secondary ALB in eu-west-1. Cost: cheap DR β€” S3 static page costs pennies until actually needed.

Pattern 3 β€” CloudFront + S3 + Route 53 Core
Static Site β€” Route 53 β†’ CloudFront β†’ S3 (HTTPS + custom domain)
πŸ‘€ User Route 53 Alias β†’ CloudFront CloudFront CDN + HTTPS ACM cert S3 Bucket Static files (HTML/CSS/JS) example.com β†’ CloudFront (HTTPS) β†’ S3 (origin)
Pattern 4 β€” Weighted Blue-Green Deployment Core

Use weighted routing to gradually shift traffic from the old version to the new version:

PhaseBlue (v1) WeightGreen (v2) WeightTraffic Split
Start1000100% β†’ v1
Canary901090% v1, 10% v2 (test)
Expand505050/50 split
Complete0100100% β†’ v2
Rollback?1000Instant rollback β†’ back to v1
Exam Scenarios Core
ScenarioSolutionRouting Policy
"Global app β€” users in US should have low latency, EU users too"Deploy in us-east-1 + eu-west-1. Route 53 latency routing with health checks.Latency
"DR β€” if primary region fails, serve maintenance page"Failover: Primary = ALB. Secondary = S3 static site.Failover
"Static website with custom domain + HTTPS"Route 53 Alias β†’ CloudFront β†’ S3. ACM cert in us-east-1.Simple (Alias)
"Gradually roll out new version to 10% of users"Weighted routing: old=90, new=10. Health checks on both.Weighted
"Legal: EU users MUST hit EU servers"Geolocation routing: EU β†’ eu-west-1 ALB. Default β†’ us-east-1.Geolocation
"Internal microservices communicate by name"Private Hosted Zone associated with VPC. A records for each service.Simple (Private)
πŸ‘‰ Key Takeaway

Route 53 powers multi-region, DR, CDN, and deployment patterns. Latency routing + health checks = active-active global. Failover = DR. Weighted = blue-green. CloudFront + Route 53 = static HTTPS sites. Private HZ = service discovery.

πŸ“‹ Chapter 7 β€” Summary
  • Active-Active: Latency routing + health checks across 2+ regions. Both serve traffic. Failed region auto-removed.
  • Active-Passive DR: Failover routing. Primary (health checked) + Secondary (S3 page or standby ALB).
  • Static site: Route 53 Alias β†’ CloudFront (HTTPS + CDN) β†’ S3 origin. ACM cert in us-east-1.
  • Blue-Green: Weighted routing. Shift traffic gradually (90/10 β†’ 50/50 β†’ 0/100). Instant rollback.
  • Compliance: Geolocation routing. EU users β†’ EU servers. Must set default record.
  • Internal DNS: Private Hosted Zone. Service discovery without exposing to internet.