【DNS基礎】CNAMEとALIASの違いとは?|東京のWEB制作会社・ホームページ制作会社|株式会社GIG
BLOG
ブログ
【DNS基礎】CNAMEとALIASの違いとは?
2026-09-30 制作・開発

こんにちは!Development事業部フロントエンドエンジニアのさかなです。
Webサイトに独自ドメインを設定するとき、「CNAMEとALIASは何が違うの?」「サブドメインでは設定できたのに、ルートドメインではCNAMEを設定できない」と悩んだことはないでしょうか。
DNSにはAレコードやCNAMEレコードなど複数のレコードがあり、それぞれ役割や設定できる場所が異なります。とくにルートドメインへのCNAME設定にはDNSの仕様上の制約があるため、仕組みを理解せずに設定すると、Webサイトが表示されないなどのトラブルにつながる可能性があります。
また、AWS Route 53などのDNSサービスでは、この問題を解決するために「Alias」のような独自の仕組みが提供されています。
本記事では、Aレコード・CNAME・ALIAS系機能の違いを整理したうえで、なぜルートドメインにCNAMEを設定できないのか、実務ではどのように使い分ければよいのかを解説します。
さかな:Development事業部フロントエンドエンジニア。東北大学文学部で心理学を学びながらカナダ・モントリオールに3年間居住。帰国後コーディングを独学し、GIGにジョイン。現在はサイト制作のフロント実装や自社サービスLeadGridの開発を行う。最近はAIやインフラに興味がある。
DNSレコードの基礎
そもそもDNSとは?
DNS(Domain Name System)は、example.comのようなドメイン名と、192.0.2.1のようなIPアドレスを対応付ける仕組みです。
Webサイトへアクセスするとき、ブラウザは最終的に接続先となるIPアドレスを知る必要があります。しかし、Webサイトの訪問者がサイトごとのIPアドレスを覚えてアクセスするのは現実的ではありません。
そこでDNSを利用し、ドメイン名からIPアドレスを調べます。このドメイン名に対してどのような情報を返すかを定義しているのがDNSレコードです。
DNSレコードにはA、AAAA、CNAME、MX、TXTなどさまざまな種類があり、用途によって使い分けられています。
Aレコードの役割
Aレコードは、ドメイン名とIPv4アドレスを対応付けるレコードです。
たとえば、次のような設定があったとします。
example.com IN A 192.0.2.1.
これは「example.comの接続先は192.0.2.1です」という意味です。
ブラウザがexample.comへアクセスすると、DNSによって192.0.2.1というIPアドレスを取得し、そのIPアドレスを持つサーバーへの通信を行います。
CNAMEとALIASの違い
CNAMEレコードとは?
CNAME(Canonical Name)レコードは、あるドメイン名を別のドメイン名の別名として設定するためのDNSレコードです。
Aレコードとの違いは、ドメイン名に対して何を紐づけるかにあります。
Aレコードは、上記のようにドメイン名からIPアドレスを指定します。
example.com IN A 192.0.2.1.
一方、CNAMEレコードはドメイン名から別のドメイン名を指定します。
www.example.com IN CNAME example.cloudfront.net.
つまり、Aレコードが「ドメイン名→IPアドレス」を対応づけるのに対し、CNAMEは「ドメイン名→ドメイン名」を対応づけます。
たとえば、www.example.comにアクセスする場合、DNSはCNAMEレコードを確認してexample.cloudfront.netを参照します。さらにそのドメイン名を名前解決して、最終的なIPアドレスを取得します。
www.example.com
↓ CNAME
example.cloudfront.net
↓ 名前解決
CloudFrontのIPアドレス
CloudFrontのように、接続先のIPアドレスを利用者側で固定して指定するのではなく、サービスから提供されたドメイン名を接続先として利用する場合に、CNAMEレコードが使われます。
ALIASとは?
ALIAS(エイリアス)は、あるドメイン名を別のホスト名やクラウド上のリソースに紐付けるための機能です。
たとえば、AWS Route 53では、次のように独自ドメインをCloudFrontなどのAWSリソースに紐付けることができます。
example.com
↓
ALIAS CloudFront
「別の接続先に紐付ける」という点ではCNAMEと似ていますが、大きな違いはルートドメインにも設定できることです。
CNAMEの場合、次のようにサブドメインを別のドメイン名に紐付けることができますが、example.comのようなルートドメインには、DNSの仕様上CNAMEを設定できません。
www.example.com. IN CNAME example.cloudfront.net.
そこで、Route 53などのDNSサービスでは、ルートドメインからクラウド上のリソースへ紐付けるためにALIASのような独自機能が提供されています。
example.com
↓ ALIAS
CloudFront
ALIASを利用すると、固定のIPアドレスを自分で指定することなく、ルートドメインをCloudFrontなどのサービスへ向けることができます。
なお、ALIASはAレコードやCNAMEレコードのようにDNSの標準仕様で定められたレコードではなく、DNSサービスが独自に提供している機能です。AWS Route 53では「Alias record」と呼ばれています。
A・CNAME・ALIASの違いを比較
大まかに整理すると、次のようになります。
種類 | 指定するもの | ルートドメイン | 主な用途 |
| A | IPv4アドレス | ○ | 固定IPのサーバー |
| CNAME | 別のドメイン名 | × | サブドメインを別ホスト名へ向ける |
| ALIAS系 | サービスや別ホスト名 | ○ | ルートドメインからクラウドサービスなどへ向ける |
なぜルートドメインにCNAMEを設定できないのか
ルートドメイン(apexドメイン)とは?
ルートドメイン(apexドメイン)とは、wwwなどのサブドメインが付いていないドメインを指します。
たとえば、ルートドメインとサブドメインは以下のような関係です。
example.com ← ルートドメイン
www.example.com ← サブドメイン
blog.example.com ← サブドメイン
では、なぜwww.example.comにはCNAMEを設定できるのに、example.comには設定できないのでしょうか。
CNAMEは他のレコードと共存できない
CNAMEには重要なルールがあります。
CNAMEを設定した名前には、原則として他のDNSレコードを設定できません。
たとえば、
www.example.com IN CNAME example.net
と設定した場合、同じwww.example.comにAレコードやMXレコードなどをもたせることはできません。
CNAMEは「この名前に関する情報は別の名前を参照してください」という意味をもつため、同じ名前に別の情報が存在すると矛盾してしまうからです。
ルートドメインにはSOA・NSレコードが必要
ここで問題になるのがルートドメインです。
DNSゾーンのルートには、そのゾーンを管理するためのSOAレコードやNSレコードが必要です。
つまりexample.comには、すでにDNSの管理上必要となるレコードが存在しています。
しかし、CNAMEを設定した名前には他のレコードを共存させることができません。そのため、以下のようにルートドメインそのものをCNAMEにすることは、DNSの仕様上できません。
example.com IN CNAME example.cloudfront.net
また、ルートドメインにはSOA・NSレコードだけでなく、メールの配送先を指定するMXレコードや、ドメイン所有確認などに使われるTXTレコードが設定されている場合もあります。
これらのレコードを維持しながらCNAMEを設定することはできないため、ルートドメインをCloudFrontなどのサービスへ向けたい場合には、Route 53のAliasなどのALIAS系機能が利用されます。
さまざまな種類のレコードをどう使い分ける?
固定IPを指定するならAレコード
接続先のサーバーに固定されたIPv4アドレスがある場合は、Aレコードを利用するのが基本です。
example.com IN A 192.0.2.1
サブドメインならCNAME
接続先からホスト名を指定されている場合や、IPアドレスが変化する可能性があるクラウドサービスなどへサブドメインを向ける場合はCNAMEが利用できます。
www.example.com
↓
example.cloudfront.net
サービス側のIPアドレスが変更されたとしても、CNAMEの参照先が同じであれば利用者側でIPアドレスを変更する必要はありません。
ルートドメインならALIAS系機能を検討する
一方、example.comのようなルートドメインをCloudFrontなどのサービスへ向けたい場合はCNAMEを利用できません。
この場合、利用しているDNSサービスが提供するALIAS系機能を検討します。
ALIAS系機能であれば、ルートドメインに必要なSOA・NSなどのレコードを維持しながら、クラウドサービスへトラフィックを向けることができます。
AWS Route 53のAlias設定例
たとえば、Route 53でルートドメインをCloudFrontディストリビューションへ向ける場合、Aレコードを作成したうえでAliasを有効にし、接続先としてCloudFrontを選択できます。
見た目としてはAレコードですが、固定されたIPアドレスを自分で入力するわけではありません。
Route 53がAWSリソースとの対応を管理してくれるため、CloudFront側のIPアドレスを意識せずにルートドメインを設定できます。
まとめ
DNS設定では、接続先や設定するドメインに応じて、適切なレコードや機能を選択することが重要です。
基本的には、以下のように整理すると判断しやすくなります。
・固定IPアドレスを指定する → Aレコード
・サブドメインを別のホスト名に向ける → CNAMEレコード
・ルートドメインをクラウドサービスなどに向ける → ALIAS系機能
とくにCNAMEとALIASの違いは、ドメインに紐付けるものが、CNAMEでは別のドメイン名、ALIASではクラウド上のリソースと整理すると分かりやすいでしょう。
また、ルートドメインにCNAMEを設定できないのは、単なるDNSサービス側の制限ではありません。ルートドメインにはSOA・NSなどのレコードが必要である一方、CNAMEは他のレコードと共存できないというDNSの仕様が理由です。
DNSは普段あまり意識することのない仕組みですが、Webサイトの公開やSSL証明書、メールなど、さまざまなサービスの土台になっています。レコードの役割を理解し、変更前には既存の設定も確認したうえで作業することが、安全なWebサービス運用につながります。
GIGでは、フロントエンド・バックエンドの開発だけでなく、インフラ設計を含めたWebアプリケーション開発を支援しています。Webサービスの新規開発やリニューアル、インフラ構成についてお困りの際は、ぜひお気軽にご相談ください!
株式会社GIGは、コーポレートサイト・採用サイト・ステークホルダー向けサイトのリニューアルや、企業理解を踏まえた情報設計、サイトリリース後の運用伴走支援がそろったデジタルコミュニケーション企業です。
・制作実績1,500社以上
・サービス利用継続率98%以上
・「Web制作会社」Google検索 1位獲得率55.8%
・AWS公式Technology Partner認定
・ASPICクラウドアワード先進技術賞受賞
ブランド表現と更新しやすさを両立したサイト設計と、公開後も改善し続ける伴走支援が強みです。
株式会社GIGは、お客様と丁寧で密なコミュニケーションを重ねてきたと自負しております。「まず話だけでも」という段階でも、ぜひお問合せください。専任の担当者が、お客様の状況にあわせた最適な提案をいたします。
■株式会社GIG
・お問い合わせはこちら
・制作実績はこちら
・事例インタビューはこちら
・求人応募はこちら(GIG採用サイト)
・求人応募はこちら(Wantedly)
WebやDXの課題、無料コンサル受付中!

さかな
Development事業部フロントエンドエンジニア。東北大学文学部で心理学を学びながらカナダ・モントリオールに3年間居住。帰国後コーディングを独学し、GIGにジョイン。現在はサイト制作のフロント実装や自社サービスLeadGridの開発を行う。最近はAIやインフラに興味がある。


