AWS Route 53 Support

Route 53 alias vs CNAME: which to use.

A CNAME cannot exist at the zone apex and cannot coexist with other record types for the same name. Route 53 alias records solve both limits for AWS targets. We choose the right record type and fix the errors people hit when they get it wrong.

AliasRoute 53 specific, works at apex
CNAMENot allowed at apex
Alias queriesTo AWS targets are not billed
Evaluate Target HealthAlias only

When You Need This

The situations where this work pays for itself.

Signs it is time

  • You see "RRSet of type CNAME with DNS name is not permitted at apex"
  • You need example.com itself to point at CloudFront or a load balancer
  • Email stopped working after adding a CNAME
  • You want DNS queries to AWS targets to cost nothing extra
  • A load balancer or CloudFront IP changes and your record goes stale

What you get

  • A corrected record set in infrastructure as code
  • A map of each name, its target and record type
  • Fixes for apex and email-related conflicts
  • Notes on which targets support alias

How we do it

A clear, safe process you can follow along with.

1. List the records and their targets

We review each name and what it points to: AWS resource, external host or fixed IP. The target determines the options.

2. Use alias for AWS targets

For CloudFront, ELB, API Gateway custom domains, S3 website endpoints, Global Accelerator and other supported targets, we create an alias A (and AAAA) record. Route 53 follows the target's current addresses automatically.

3. Use CNAME where alias is not possible

For targets outside AWS, subdomains pointing to a hostname, or third-party services, a CNAME is correct, but only on non-apex names with no other records of that name.

4. Fix the apex

For an external service at the apex, we use the service's provided A records, or serve a redirect from the apex to a subdomain such as www through CloudFront or S3 redirect hosting.

5. Check coexistence conflicts

A name with MX, TXT or other records cannot also have a CNAME. We separate such names or change the design so email and verification records stay intact.

6. Verify and set TTLs

We query with dig, check the chain resolves, confirm health evaluation behaves as intended and apply sensible TTLs. Alias records inherit the target's TTL.

Mistakes we help you avoid

Common ways this goes wrong, and what we do instead.

CNAME at the apex

DNS standards forbid it, and Route 53 rejects it. Use alias or an A record.

Hard-coding load balancer IPs

They change. Alias or CNAME to the DNS name instead.

CNAME on a name with MX records

It breaks mail delivery for that name.

Forgetting the AAAA alias

If the target supports IPv6, add the AAAA alias too.

Frequently Asked Questions

What is the difference between an alias record and a CNAME?

A CNAME maps one DNS name to another and cannot be at the apex. An alias is a Route 53 extension that points to supported AWS resources, works at the apex and is not charged per query for AWS targets.

Can I point my root domain to a load balancer?

Yes, with an alias A record to the load balancer, because a CNAME is not permitted at the apex.

Does an alias record work with non-AWS targets?

No. Alias targets are limited to supported AWS resources and other records in the same hosted zone.

Want Help With Route 53 alias vs CNAME: which to use?

Schedule an appointment. Tell us about your environment and we will outline the safest, highest-value approach.

Schedule Appointment › No commitment required