CNAMEレコードとは?ある名前を別の名前へのエイリアスにする
CNAMEレコードは、あるホスト名を別のホスト名に向けるDNSエイリアスであり、ルックアップがエイリアスをたどってターゲットの名前とそのアドレスを解決します。
名前をIPアドレスに固定する代わりに、CNAMEは別の名前に向けます。これがカスタムドメインをプラットフォームに接続する方法です。www.yoursite.comをプラットフォームのホストへのエイリアスにすれば、あとはプラットフォームが処理します。ホスティングプラットフォームやCDNへのdeployは、CNAMEに大きく依存します。
アドレスではなくエイリアス
CNAMEは名前をIPではなく別の名前にマッピングします。resolverはそのターゲット名をルックアップして実際のアドレスを見つけ、最終的な答えまでチェーンをたどります。
CNAMEが便利な理由
- カスタムドメインをプラットフォームのホストに向ける。
- ドメインをCDNのエンドポイントに接続する。
- エイリアスに触れずに背後のターゲットを変更する。
apexの制約
CNAMEは名前上の他のレコードと共存できないため、通常はむき出しのapexドメインでは使えません。プロバイダーはルートでこれを回避するためにALIASレコードやANAMEレコードを提供しています。
deploymentにおけるCNAME
フロントエンドをプラットフォームにホストするということは、多くの場合、自分のドメインからプラットフォームのエンドポイントへのCNAMEを作成することを意味します。プラットフォームはその後サイトを配信し、エイリアスされた名前のTLSを管理します。
検証とバリデーション
プラットフォームは、証明書を発行する前にドメインの所有権を証明するためにCNAMEを要求することがよくあります。そのレコードが作成されてプロパゲートされるまで、deployはTLSのセットアップを完了できません。
プロパゲーションは依然として適用される
新規または変更されたCNAMEはDNSプロパゲーションの対象なので、最初は一貫しない形で解決されることがあります。Latchkeyのrunnerはこのウィンドウ中に一時的な解決失敗をリトライするため、短時間の不整合がdeployチェックを失敗させることはありません。
重要なポイント
- CNAMEレコードは、あるホスト名をIPアドレスではなく別のホスト名へのエイリアスにします。
- カスタムドメインをプラットフォームやCDNに接続し、検証にも使われます。
- CNAMEはむき出しのapexでは使えず、変更はプロパゲーションの対象になります。