CNAMEレコードとは?
CNAMEレコード(Canonical Name)は、別名ホストを正規ホストへ対応付けるDNSエントリです。リゾルバが別名を問い合わせると、チェーンをたどって正規ターゲットのAまたはAAAAレコードに到達し、その背後のIPアドレスを返します。これにより、IPをハードコードや公開することなく、サブドメインをサードパーティのサービスへ委任する標準的な方法となります。
CNAMEは現代のメール・Web運用の中核です。CDNは絶えず変わるIPを公開しており、CNAMEだけがそれを綺麗に追跡できます。DKIM-as-a-Serviceのベンダーはセレクタ鍵にCNAME委任を要求し、SaaSプラットフォームは顧客向けエンドポイントのブランディングに利用します。標準は RFC 1034 および RFC 2181 で定義されています。
なぜCNAMEレコードを確認すべきか?
1壊れた別名を早期に発見
ベンダーがホスト名を変更・廃止すると、CNAMEは静かに壊れます。チェッカーだけがそれを可視化します
2DKIM・BIMI委任の確認
どちらもベンダーが管理するレコードを指すCNAMEに依存します。チェーンが最後まで解決されることを確認しましょう
3レコード混在エラーの回避
CNAMEは同名上で他のレコードと共存できません。チェッカーは衝突を即座に検出します
4移行カットオーバーの監査
新しいSaaSへカスタムドメインを向け直した後、変更を告知する前に正規ターゲットを確認しましょう
CNAME解決の仕組み — ステップごとの流れ
DNSプロバイダーが別名(例:`www.example.com`)を正規ターゲット(`example.com` またはベンダーのホスト)へ対応付けるCNAMEレコードを公開します。
クライアントが別名を問い合わせると、リゾルバはCNAMEを返し、続いて正規ターゲットへ問い合わせます。
ターゲット自身もCNAMEの場合、リゾルバはチェーンをたどります。多くの実装ではおおよそ8ホップまで許容されます。
リゾルバがAまたはAAAAレコードを見つけると、そのIPを元のクライアントへ返します。
チェーン全体(別名 → 中間別名 → Aレコード)は各ホップでレコードのTTLに従いキャッシュされます。
CNAMEレコードの構文
www.example.com. 300 IN CNAME example.com.フィールドの内訳
別名— 委任を行うホスト名TTL— キャッシュ有効秒数(300 = 5分)IN— インターネットレコードクラスCNAME— レコードタイプターゲット— 正規ホスト名(末尾はピリオド必須)よくあるCNAMEの不具合と対処
頂点(Apex)でのCNAME
Apexドメインに直接CNAMEは置けません。DNSプロバイダーのALIASまたはANAMEレコードを使用してください
他のレコードと併設
RFC 1034は、同名にMX・TXT・Aが存在する場合のCNAMEを禁止します。レコードを別の名前に分けましょう
宙ぶらりんのターゲット
正規ターゲットが存在しないとリゾルバはNXDOMAINを返します。生きているターゲットへ向け直してください
チェーンが長すぎる
8ホップを超えるチェーンは一部のリゾルバが中断します。最終ターゲットへ直接指して平坦化しましょう
よくある質問 (FAQ)
CNAME(Canonical Name)は、あるホスト名を別のホスト名へ対応付けるDNSエントリです。IPアドレスを直接指す代わりに、ホスト名が正規ターゲットの別名となるため、ターゲット側のAやAAAAレコードの更新がすべての別名に自動で反映されます。wwwサブドメイン、CDNエンドポイント、SaaSのカスタムドメイン、そしてDKIMやDMARCレポート用のメール認証委任で広く使われます。
現代のメール認証は、CNAMEで委任されたDKIM鍵やBIMI(Branded Indicators for Message Identification)に依存します。DKIMセレクタやBIMIロゴURLのCNAMEが壊れていると、受信側が信頼スコアを下げて迷惑メールへ振り分ける可能性があります。チェッカーは別名が期待通りにターゲットへ解決されるかを確認し、署名やブランド表示が最後まで機能することを保証します。
CNAMEチェーンは、別名がさらに別の別名を指し、最終的にAレコードに到達するまでの連なりです。多くのリゾルバはチェーンを透過的にたどりますが、ホップが増えるほどレイテンシが増し、設定ミスのリスクが高まり、1段階しかたどらない検証ツールでは壊れることがあります。チェッカーはチェーンの各ステップを表示し、不要なホップを平坦化できるようにします。
厳密には不可です。RFC 1034はCNAMEと他のレコードの併設を禁じており、apexドメインには常にSOAとNSレコードが必要です。一部のDNSプロバイダーは、ターゲットからAレコードを合成するALIAS、ANAME、CNAME-at-apexのフラット化機能を提供します。これらを使う場合でも、解決されたIPが期待通り動作することを当チェッカーで確認できます。
結果が空の場合、CNAMEがまだ公開されていない、誤ったサブドメインに追加されている、ターゲットにタイプミスがある、のいずれかが一般的です。DNS伝播は最大48時間かかることがありますが、現代のプロバイダーは数分で更新されます。DNSパネルにレコードが存在することを確認し、再度チェックしてください。
CNAME がプロバイダーの指定したターゲットを正確に指しているか、タイプミスや末尾のドットがないかを確認し、さらに DNS が禁止している、他のエントリも存在するレコードに CNAME を設定していないかを確認します。DNS 設定でターゲットを修正し、反映までの時間をおいてから、再度チェックしてください。