DNS・名前解決 / DNS
CNAMEとは
Canonical Name。ある名前を別の正式な名前へ向けるDNSレコードです。
用語集内のカードを見るDNS・名前解決 / DNS
Canonical Name。ある名前を別の正式な名前へ向けるDNSレコードです。
用語集内のカードを見るCNAMEを、定義だけで終わらせず、現場で出てくる場面、確認材料、見落としやすい点、関連語とのつながりまで順に確認できます。
実務メモ
CNAMEはCDN、SaaS、LB、外部サービス連携で、利用者に見せる名前と実際の提供先を分けるときに使います。障害時は元FQDNだけでなく、CNAME先、さらにその先の最終A/AAAAまで追います。
証跡には元FQDN、CNAME先、最終回答、TTL、権威DNSの回答、利用者側DNSの回答、サービス側ホスト名登録、証明書SAN、確認時刻を残します。
DNS上のCNAMEが正しくても、SaaS側のホスト名検証、CDN設定、証明書、HTTP Host許可が未完了だと接続は失敗します。zone apexやMX/NSの参照先に使えない制約も見落としやすいです。
CNAME(Canonical Name)は、あるFQDNを別のFQDNの別名として扱うDNSレコードです。CDN、SaaS、外部メールサービス、ロードバランサー、検証用ドメインなどで、利用者に見せる名前と実際の提供先を分けたいときに使います。
実務では、CNAMEの値だけでなく、CNAME先がさらにどのA/AAAAへ解決されるか、TTL、証明書SAN、CDN側のホスト名登録、旧環境の受け口を確認します。別名の先を追わずに疎通だけ見ると、原因を見誤ります。
証跡には、元FQDN、CNAME先、最終A/AAAA、TTL、権威DNSの回答、利用者側DNSの回答、確認時刻を残します。
CNAMEは別名を示すだけで、最終的にはA/AAAAなどの接続先へたどり着きます。障害時は、元の名前、CNAME先、その先のCNAME、最終IPまで順番に記録します。
CDNやSaaSでは、CNAME先がサービス側で有効化されていない、ホスト名検証が未完了、証明書が発行されていない、旧CNAMEが残っている、といった状態で失敗します。
一般にzone apexではCNAMEを置けない環境が多く、MXやNSの対象名そのものをCNAMEにする設計も避けます。DNSサービスによってはALIASやANAMEのような独自機能で代替しますが、標準的なCNAMEとは挙動が違います。
CNAME同士が循環すると名前解決が失敗します。長すぎるチェーンは遅延やトラブル時の調査負荷にもなります。レビューでは、どこまで別名が続くかを図示すると関係者に伝わりやすくなります。
CNAME切替は、SaaS移行やCDN切替で便利ですが、戻し時に旧環境が同じFQDNを受けられるかを先に確認します。DNSだけ戻しても、証明書、LB、CDN、アプリ側のHost許可が古いままだと復旧しません。
TTLは元FQDNとCNAME先の両方で効きます。CNAME先のTTLが長い場合、元レコードを短くしても利用者側の見え方がすぐ変わらないことがあります。
CNAME変更では、所有者、用途、変更理由、サービス側設定、DNS回答、疎通結果、戻し条件を残します。外部サービスへ向ける場合は、契約終了時にDNSを消す条件も記録します。
引き継ぎでは、CNAMEの先を誰が管理しているか、障害時にどの管理画面を見るか、関連語としてDNS、FQDN、Aレコード、TTL、CDNを残すと追いやすくなります。
同じ主要カテゴリの用語をまとめて確認できます。現在の用語を起点に、前後の用語へ進むと文脈を保ったまま読み進められます。