Usually, if you want to use the configuration associated with a DNS name when answering queries for another name, you use a CNAME record. It turns out there are some problems with CNAME records: they can’t be used at the apex of a DNS zone, and they sometimes result in an extra DNS lookup which can impact truly performance sensitive applications.
At NS1, we’re all about pushing the boundaries of what’s possible with DNS. A while back, we announced ALIAS records, which specifically address the zone apex problem, allowing you to point apex domains at other hostnames which NS1 resolves behind the scenes. And more recently, we announced linked records, a way to directly “symlink” a DNS record to the configuration associated with another one in our systems, eliminating performance and management overhead.
With all these options, deciding how to point one DNS name at another can get a little confusing, so here’s a quick guide. For even more in depth guidance on this topic, see our knowledge base article.
You need simple indirection via referrals.
You want the functionality of a CNAME, but need it at the Zone Apex
You want to reuse an existing NS1 record that has Advanced Configuration.
Don’t Use When
The Source is the Zone Apex, or when the Target is in a different zone in NS1 and has Advanced Configuration.
You are adding records that are not at the zone apex.
You need to point to records outside the NS1 network.
CNAME is the most well known way to “symlink” one DNS record to another. It works by answering queries asking for the Source with a simple referral (by domain name) to the Target, which may be anywhere else on the internet.
NOTE: CNAME records cannot be used at the Zone Apex level (see RFC 2181. If you wish to point your Zone Apex to another record, use an ALIAS record.
ALIAS is a pseudo-record that works like a CNAME but can be safely used at the Zone Apex because it always resolves to A (or AAAA) record(s).
There is no compelling reason to use an ALIAS record outside of the Zone Apex. Since it requires an extra external lookup, it can be slower than a CNAME or a Linked Record.
Because NS1 allows for advanced record configuration far beyond traditional DNS records, it can be a burden to maintain identical Advanced Configurations across multiple records.
To alleviate this, use a Linked Record to tell the NS1 authoritative server that it should use the full configuration from the Target record which exists elsewhere on the NS1 platform.
The Target record does not need to be in the same zone as the Linked Record. For example, a CDN using NS1 can tell its customer, also using NS1, to use a Linked Record to point the customer’s domain at the CDN, instead of a CNAME — eliminating DNS round trips and (for A or AAAA records) allowing direct resolution at the Zone Apex.
Linked records take full advantage of all features of the NS1 platform that are used by the Target record, including real-time Data Feeds.