CNAME レコード (Canonical Name Record) とは、 DNS でドメイン名の別名 (エイリアス) を定義するレコードです。あるドメインを別のドメインに紐づけることで、 IP アドレスを直接指定せずにドメインの解決を委任できます。
CNAME の最も一般的な用途は、カスタムドメインの短縮 URL サービスへの接続です。たとえば、自社ドメイン link.example.com を短縮 URL サービスのサーバー (custom.bitly.com など) に向ける場合、 DNS に「 link.example.com CNAME custom.bitly.com 」と設定します。これにより、 link.example.com へのアクセスが自動的に短縮 URL サービスのサーバーに転送されます。
CNAME には重要な制約があります。 Zone Apex (ネイキッドドメイン、例: example.com) には CNAME を設定できません。 RFC 1034 の仕様上、 CNAME は他のレコードタイプと共存できず、 Zone Apex には必ず SOA レコードと NS レコードが存在するためです。この制約を回避するために、 AWS Route 53 の ALIAS レコードや Cloudflare の CNAME Flattening といった独自拡張が各 DNS プロバイダーから提供されています。
CNAME と A レコードの使い分けも実務上重要です。 A レコードは IP アドレスを直接指定するため、サーバーの IP が変わると手動で更新が必要です。 CNAME は名前解決を委任するため、サービス側の IP 変更に自動的に追従します。短縮 URL サービスのように IP アドレスが変わる可能性がある場合は、 CNAME の方が運用負荷が低くなります。関連書籍は Amazon でも探せます。