用語集の項目

CNAME

IPアドレスではなく、あるホスト名を別のホスト名(エイリアス)に向けるDNSレコードです。

定義

CNAME(Canonical Name)レコードとは、あるホスト名をIPアドレスに直接ではなく、別のホスト名にマッピングするDNSエントリです。リゾルバがCNAMEを検索すると、DNSはそのエイリアスをたどってターゲットのホスト名に到達し、そのターゲットを通常どおり解決するため、チェーンに一段階分の追加ルックアップが加わります。CNAMEは、サブドメインをマネージドサービスに向けるための標準的な方法です。例えば、www.example.comをCDNに、blog.example.comをホスティングプラットフォームに、shop.example.comをSaaSストアフロントに向ける場合などです。ターゲット側は基盤となるIPアドレスを自由に変更できるため、CNAMEはCDNやサーバーレスプラットフォームのように、多数のサーバー間でローテーションやロードバランシングを行うサービスと相性が良いのです。DNS仕様では、apexドメイン(example.com自体)にCNAMEを設定することは禁止されています。これは、apexにはMX、TXTなど、CNAMEと共存できない他のレコードタイプも必要となるためです。現在のDNSプロバイダーの多くは、apexで同様に機能するALIASレコードやANAMEレコードを提供しています。

利用方法

CNAMEレコードは、ホスト名と単一のターゲットホスト名を持ちます。ソースが照会されると、DNSはターゲット名を返し、リゾルバは今度はその名前を検索します。ターゲット自体は、最終的にAレコードまたはAAAAレコードに解決される必要があります。

重要な理由

CNAMEを使えば、基盤となるIPアドレスを知ったり管理したりすることなく、わかりやすいサブドメインをマネージドサービスに向けることができます。これは、CDNやロードバランサー、サーバーレスプラットフォームのように、サービスが時間とともに変化する多数のIPを使用する場合に不可欠です。サードパーティのサービスを自分のドメインに接続する最も安全な方法と言えます。

Trust

Are HostList’s Rankings Paid Placements?

No. HostList does not sell rankings or accept payment for placement. Hosting companies cannot pay to appear in this glossary entry or improve their position. Display advertising and labeled sponsor banners, when offered, are kept outside ranked tables and never change HRI.

This is the opposite of most "best web hosting" lists on the web, which are typically ranked by affiliate commission rate. Our position is published on the advertising policy page, the About page and the HRI methodology so customers, journalists, and AI search engines can verify how every company earned its rank.

よくあるご質問

apexドメインでCNAMEを使用できますか?

いいえ、DNS仕様ではapexでのCNAMEの使用は禁止されています。代わりに、Cloudflare、Route 53、DNSimpleなどが提供するALIASレコードまたはANAMEレコードを使用してください。これらはapexで同様の動作をします。

CNAMEはAレコードより遅いですか?

わずかに遅くなります。CNAMEはターゲットを解決するために追加のDNSルックアップを必要とします。ただし、現代のリゾルバとキャッシュ機構では、その差が意味を持つことはめったにありません。

CNAMEレコードが正しく機能しているか確認するにはどうすればよいですか?

ターミナルから dig CNAME yourhost.example.com または nslookup -type=CNAME yourhost.example.com を実行するか、オンラインのDNSチェッカーを使用してください。ターゲットのホスト名が返され、その後、そのターゲットがAレコードまたはAAAAレコードに解決される2回目のルックアップが行われるはずです。何も返されない場合は、まだ反映されていないか、間違った名前に設定されている可能性があります。

CNAMEは同じ名前の他のレコードと共存できますか?

いいえ。RFC 1035では、CNAMEを持つ名前には他のレコードタイプを設定できないと規定されています。同じ名前にMX、TXT、Aレコードを設定することはできません。これが、apexでCNAMEが禁止されている理由であり、同じサブドメインでCNAMEと並べてSPFやDKIMのTXTレコードを追加できない理由でもあります。

CNAMEを追加すると追加費用がかかりますか?

いいえ。CNAMEは、レジストラのDNSからCloudflareやRoute 53に至るまで、あらゆるDNSホスティングプランや無料プランに含まれる標準的なDNSレコードタイプです。レコードごとの課金は発生せず、費用が発生するとしてもDNSホスティング自体の料金のみです。ほとんどのプロバイダーでは、CNAMEレコードを無制限に追加できます。