Skip to content
Back to Cloud Services

AWS Route 53 DNS Service

Highly available DNS with health checks, routing policies (geo, latency, weighted), and DNSSEC.

AWSIntermediate

Why

Route 53 offers 100% SLA and advanced routing — latency-based sends users to nearest region, geo-based for compliance. Health checks auto-failover. $0.50/zone/mo + $0.40/M queries.

When

Use Route 53 for AWS-hosted apps needing latency/geo routing, health-checked failover, and ACM DNS validation. Avoid for domains needing cheapest DNS (Cloudflare free).

How

1. Create hosted zone — aws route53 create-hosted-zone --name example.com 2. Record — A/AAAA/CNAME/MX/TXT, alias to AWS resources (no charge for alias) 3. Routing policies — simple, weighted, latency, geolocation, failover, multi-value 4. Health check — endpoint + interval, failover record activates on failure 5. Alias records — point to ALB/CloudFront/S3, no CNAME flattening needed 6. DNSSEC — enable for signing, prevents spoofing 7. Delegation — update registrar NS records to Route 53 nameservers

Example

# Latency-based routing — send users to nearest region aws route53 change-resource-record-sets --hosted-zone-id Z123 --change-batch '{ "Changes": [{ "Action": "CREATE", "ResourceRecordSet": { "Name": "api.example.com", "Type": "A", "RoutingPolicy": "latency", "AliasTarget": {"DNSName": "us-alb.amazonaws.com", "EvaluateTargetHealth": true}, "Region": "us-east-1" } }, { "Action": "CREATE", "ResourceRecordSet": { "Name": "api.example.com", "Type": "A", "RoutingPolicy": "latency", "AliasTarget": {"DNSName": "eu-alb.amazonaws.com", "EvaluateTargetHealth": true}, "Region": "eu-west-1" } }] }' # Health-checked failover aws route53 create-health-check --caller-ref ref1 \ --health-check-config Type=HTTPS,IPAddress=1.2.3.4,Port=443,ResourcePath=/health

Common Problems

  • ⚠DNS propagation delay — changes take 60s in Route 53 but TTL caches at resolvers
  • ⚠Health check false positives — check /health endpoint returns 200, not 204/redirect
  • ⚠CNAME at apex not allowed — use Alias records for AWS resources at root domain

Best Practices

  • ✓Use Alias not CNAME for AWS resources — free, supports apex, auto-follows resource IP
  • ✓Set low TTL (60s) during deployments — fast failover, raise to 3600 after stable
  • ✓Combine latency + health checks — multi-region with automatic regional failover

FAQ

What is AWS Route 53 DNS Service and what problem does it solve?

Highly available DNS with health checks, routing policies (geo, latency, weighted), and DNSSEC. It lets developers deploy, store, and scale without self-managing infrastructure — a core reference for cloud service selection.

How do I get started with AWS Route 53 DNS Service in 5 minutes?

Two steps to run it: (1) Create hosted zone — aws route53 create-hosted-zone --name example.com; (2) Record — A/AAAA/CNAME/MX/TXT, alias to AWS resources (no charge for alias). Validate on the free tier first, then wire into production.

What is the #1 pitfall with AWS Route 53 DNS Service?

The most frequent issue is: DNS propagation delay — changes take 60s in Route 53 but TTL caches at resolvers. Run a pre-launch checklist item by item, and add policy/config scanning in CI.

What are the best practices for AWS Route 53 DNS Service?

Best practices for AWS Route 53 DNS Service include: Use Alias not CNAME for AWS resources — free, supports apex, auto-follows resource IP; Set low TTL (60s) during deployments — fast failover, raise to 3600 after stable; Combine latency + health checks — multi-region with automatic regional failover. The first one — "Use Alias not CNAME for AWS resources — free, supports apex, auto-follows resource IP" — should be a team default baked into your IaC templates.

How do I control cost and avoid bill surprises with AWS Route 53 DNS Service?

Three ways to prevent overspend: (1) tag every resource with env/team and enable billing alarms; (2) set budget thresholds to trigger Slack/email alerts; (3) review idle resources in Cost Explorer regularly and clean them up. Most AWS Route 53 DNS Service options offer a free tier — validate within free quota before scaling.