CNAMEレコード
ひとことで
CNAMEレコードは、一つの名前を別の名前の別名にするDNSの項目です。サーバーの番号を直接指す代わりに、「別の名前を調べ、その答えを使う」と指定するため、wwwなどのサブドメインに適しています。
CNAMEの仕組み
CNAMEはcanonical nameの略です。www.example.comのCNAMEレコードは、「本当の名前はsites.example.netです」と指定するものです。ブラウザーがwwwを問い合わせると、DNSは別名をたどり、本当の名前を調べ、その名前が指す接続先を返します。
便利なのは、自分のレコードにサーバーの番号をコピーする必要がないことです。接続先のサービスがサーバーを移しても、そのサービスが自分の名前を更新すれば、CNAMEはそのまま動き続けます。
使える場所
CNAMEはwww、shop、helloなどのサブドメインで使えます。ホスティングサービスがよく指定するのは、利用者にDNSの再編集を頼まず、自分たちの構成を変えられるためです。
厳密な規則が二つあります。CNAMEを持つ名前は同時に他のレコードを持てないため、まったく同じ名前でMXやTXTレコードと並べて置くことはできません。また、apexと呼ばれるドメイン自体へのCNAMEも標準では認められません。apexにはネームサーバーなどの他のレコードが必要だからです。一部のDNSサービスは、ALIAS、ANAME、flatteningなどと呼ぶ類似のレコードを提供し、apexでCNAMEのように動作させられます。
CNAMEかAレコードか
接続先のホスト名を指定されたらCNAMEを使います。IPアドレスを指定された場合やapexを設定する場合は、Aレコードを使います。多くの構成では両方を使い、example.comにAレコード、www.example.comにCNAMEを設定します。
CNAMEを確認する
保存したレコードがすべての場所に反映されるまで、TTLに応じて少し時間がかかることがあります。DNSチェッカーでは、名前が現在どこを指しているか確認できます。独自ドメインのガイドは、Mini Casaに追加するレコードを説明しています。独自ドメインはプレビュー中です。アカウントでドメイン接続を使えるようになると、正確な接続先がダッシュボードに表示されます。詳しくは独自ドメインのページをご覧ください。
よくある質問
ルートドメインにCNAMEを使えますか?
通常のCNAMEとしては使えません。apexにはネームサーバーなどの他のレコードがあるため、標準で禁止されています。同じ結果を得られるALIASやフラット化レコードを提供するDNSサービスもあります。
CNAMEが別のレコードと競合するのはなぜですか?
CNAMEを持つ名前には、他の種類のレコードを置けません。同じ名前にA、MX、TXTレコードがすでにある場合は、CNAMEを追加する前に削除するか移動してください。