AレコードとCNAMEの違い:サイトに使うDNSレコードの選び方
AレコードはIPアドレス、CNAMEは別のホスト名を指します。ルートドメインの制約、使い分け表、サイトビルダーでの設定例をまとめました。
よくある質問
ルートドメインにCNAMEを設定できますか?
DNSの標準的なルールでは設定できません。CNAMEは同じ名前に他のレコードを共存させられず、ドメインのルートには必ずNSレコードとSOAレコードがあるためです。DNSプロバイダーによっては、ALIAS、ANAME、CNAMEフラットニングといった機能で回避できます。これらはCNAMEのように設定でき、応答はAレコードとして返されます。呼び方はプロバイダーごとに違うので、ドキュメントで確認してください。
CNAMEとAレコードでは、どちらが速いですか?
訪問者にとって、その差はたいてい体感できないほどわずかです。CNAMEの場合、リゾルバーが最初にエイリアスをたどるときだけ追加の問い合わせが1回発生し、その後はTTLに従ってキャッシュされます。速度ではなく、ホスティング先の指示と、その名前がルートドメインかどうかで選びましょう。
ホスティング先から、wwwにはCNAME、ルートドメインにはIPアドレスを案内されるのはなぜですか?
wwwはサブドメインなのでCNAMEを使えますが、ルートドメイン(apex)では使えないからです。apex用に固定IPアドレスを公開しているホストは、Aレコードに入れられる値を案内しています。ホスト名しか案内しないホストは、サブドメインにはCNAMEを、apexにはDNSプロバイダーが対応していればALIAS系のレコードを使う前提です。
同じ名前にAレコードとCNAMEを両方設定できますか?
できません。ある名前にCNAMEがあると、Aレコード、MXレコード、TXTレコードなど、他の種類のレコードは一切置けません。DNS管理画面で2つ目のレコードの保存が拒否される場合もあれば、保存できても名前解決が不安定になる場合もあります。新しい種類のレコードを追加する前に、古いレコードを削除してください。
apexのレコードを変更すると、メールに影響しますか?
ルートドメインのAレコードを変更しても、メールには影響しません。メールの配送はMXレコードで制御されているためです。危険なのは、apexにCNAMEを追加することです。メールに必要なMXレコードやTXTレコードと衝突してしまいます。サイトを移行するときは、MXレコードをそのまま残し、AレコードまたはAAAAレコードだけを変更してください。
結論: Aレコードは名前をIPv4アドレスに直接対応づけます。CNAMEは名前を別のホスト名に対応づけ、最終的なアドレスはそのホスト名側のレコードに任せます。ルートドメイン(example.com)にはAレコードを、www、shop、blogなどのサブドメインには、ホスティング先がIPではなくホスト名を案内している場合にCNAMEを使います。重要なルールは、CNAMEはドメインのルートには置けないということです。
それぞれのレコードが指すもの
Aレコード:名前からIPアドレスへ
Aレコードは「この名前のIPv4アドレスは何か」という問いに答えます。ゾーンファイルでは次のように書きます。
`` example.com. 3600 IN A 192.0.2.10 ``
このアドレス(ドキュメント用に予約された範囲のもの)が、ブラウザーの接続先サーバーです。IPv6アドレスもある場合は、AAAAレコードを並べて追加します。サーバーのアドレスが変わったときは、自分でレコードを編集する必要があります。
CNAMEレコード:名前から別の名前へ
CNAME(「正規名」を意味するcanonical name)は、「この名前は、あの別の名前の別名です」と宣言します。IPアドレスは含みません。
`` www.example.com. 3600 IN CNAME sites.hostingprovider.example. ``
リゾルバーはエイリアスを見つけると、指定先を引き直し、そこにあるAレコードまたはAAAAレコードを使います。利点は、ホスティング先がサーバーのアドレスを変えても、自分のDNSを触らずに済むことです。基本的な定義はCNAMEとはを、レコードの種類全般はDNSレコードの種類を解説をご覧ください。
apexの制約を解説
apex(ルート、ベア、ネイキッドドメインとも呼ばれます)は、何も前置きのない名前、つまりexample.comのことです。DNSのルールでは、CNAMEを持つ名前には他の種類のレコードを置けません。ところがapexには、必ず他のレコードがあります。
- ドメインの権威サーバーを示すNSレコード
- SOAレコード
- 通常は、メール用のMXレコードと、所有確認やSPF用のTXTレコード
apexにCNAMEを置くと、これらすべてと衝突します。DNS管理画面によっては保存自体を拒否されます。保存できてしまう場合は、メールの配送やドメイン認証が気づかないうちに壊れることがあり、そのほうが厄介です。
サブドメインにはこの問題がありません。www.example.comには、通常その名前に他のレコードがないためです。ホスティング先がほぼ必ずwwwにCNAMEを案内するのは、これが理由です。
回避策:ALIAS、ANAME、フラットニング
多くのDNSプロバイダーは、apexでCNAMEのように動く非標準のレコードを用意しています。呼び名はさまざまで(ALIAS、ANAME、「CNAMEフラットニング」など)、プロバイダー側が指定先のホスト名を解決し、訪問者には通常のAレコードとして応答します。これらはDNSの標準ではなくプロバイダー独自の機能なので、名称も挙動も、利用できるかどうかも異なります。使う前にDNSプロバイダーのドキュメントを確認し、別のプロバイダーの管理画面に同名のレコードタイプがあると決めつけないでください。
AレコードとCNAME:どちらを使うか
| 状況 | 使うもの | 理由 |
|---|---|---|
| ルートドメイン(example.com)で、ホストがIPアドレスを案内している | A(IPv6を案内された場合はAAAAも) | apexにはAレコードを置ける |
| ルートドメインで、ホストがホスト名しか案内していない | DNSプロバイダーが対応していればALIAS/ANAME/フラットニング。なければDNSを移すか、ホストのネームサーバーを使う | 標準のCNAMEはapexでは使えない |
| wwwサブドメインで、ホストがホスト名を案内している | CNAME | ホストのサーバーが移転しても追従できる |
| サブドメインで、ホストがIPアドレスを案内している | A | CNAMEの指定先がない |
| SaaSツール用のサブドメイン(help、status、shopなど) | CNAME | 指定先はベンダーが管理する |
| MXやTXTも必要な名前 | A、AAAA、またはALIAS系。CNAMEは不可 | CNAMEは他のレコードと共存できない |
| 自分で管理している別の名前に向ける | CNAME | 更新箇所が1か所で済む |
| メールサービス用レコード(DKIMセレクター) | メールプロバイダーが指示した場合のみCNAME | プロバイダー固有の指示に従う |
メール配送については、MXレコードの仕組みとTXTレコードの役割をご覧ください。
サイトビルダーでの設定例
ほとんどのウェブサイトビルダーやホスティングは、次の2つのパターンのどちらかに当てはまります。どちらに該当するかは、管理画面に表示されます。
パターン1:ホストがIPアドレスとホスト名の両方を案内する場合
両方を案内するホストは多くあります。典型的な設定は次のとおりです。
| ホスト(名前) | タイプ | 値 |
|---|---|---|
| @(ルート) | A | ホストが案内するIPアドレス |
| www | CNAME | ホストが案内するホスト名 |
ほとんどのDNS管理画面では、@がapexを意味します。ホストが表示する値をそのまま使ってください。IPアドレスは変更されることがあるため、この記事を含め、ブログ記事から写さないでください。
パターン2:ホストがホスト名しか案内しない場合
固定IPを使わないプラットフォームもあります。その場合の選択肢は3つです。
- wwwにCNAMEを設定し、レジストラーの転送機能でルートドメインをwwwにリダイレクトする。
- DNSプロバイダーが対応していれば、apexにALIAS/ANAME/フラットニングのレコードを使う。
- ドメインのネームサーバーを、ホストまたはapexのエイリアスに対応したDNSプロバイダーに切り替える。
選択肢1は、どのレジストラーでもリダイレクトができるため最も移行しやすい方法です。ただし、ルートドメインでアクセスした訪問者にとっては、経由が1回増えます。
手順:ドメインをサイトビルダーに向ける
- ホストのDNS案内を確認します。 ドメインまたは独自ドメインの設定画面で、IP、ホスト名、またはその両方のどれが案内されているかを確認します。
- DNS管理画面を開きます。 ネームサーバーの向き先にあたる、レジストラーまたはDNSプロバイダーの画面です。
- 競合するレコードを削除します。 同じ名前にある古いAレコードやCNAME(多くはレジストラーのパーキングページ用)を、先に削除する必要があります。
- apexのレコードを追加します。 ホストのIPを使ったAレコード、またはホストのホスト名を使ったALIAS系レコードを設定します。
- wwwのレコードを追加します。 ホストが案内したホスト名を指すCNAMEを設定します。
- MXレコードとTXTレコードはそのままにします。 メールを意図的に変更する場合を除き、触らないでください。
- 古いレコードのTTLが切れるまで待ち、ブラウザーでドメインを確認します。変更の1日前にTTLを短くしておくと、切り替えが早くなります。
- ホスト側でドメインが接続済みと表示されていることと、HTTPSが発行されていることを確認します。証明書の発行には、通常、先にDNSが正しく解決される必要があります。
トラブルシューティング・チェックリスト
- [ ] 同じ名前にCNAMEと他のレコードが同居していない
- [ ] apexにCNAMEがない(プロバイダー独自のALIAS系レコードは除く)
- [ ] CNAMEの指定先が実在のホスト名で、http://のURLやパスになっていない
- [ ] AレコードにはIPv4アドレスだけが入っている(ポート番号やhttps://は不可)
- [ ] 古いサーバーを指す古いAAAAレコードが残っていない
- [ ] 実際にレコードを編集した場所が、現在のネームサーバーである
- [ ] このドメインでメールを使っている場合、MXレコードが残っている
よくある間違い
- wwwを「直す」ためにルートへCNAMEを置く。 代わりにメールや認証用のレコードが壊れます。AレコードまたはALIASの方法を使ってください。
- 古いIPアドレスをそのままコピーする。 CNAMEが使えるなら、ホストの変更に自動で追従できます。どうしてもAレコードを使う場合は、動かなくなったときにホストの管理画面でIPを確認し直してください。
- URLを指定先として貼り付ける。 DNSの値はホスト名またはIPのみで、https://や末尾のパスは入れません。
- AAAAを忘れる。 IPv6レコードが残っていると、一部の訪問者が使っていないサーバーに誘導されることがあります。
プラットフォームをまだ選んでいない場合、We.Incの無料プランでは、用意されたテンプレートから最大3サイトを公開できます。プロンプトからサイトを下書きするAIビルダーは、月額$20のStarterプランから使えます。ここから無料で始めて、管理画面の案内に従ったレコードタイプでドメインを接続してください。
無料で始める · クレジットカード不要
We.Inc創業者
UmairはWe.Incの創業者です。AIによるウェブサイト制作、制作会社、ウェブ制作スタジオの経営について執筆しています。
素晴らしいものを作る準備はできましたか?
立ち上げ、成長、自動化のすべてを1つのプラットフォームで行う15,000+社がWe.Incを利用しています。
無料で始めるクレジットカード不要 · 営業担当に相談する
関連: ブログ|デジタルマーケティングと集客のヒント
- 会計士サイトのデザイン:ページ構成、費用、テンプレート
- Google Search Consoleにユーザーを追加する方法【手順解説】
- SaaSプラットフォームへのウェブサイトビルダー追加方法
- エージェンシー事例:22件の顧客サイトをホワイトラベルで運用
- 企業の88%がAIエージェントの侵害被害。サイトへの影響は
- ビジネス向けAIアシスタント
- AIコンテンツ制作:ウェブコンテンツの実践ワークフロー
- AIカスタマーサービスの導入方法:ステップバイステップ
製品
- AI ホームページ作成ツール:作りたいサイトを普段の言葉で伝えるだけで、数分で公開
- ホワイトラベル プラットフォーム:自社ブランド、自社ドメイン、自社の利益で運営
- エンタープライズ:SSO、個別の SLA、専任サポート
- 開発者向け API:自社の SaaS にサイト生成機能を組み込み
ご利用いただける方
- 制作会社・代理店向け:自社ブランドで再販
- フリーランス向け:自分ブランドのビルダーを持つ
- ホスティング事業者向け:サービスにビルダーを追加
- SaaS プラットフォーム向け:API でサイト作成を組み込み
- スタートアップ向け
- 金融サービス向け
- 医療・ヘルスケア向け
機能
リソース
- ブログ
- ヘルプセンター
- 無料ビジネスツール
- ホームページ テンプレート
- テンプレート集
- サイト事例
- ガイド
- 比較
- 代替サービス
- おすすめ
- レビュー
- 料金ガイド
- 用語集・ガイド
- 連携サービス
- 開発者向け
- ベンチマーク
- Windows アプリ