【しーねーむれこーど】

CNAMEレコード とは?

最終更新:
💡 「このドメインはあっちのドメインと同じだよ」という転送指示
📌 このページのポイント
CNAMEエイリアスチェーン www.example.com ユーザーがアクセス CNAME example.com 正規ドメイン名 A 93.184.216.34 実際のIPアドレス CNAMEの動き ① www.example.com を問い合わせ ② CNAMEレコード発見 → example.com ③ example.com を再度問い合わせ ④ Aレコード → 93.184.216.34 を返却 ポイント IP変更時はAレコードだけ修正 複数サブドメインの一括管理 ゾーンの頂点(apex)には使用不可 チェーンが長いと解決が遅延
CNAMEレコードの仕組み
ひよこ ひよこ
CNAMEレコードって何をするの?
ペンギン先生 ペンギン先生
ドメインに別名をつけるレコードだよ。「www.example.com」の実体は「example.com」です、みたいに指し示す設定なんだ。
ひよこ ひよこ
AレコードとCNAMEレコードの違いは?
ペンギン先生 ペンギン先生
AレコードドメインIPアドレスの直接対応、CNAMEレコードドメイン → 別のドメイン名への対応だよ。CNAMEを設定した先のドメインAレコードでIPに解決される、という2段階になるんだ。
ひよこ ひよこ
CDNを使うときにCNAMEを設定するって聞いたけど?
ペンギン先生 ペンギン先生
そう!たとえばCloudflareCloudFrontを使うとき、「assets.example.com」のCNAMEをCDNが発行するドメイン名に設定するんだ。CDN側のIPアドレスが変わっても、CNAMEの先を変えるだけで対応できる利点があるよ。
ひよこ ひよこ
ルートドメインにはCNAMEを使えないって本当?
ペンギン先生 ペンギン先生
これがちょっとハマるところで、「example.com」そのもの(ZoneApexとか裸ドメインと呼ぶ)にはCNAMEを設定できない、とDNSの仕様で決まってるんだ。理由はMXレコードなど他のレコードと共存できないから。ただしCloudflareなどのDNSサービスは「CNAME Flattening」という独自技術でこれを回避してる。この制約はインフラ経験者でも「なぜ?」と改めて聞かれると詰まる部分だよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「CNAMEレコード」って出てきたら「あるドメインを別のドメインに紐づける別名設定のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Canonical Name Record」 = 正規名の記録
💬 Canonicalは「正規の・本物の」という意味。CNAMEは「このドメインの本当の名前はあっちだよ」と指し示すレコードだよ
← 用語集にもどる