Aaron Janes
2 min readJan 18, 2023

--

Are you using Route53 with CNAME or Alias records to route DNS requests in your organization?

What is your strategy for managing DNS queries within #AWS?

There are several critical differences between CNAME records and Alias records for AWS:

Functionality: When you use a CNAME record, you are creating a DNS entry that maps an alias to the DNS name of an existing resource.

i.e. example.com -> www.example.com

In contrast, Amazon Route 53 alias records provide a Route 53–specific extension to DNS functionality. Alias records will map a DNS name to a particular AWS resource, such as an Elastic Load Balancer, an S3 bucket or a Cloudfront distribution. Using an alias record to route traffic to an AWS resource, Route 53 will automatically recognize changes in the resource.

Performance: When using Alias records, they work seamlessly with AWS services, which can lead to improved performance and faster load times. CNAME records may provide a different level of performance than an Alias record as they rely on the DNS service provider.

Cost: Alias records are FREE to use, while CNAME records incur additional charges from AWS

Management: Alias records are managed within AWS and do not require updating DNS zone files or configuring additional DNS records. CNAME records need to be addressed and corrected through the DNS provider.

More routing options: Alias records support additional routing options such as weighted, geographic and failover routing. CNAME records do not support these options.

Limitations: CNAME records can be used only on subdomains. In contrast, When using Alias records, you can route from the subdomain and the root. You can not use CNAME records with other AWS services like S3, SNS and Lambda. You cannot use CNAME records with other AWS services like S3, SNS and Lambda.

Generally, using Alias records over CNAME in AWS is advantageous whenever you can.

AWS Reference:

https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html

#solutionsarchitect #awscloud

--

--