All three (CNames, A Records and Aliases) map names to IP Addresses. The difference between these is:
Arecord maps a name to one or more IP addresses, when the IP are known and stable.
CNAMErecord maps a name to another name. It should only be used when there are no other records on that name.
ALIASrecord maps a name to another name, but in turns it can coexist with other records on that name.
The general rule is:
- use an
Arecord if you manage what IP addresses are assigned to a particular machine or if the IP are fixed (this is the most common case)
- use a
CNAMErecord if you want to alias a name to another name, and you don’t need other records (such as
MXrecords for emails) for the same name
- use an
ALIASrecord if you are trying to alias the root domain (apex zone) or if you need other records for the same name
- use the
URLrecord if you want the name to redirect (change address) instead of resolving to a destination.