DNSのCNAME(Canonical Name)とは、ドメイン名のエイリアス(別名)を設定するレコードです。あるドメイン名が別のドメイン名を指すように設定するために使われます。
CNAMEレコードの特徴
-
エイリアスとして機能
CNAMEを設定したドメイン名は、指定された別のドメイン名(正式な名前)に解決されます。 -
階層的な参照
CNAMEを参照すると、最終的にはAレコードや他のリソースに解決されます。
CNAMEの用途
-
複数のドメイン名を同じサーバーに紐づける
例えば、www.example.comをexample.comにリダイレクトする場合、CNAMEを使用します。www.example.com. IN CNAME example.com.この設定により、
www.example.comのアクセスは自動的にexample.comに転送されます。 -
サブドメインの統一管理
サブドメインを一元的に管理する際に便利です。たとえば、blog.example.comをブログサービスプロバイダーに向ける場合。blog.example.com. IN CNAME blog-provider.example.net. -
クラウドサービスの利用
AWS、Google Cloud、CDN(Content Delivery Network)など、外部サービスを利用する際にCNAMEを使って簡単に接続できます。
CNAMEの制約
-
ルートドメインには使えない
ルートドメイン(例:example.com)にはCNAMEを設定できません。代わりにAレコードやALIASレコードを使用します。 -
パフォーマンスの低下
CNAMEが複数回リダイレクトを発生させる場合、名前解決に時間がかかることがあります。 -
その他のレコードと共存できない
CNAMEが設定されたドメインには、他のDNSレコード(例: A、MXなど)を設定できません。
例: 実際のCNAME設定
目的:shop.example.com を外部サービスのドメイン shop-provider.net に向ける
DNSゾーンファイルの記述:
shop.example.com. IN CNAME shop-provider.net.
この設定により、shop.example.com へのリクエストは shop-provider.net に解決され、最終的なリソースにアクセスできます。
CNAMEとAレコードの違い
項目
CNAMEレコード
Aレコード
役割
別のドメイン名を指す(エイリアス)
IPアドレスを直接指す
使用例
サブドメインのリダイレクト
ルートドメインやサーバーの指定
設定可能なデータ
ドメイン名
IPアドレス
CNAMEは便利な機能ですが、適切に使用することでDNS管理を簡略化できます!