「AレコードとCNAMEって何が違うの?」「wwwありとwwwなしでどちらをどう設定すればいいの?」という疑問は、サイト担当者でなくても直面しやすい問題です。DNSの設定を間違えるとサイトが表示されなくなるため、基本を押さえておくと安心です。この記事では、AレコードとCNAMEレコードの役割の違いと、場面に応じた使い分けをわかりやすく解説します。

AレコードとCNAMEレコードの役割

まず、2つのレコードの基本的な役割を整理しましょう。

レコード対応内容
Aレコードドメイン → IPアドレスexample.com → 203.0.113.1
CNAMEレコードドメイン → 別のドメイン名www.example.com → example.com

Aレコード(Address Record) は、ドメイン名とサーバーのIPアドレスを直接ひもづける設定です。「このドメインにアクセスしたら、このIPアドレスのサーバーへ」という案内役です。

CNAMEレコード(Canonical Name Record) は、あるドメイン名を別のドメイン名に向ける設定です。IPアドレスではなくドメイン名に向けるため、参照先のIPアドレスが変わっても自動的に追従してくれます。

ルートドメインにCNAMEを設定できない理由

重要なルールとして、ドメインそのもの(ルートドメイン)にはCNAMEを設定できません。

たとえば example.com 自体にCNAMEを設定することはDNSの仕様上できません。その理由は、ルートドメインにはMXレコード(メールの設定)やNSレコード(ネームサーバーの設定)など、他のレコードと共存する必要があるためです。CNAMEはそれらと同居できないというルールがあります。

そのため、一般的な設定は次のようになります。

  • example.comAレコードでIPアドレスに向ける
  • www.example.comCNAMEレコードexample.com に向ける

wwwあり・wwwなしの設定

多くのサイトでは、example.com(wwwなし)と www.example.com(wwwあり)の両方が同じサイトを表示するよう設定されています。その場合の典型的な構成は以下のとおりです。

example.com        A     203.0.113.1
www.example.com    CNAME example.com

www.example.com をCNAMEで example.com に向けておけば、Aレコードのサーバー情報が変わったときも www 側を更新する必要がなく、管理がシンプルになります。

CDN・クラウドサービス接続ではCNAMEを使う

CloudflareやAWSのCloudFront、Fastlyといった**CDN(コンテンツ配信ネットワーク)**や、各種クラウドサービスに接続する際は、CNAMEレコードを指定されることがほとんどです。

たとえば CloudFront の場合、払い出されるエンドポイントは xxxxx.cloudfront.net のようなドメイン名です。このドメインのIPアドレスはAWSの都合で変わることがあるため、固定のIPアドレスが提供されません。そのため

www.example.com    CNAME    xxxxx.cloudfront.net

のようにCNAMEで接続する形が推奨されます。CNAMEなら参照先のIPが変わっても自動追従できるからです。

なお、ルートドメインをCDNに向けたい場合は、一部のDNSサービス(CloudflareのALIASレコードや、Route 53のALIASレコードなど)が独自の拡張機能を提供しています。

設定時の注意点

  • TTL(Time to Live)の値に注意する:レコードを変更する前にTTLを短くしておくと、変更後の反映が速くなります。通常は300〜3600秒程度に設定されていますが、変更予定がある場合は事前に短縮しておきましょう。
  • CNAMEの連鎖は最小限に:CNAMEがさらに別のCNAMEを参照する「CNAME連鎖」は避けるのが原則です。参照回数が増えるほど応答が遅くなります。
  • サブドメインとルートドメインを混同しないsub.example.com はサブドメインでCNAME可、example.com はルートドメインでCNAME不可という区別をしっかり覚えておきましょう。

DNSレコード全体の種類や役割については DNSレコードの種類(A・CNAME・MX・TXT)をわかりやすく解説 で詳しくまとめていますので、あわせてご参照ください。

まとめ

  • Aレコード:ドメイン → IPアドレスに直接対応させる。ルートドメインにはAレコードを使う
  • CNAMEレコード:ドメイン → 別のドメイン名に対応させる。wwwサブドメインやCDN接続に向く
  • ルートドメインにCNAMEを設定することはDNSの仕様上できない
  • CDN・クラウドサービスへの接続はCNAMEを使うケースが多い
  • 変更前にTTLを短くしておくと反映がスムーズになる

DNS設定の変更は、間違えるとサイト表示に影響することがあります。Web Gear では新潟の事業者様のDNS設定確認・変更作業をサポートしております。「設定が合っているか不安」という場合もお気軽にご相談ください。

お問い合わせはこちら