IBM Cloud Docs
CNAME レコードの処理

CNAME レコードの処理

正規名レコード (CNAME) は、IP アドレスではなく、別のドメイン・アドレスを指すレコードです。 CNAME レコードは別の DNS レコードを指し、別の DNS レコードが IP アドレスを指す A レコードを指します。 IP アドレスが変更された場合は、ネットワーク内の 1 つの場所で変更を記録するだけで済みます。

  • 有効な CNAME レコードの例:

    • ftp.example.com 900 IN CNAME example.com
    • sftp.example.com 900 IN CNAME example.com
  • 無効な CNAME レコードの例 (MX レコードは別の CNAME レコードを指していてはなりません):

    • example.com. MX 0 foo.example.com.
    • foo.example.com. CNAME host.example.com.

CNAME レコードの動作

CNAME は別名です。 これにより、あるドメインが別のドメインを指すことができます。このドメインは、CNAME チェーンに従うと、最終的に A レコードと IP アドレスに解決されます。 CNAME レコードに別の CNAME レコードを指定すると、ドメインをロードする前に複数の DNS ルックアップが必要になり、ユーザー・エクスペリエンスの速度に悪影響を及ぼすため、効率的ではありません (ただし、可能性はあります)。

CNAME チェーン内の各リソース・レコードは別個の DNS 照会と見なされるため、解決時間が遅くなります。

例えば、CNAME レコードを使用して、 ftp.example.comsftp.example.comexample.comの DNS エントリーを指すようにします。これらのエントリーには、IP アドレスを指す A レコードがあります。

ftp.example.com CNAME example.com
example.com A 10.1.1.10

以下は、プライベート・ゾーンとパブリック・ゾーンの組み合わせである長い CNAME チェーンの例です。

  • プライベート・ゾーン
    • foo.com
    • bar.com
  • パブリック・ゾーン
    • prod.com
    • containers.appdomain.cloud
abc.foo.com CNAME abc.bar.com
abc.bar.com CNAME new.prod.com
new.prod.com CNAME 1234.containers.appdomain.cloud
1234.containers.appdomain.cloud A 10.10.24.4

グローバル・ロード・バランサーの有無にかかわらず、CNAME チェーンが長くなると、DNS 応答時間が長くなります。 通常、DNS クライアントには 2 秒のデフォルトの照会タイムアウトがあるため、クライアントはタイムアウトになり、解決に 2 秒を超える時間がかかると照会を再試行します。

制限

  • MX および NS レコードは、CNAME レコードを指すことはできません。これらのレコードは、A レコード ( IPv4の場合) または AAAA レコード ( IPv6の場合) を指す必要があります。
  • CNAME チェーンの長さは 5 を超えてはなりません。
  • CNAME は、単一ドメインの別のレコード・タイプと同じ名前を共有することはできません。
  • 同じドメイン内に同じ名前の複数の CNAME レコードを持つことはできません。

CNAME DNS レコードの管理

CNAME レコードは、他のレコードを管理するのと同じ方法で管理できます。 CNAME レコードの作成、読み取り、更新、および削除について詳しくは、 DNS レコードの管理を参照してください。