【しーねーむれこーど】

CNAMEレコード とは?

最終更新:
💡 DNSで「この名前は、別の名前のエイリアス」と示す

あるドメイン名を別のドメイン名の「別名(エイリアス)」として設定するDNSレコードの種類。

📌 このページのポイント
別名から名前をたどって解決する 別名 www.example.com CNAME 参照先の名前 example.com A IPv4の例 192.0.2.10 www.example.com ブラウザのURLは変わらない 通常のCNAMEは、ゾーン頂点に置けない 頂点にはSOA・NSが必要
CNAMEは別の名前を指すDNSレコード。図はIPv4アドレスを求める例で、通信回数を表さない。
ひよこ ひよこ
CNAMEレコードって何をするの?
ペンギン先生 ペンギン先生
あるドメイン名を別のドメイン名の別名として設定するよ。たとえばwww.example.comのCNAMEをexample.comにすると、DNSの名前解決はその名前をたどるんだ。
ひよこ ひよこ
Aレコードと何が違うの?
ペンギン先生 ペンギン先生
Aレコードは名前とIPv4アドレスの対応、CNAMEは名前と別の名前の対応だよ。その先でアドレスを調べる。CNAMEが連続する場合もあり、キャッシュや応答の内容によって通信回数は変わるので、必ず2回問い合わせるという意味ではないんだ。
ひよこ ひよこ
ブラウザのURLもexample.comへ変わる?
ペンギン先生 ペンギン先生
CNAMEだけでは変わらないよ。DNSは接続先を調べる仕組みで、HTTPのリダイレクトとは別なんだ。Webサービス側にも、その別名でアクセスを受けるための設定が必要だよ。
ひよこ ひよこ
CDNの名前を指定する利点は?
ペンギン先生 ペンギン先生
サービスが案内する名前をCNAMEの参照先にできるよ。その名前は同じまま、サービス側がアドレスの対応を更新できるので、利用者がIPアドレスの変更ごとにCNAMEを書き換える必要はないんだ。
ひよこ ひよこ
ゾーンの頂点には、どうして置けないの?
ペンギン先生 ペンギン先生
頂点にはSOAとNSのレコードが必要で、通常のCNAMEはそれらと同じ名前に共存できないからだよ。CloudflareのCNAME flatteningでは参照先を解決し、通常のCNAMEではなく最終的なIPアドレスを返すことで、頂点での別名設定に対応しているんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「CNAMEレコード」って出てきたら「DNSで別のドメイン名を指す別名設定」と思えばだいたいOK!
📖 おまけ:英語の意味
「Canonical Name Record」 = 正規名の記録
💬 Canonicalは正規のという意味。CNAMEは、別名に対応する正規の名前を指すDNSレコードだよ。Webページの転送指示ではないんだ。

参考資料

← 用語集にもどる