DNS A record ALIASES, and ANAME record differences
We have a number of groups of servers on AWS that use trios of servers to serve out sites. Each server, or set of servers is within a different availability region, one of which is a redirection server while the other two are the primary servers accessed behind an elastic load balancer. We finally have one client on board for using Route53 and was looking up some details of pointing zone apex domains at elastic load balances. Most DNS providers which support this seem to refer to this as DNS aliases of A records. Some sites however seem to refer to a similar record called an ANAME record. This is not the typical CNAME, or the atypical DNAME record. Most of these sites also refer back to DNSMadeEasy simpleDNS which uses it.
So what is the difference between Route53 (or elsewhere's) A record ALIASes and ANAME records? Is there one? Does either of these have, or are included in an IEFT RFC implementation document or are aliased records all implemented within the provider they are use on?
[edit]: incorrect DNS provider listed for ANAME usage
It looks like ANAME
is just a standard-sounding name made up by DNS Made Easy to describe a service offering of theirs that is extremely similar to what a Route 53 Alias does.
I described the differences betweeen an Alias and a CNAME
recently on Stack Overflow, but to summarize here:
A DNS server provisioned with a CNAME
for a given host hands out a referral indicating the canonical name of the host being looked up, often requiring a second query by the origin resolver to look up that alternate name; an Alias (and from the looks of it, an ANAME
) uses internal information the DNS server knows about the "true" destination to simply respond directly to the request, without the need for a second lookup and without any visibility of the intermediate information in the DNS protocol exchanges.
What an Alias provides, in addition to this, is the ability to use information that Route 53 has in its possession about currently valid IP addresses for S3 website endpoints, ELB, and Cloudfront, to respond to A-record queries with authoritative information that is accurate in near real time, which, if you are using those services, is not something any other provider will have at their disposal; of course, the opposite is also true, a Route 53 Alias can't be used to find and return information that isn't intrinsically available to Route 53. You can't just use "any" target for an alias -- only the endpoints of the three services I mentioned above, or other records in the same hosted zone within Route 53.
In this sense, an ANAME
and an Alias are not equivalent, depending on what service is providing the back-end... unless the ANAME
is pointing (internally) to information that is static.
An ANAME
record on another DNS host's service would not be able to provide the same capabilities as Route 53 if the destination is S3, ELB, or CloudFront, in the same way that an Alias on Route 53 would not be able to return answers pointing to another CDN provider's edge locations using internally-available information, because the information isn't internally available to the provider's infrastructure. Otherwise the functionality seems largely the same.
Starting right here in the FAQ, it explains that an alias record is a Route53 specific pointer, similar to a CNAME record, but not visible to a resolver.