There are many cases in which you may need to create an "empty" DNS record. Empty records have no associated answer—they simply point to another DNS record. Using empty records can help simplify system configuration and expedite system maintenance. For example, if you have a particularly complex record configuration or if you need to implement a new service (e.g. a new CDN), you can create a CNAME record, for example, that mirrors the configuration of the parent record instead of having to manually configure both records.
There are several ways to point one DNS record to another—each optimized for a specific use case. Before configuration, it’s important to understand each option so to identify the record type best suited to your specific needs.
Below are a few key terms and concepts relevant to understanding different record types:
- Source: the indirect record (CNAME, ALIAS, or linked) (child record)
- Target: the resulting endpoint (parent record)
- Advanced configuration: an NS1-specific record configuration using filters or metadata
- Zone apex: the root domain name to which the SOA record refers; the zone with no further hostnames attached (e.g. example.com)
|Use:||To implement simple indirection via referrals|
|Don't use:||The source is the zone apex, or when the target is in a different zone in NS1 and has an advanced configuration|
|Source record type:||CNAME, part of DNS specification|
|Target record type:||Any (typically A or AAAA)|
|Query result:||CNAME record
Note: If the target exists in the same zone, it’s possible for the query result to be the target record as well.
|Can point to domains outside of NS1?||Yes|
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 can be anywhere else on the internet. If the target record exists in the same zone, NS1 will automatically add the target answer to the query result, eliminating additional round trips. Otherwise, full CNAME resolution may involve the DNS recursor making additional requests.
When queried, a CNAME will always include a CNAME record in the response and, as described, might also include the resolved record pointing to the target—typically, an A or AAAA record. The biggest challenge with CNAME records is that, according to the DNS RFC, it cannot be used at the zone apex level. If you wish to point your zone apex to another record, use an ALIAS record.
|Use:||To achieve the same functionality as a CNAME record at the zone apex|
|Don't use:||Non-zone apex records|
|Source record type:||NS1-specific ALIAS pseudo-record (Note: Not in DNS specification.)|
|Target record type:||A or AAAA|
|Query result:||A or AAAA record(s)|
|Chaining allowed?||Yes (inefficient)|
|Can point to domains outside of NS1?||Yes|
ALIAS is a pseudo-record that works like a CNAME record, but can be used safely at the zone apex because it always resolves to A (or AAAA) record(s). Resolution to the target is a completely internal process—DNS recursors making the query will not be able to differentiate between an ALIAS record and a “real” A (or AAAA) record. When queried, an ALIAS record will always return one or more A or AAAA records. Since ALIAS is a pseudo-record, the query result will never contain ALIAS.
There is no good reason to use an ALIAS record outside of the zone apex. Since it requires an extra external lookup, resolution can be slower than a CNAME or linked record.
|Use:||To reuse an existing NS1 record that has an advanced configuration|
|Source record type:||Any|
|Target record type:||(same as source)|
|Query result:||Based on target|
|Can point to domains outside of NS1?||No|
NS1 allows for advanced DNS record configuration far beyond traditional tools and capabilities. Using a linked record avoids the timely and error-prone tasks of manually creating and maintaining identical configurations across multiple records. Linked records tell the NS1 authoritative server to use the full configuration from a target record that exists somewhere else on the NS1 platform. Note: The target record does not need to be in the same zone as the linked record.
For example, a CDN using NS1 DNS services can instruct its customer (who is also using NS1) to use a linked record to point to the customer’s domain at the CDN, instead of a CNAME. This eliminates DNS round trips and (for A or AAAA records) allows direct resolution at the zone apex. A linked record can be any record type (A, MX, CNAME, etc.), but it must be the same types as a target or it will not resolve.
Compared to a CNAME record, a linked record typically requires one less DNS lookup—often shortening the response time for the requesting resolver or user to receive the final answer.
Linked records are specific to NS1, and their resolution is a completely internal process. During resolution, the full configuration from the target record (including advanced configuration options) is duplicated into the source record such that (other than the name of the record) they resolve identically. DNS recursors making the query will not be able to differentiate between a linked record and the “real” target to which it points.
Linked records support all NS1 features and capabilities used by the target record—including real-time data feeds.