ポスト

DNSのCNAMEレコードは、DNSゾーンで使用できるレコードタイプで、ドメインの正規名を指定します。 CNAMEレコードは、DNSについて学び始めると最初に遭遇するものの1つです。

DNSの複雑さを知り始めたばかりの初心者でも、特定のタイプのDNSレコードをより理解したい熟練者でも、この記事ではCNAMEレコードとは何か、なぜそれが重要なのか、そしてドメイン名用に作成する方法について詳しく説明します。

DNSのCNAMEレコードとは何ですか?

DNSのCNAMEレコードは、あるホスト名と別のホスト名をマッピングします。これは、同じIPアドレスを持つ複数のホストを、それぞれ別の名前で持つことができることを意味します。

例えば、www.mydomain.com は www1.mydomain.com と www2.mydomain.com にマップされ、それらがすべて同じ IP アドレスに解決されるようにすることができます。

などのサブドメイン メールwwwなどのサブドメインは、CNAMEと呼ばれる独自のDNSレコードを持ち、コンテンツをホストする親ドメインにリンクさせることができます。

たとえば、CNAMEレコードは、エイリアスアドレスwww.mydomain.com を正規アドレスmydomain.comにマッピングできます。この場合、訪問者の行き先は何も変わりません。訪問者は、mydomain.comの実際のAレコード(これは最新に保つ必要があります)で指定されているどんな行き先へも導かれたままです。

正規名(CNAME)レコードは、"真の名前 "または "正規名 "とも呼ばれます。それは、CNAMEレコードがエイリアス名をその 真の, 正準対応する名前にマッピングするからです。

CNAMEレコードの作成手順ガイド

ドメインにCNAMEレコードを作成するには、以下の手順に従ってください。

  1. DNS管理コンソールにアクセスします。
  2. Aレコード」をクリックし、表示されたレコードの一覧から「CNAME」を選択します。
  3. CNAMEレコードを作成したいドメイン名を入力します。
  4. サブドメインとして扱われるホスト名を入力してください。
  5. TTL(Time to Live)を入力します。これは、レコードをリクエストしたシステムでキャッシュに残る時間です。
  6. 静的なIPアドレスを持つシステムでは、TTLは1800以上を推奨します。動的なIPアドレスの場合は、TTLを1800以下にします。
  7. すべての項目を入力した後、画面右下の「作成」を選択すると、変更が保存され、新しいレコードが作成されます。

すでにDNSでCNAMEレコードが公開されている場合は、無料の CNAMEチェッカーツールで確認できます。

DNSのCNAMEレコードはどのように機能するのですか?

CNAMEレコードは、その正規名(ドメインの本当の名前)を指します。したがって、ブログにCNAMEレコードを設定すると、そのAレコードを介してブログ(mydomain.com)のIPアドレスが返されます。

www.blog.mydomain.com のようなサブドメインを作成し、ルートドメイン名の別名として設定すると、www.blog.mydomain.com のようなサブドメインは、ルートドメイン mydomain.com を指す CNAME レコードを持つようになります。

DNSサーバーがAレコードを使用してwww.blog.mydomain.com を検索すると、これはmydomain.comのサブドメインであるため、CNAMEを使用して別の検索を開始します。これは、正規名を使用してクエリを再開し、そのAレコードを介してmydomain.comのIPアドレスを返します。

*注ホストのIPアドレスが変更された場合、ルートドメインのDNS Aレコードを更新することだけが必要です。エイリアスまたはサブドメインのものを含むすべてのCNAMEレコードは、ルートに変更が加えられたときに自動的に変更されます。以下の表を参照すると、より理解が深まります。

(サブ)ドメイン / ホスト名 レコードタイプ ターゲット/デスティネーション
mydomain.com A 333.444.555.111
www.blog.mydomain.com CNAME mydomain.com
ftp.mydomain.com CNAME mydomain.com
mail.mydomain.com CNAME mydomain.com

DNSのCNAMEレコードの主な利用方法

CNAMEレコードは、DNSレコードの一種で、正規名とエイリアスの2つのフィールドを持っています。これは、以下の目的で使用されます。

  • 同一法人、同一組織が所有する複数のウェブサイトを、その法人のメインサイトへ誘導する。
  • 電子メールや(FTP)などの異なるネットワークサービス用に複数のホスト名をマッピングし、それぞれが親ドメインに戻るようにします。
  • プロバイダのドメインに顧客ごとのサブドメインを作成し(セルフサービス)、CNAMEレコードを使用して、これらのサブドメインを顧客のルートドメインに戻す。
  • 各国版のサイトをメインドメインにポイントする
  • コンテンツ配信ネットワーク(CDN)を設定するには、CDNのアドレスをウェブサイトのオリジンサーバーのCNAMEレコードとして追加します。これにより、サーバー上のリソースにアクセスしようとするユーザーがCDNにリダイレクトされ、CDNからリソースがロードされます。

CNAMEレコードのDNS処理プロセス

例のドメインPowerDMARC.comを考えてみましょう。それが私たちのルートである場合、www.powerdmarc.com、「PowerDMARC.com」というCNAMEレコードにマッピングされるでしょう。以下は、DNS処理プロセスの動作方法です。

名前 タイプ 価値
www.powerdmarc.com CNAME パワードマーク・ドット・コム
パワードマーク・ドット・コム A 172.66.43.156
  1. DNSクライアントがwww.powerdmarc.com、その過程でDNSリクエストを作成します。
  2. この要求がなされると、DNSリゾルバは、どの権威ネームサーバーがpowerdmarc.comのゾーンファイルを保持しているかを調べ、そのファイルから一致するすべてのレコードを取得します。
  3. DNSクライアントはCNAMEレコードで返される。
  4. DNSクライアントは、www.powerdmarc.com がエイリアスであることを認識し、ルートドメイン powerdmarc.com に対して新しいDNSクエリーを発行します。
  5. DNSリゾルバは、IPアドレスを含むpowerdmarc.comのAレコードを返します。
  6. DNSクライアントは、そのIPアドレスを介してpowerdmarc.comに正常に接続します。

CNAMEレコードとAレコードとエイリアスレコードの比較

Aレコード、CNAMEレコード、およびエイリアスレコードは、DNSインフラストラクチャで使用される3つのDNSレコードです。これらのレコードは、それぞれ機能と目的を持っています。これらのレコードを効果的に使用できるように、これらの3つのレコードの違いを理解することが重要です。それでは、それぞれがどのように機能するかを見てみましょう。

CNAMEレコードは、ホスト名を別のホスト名にマッピングしますが、同じホスト名で他のDNSレコード(MXレコードなど)を許可しません。

エイリアスレコードは、あるホスト名を別のホスト名にマッピングするという点でCNAMEレコードと似ていますが、同じホスト名で他のDNSレコードを許可します。この追加により、頂点DNSゾーンレベルでALIASESを適用することはできません。

Aレコードは、ホスト名と1つまたは複数のIPアドレスの間の単一ラベルのマッピングです。Aレコードは、単一のホスト名(ラベル)を1つ以上のIPアドレス(値)にマッピングします。

DKIM CNAMEレコード

メールベンダーによっては DKIMCNAMEレコードをDNSに公開することを要求する場合があります。

この例としては、以下のようなものがあります。 オフィス365のDKIMを記録します。

CNAMEレコードと301/302リダイレクト。同じなのか?

CNAMEレコードと301リダイレクトは、どちらもウェブブラウザが、あるドメインから中間ドメインを経由して別のドメインにユーザーを誘導するために使用されます。しかし、この2つには大きな違いがあります。

CNAMEレコードは、既存のホスト名を同じFQDN内の別のホスト名にマップし、301リダイレクトは、Webサイトをホストするサーバーにリクエストを送信します。

言い換えれば、CNAMEレコードは、お客様のサイトのドメイン名またはサブドメインを宛先ホスト名のIPアドレスに指し示すもので、つまり、リダイレクトではなく、単なるポインティングです。