Amazon CloudFront
開発者ガイド (API バージョン 2016-09-29)

代替ドメイン名 (CNAME) を追加してカスタム URL を使用する

CloudFront では、代替ドメイン名 (CNAME とも呼ばれる) を使用すると、CloudFront によってディストリビューションに割り当てられたドメイン名ではなく独自のドメイン名 (例: www.example.com) をファイルへのリンクで使用できます。代替ドメイン名は、ウェブディストリビューションと RTMP ディストリビューションの両方でサポートされます。

ディストリビューションを作成すると、ディストリビューションのドメイン名が CloudFront から返されます。たとえば、次のようなドメイン名です。

d111111abcdef8.cloudfront.net

ファイルに CloudFront ドメイン名を使用する場合、/images/image.jpg というファイルの URL は次のようになります。

http://d111111abcdef8.cloudfront.net/images/image.jpg

cloudfront.net ドメイン名の代わりに独自のドメイン名 (www.example.com など) を使用する場合は、www.example.com のような代替ドメイン名をディストリビューションに追加することができます。これで、次の URL を使用して /images/image.jpg を表示できます。

http://www.example.com/images/image.jpg

代替ドメイン名の追加

次のタスクリストでは、CloudFront ドメイン名の代わりに独自のドメイン名をリンクで使用できるように、CloudFront コンソールを使用して代替ドメイン名を追加する方法を説明しています。CloudFront API を使用したディストリビューションの更新については、「ディストリビューションの使用」を参照してください。

注記

ビューアーで代替ドメイン名を含む HTTPS を使用する場合は、「代替ドメイン名と HTTPS の使用」を参照してください。

開始する前に: ディストリビューションを更新して代替ドメイン名を追加する前に、以下の操作必ず実行してください。

  • ドメイン名を Route 53 または別のドメインプロバイダに登録します。

  • ディストリビューションで使用を予定しているドメイン名が対象である CloudFront に許可された認証機関 (CA) から証明書を追加して、このドメインの使用を許可されていることを検証します。詳細については、「 代替ドメイン名を使用するための要件」を参照してください。

代替ドメイン名の追加

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/cloudfront/ にある、CloudFront コンソールを開きます。

  2. 更新するディストリビューションの ID を選択します。

  3. [General] タブで、[Edit] を選択します。

  4. 以下の値を更新します。

    代替ドメイン名 (CNAME)

    代替ドメイン名を追加します。ドメイン名をコンマで区切るか、新しい行にドメイン名を 1 つずつ入力します。

    SSL 証明書 (ウェブディストリビューションのみ)

    次の設定を選択します。

    • HTTPS を使用する – [カスタム SSL 証明書] を選択して、リストから証明書を選択します。このリストには、AWS Certificate Manager (ACM) によってプロビジョニングされた証明書、別の CA から購入して ACM にアップロードした証明書、および別の CA から購入して IAM 証明書ストアにアップロードした証明書が含まれています。

      IAM 証明書ストアに証明書をアップロードする場合で、それがリストに表示されない場合は、SSL/TLS 証明書をインポートする の手順を確認して、証明書が正しくアップロードされたことを確認します。

      この設定を選択した場合、オブジェクト URL (https://example.com/logo.jpg) でのみ代替ドメイン名を使用することをお勧めします。CloudFront ディストリビューションドメイン名 (https://d111111abcdef8.cloudfront.net/logo.jpg) を使用する場合、[Clients Supported (サポートされるクライアント)] に選択した値に応じてビューアーは以下のように動作します。

      • [All Clients (すべてのクライアント)]: ビューワーが SNI をサポートしていない場合、CloudFront ドメイン名が TLS/SSL 証明書のドメイン名と一致しないため、警告が表示されます。

      • [Only Clients that Support Server Name Indication (SNI) (Server Name Indication (SNI) をサポートしているクライアントのみ)]: CloudFront はオブジェクトを返さずにビューアーとの接続を中断します。

    サポートされるクライアント (ウェブディストリビューションのみ)

    次のいずれかのオプションを選択します。

    • [All Clients (すべてのクライアント)]: CloudFront は専用の IP アドレスを使用して HTTPS コンテンツを供給します。このオプションを選択した場合、有効になっているディストリビューションに SSL/TLS 証明書を関連付けると、追加料金がかかります。詳細については、http://aws.amazon.com/cloudfront/pricing を参照してください。

    • [Only Clients that Support Server Name Indication (SNI) (Server Name Indication (SNI) をサポートしているクライアントのみ) (推奨)]: SNI をサポートしていない旧式のブラウザやクライアントでは、別の方法を使用してコンテンツにアクセスする必要があります。

    詳細については、「CloudFront で HTTPS リクエストを供給する方法の選択」を参照してください。

  5. [Yes, Edit (はい、編集します)] を選択します。

  6. ディストリビューションの [General (全般)] タブで、[Distribution Status (ディストリビューションのステータス)] が [Deployed (デプロイ済み)] に変わっていることを確認します。ディストリビューションに対する更新がデプロイされる前に代替ドメインの使用を試みた場合、以下のステップで作成するリンクは機能しません。

  7. ドメイン (例: example.com) へのトラフィックをディストリビューションの CloudFront ドメイン名 (例: d111111abcdef8.cloudfront.net) にルーティングするように、ドメインの DNS サービスを設定します。使用する方法は、ドメインの DNS サービスプロバイダとして、または別のプロバイダとして Route 53 を使用しているかどうかによって異なります。

    注記

    DNS レコードが既に指しているのが、更新中のディストリビューション以外のディストリビューションである場合、DNS を更新せずにディストリビューションに代替ドメイン名を追加することはできません。詳細については、「代替ドメイン名を使用する上での制限」を参照してください。

    Route 53

    エイリアスリソースレコードセットを作成します。エイリアスリソースレコードセットを使用した場合、Route 53 クエリに対する料金はかかりません。また、ルートドメイン名 (example.com) に対してエイリアスリソースレコードセットを作成することもできます。DNS では CNAME の使用が許可されていません。詳細については、Amazon Route 53 開発者ガイド の「Amazon CloudFront ディストリビューションへのクエリのルーティング」を参照してください。

    別の DNS サービスプロバイダ

    DNS サービスプロバイダから提供された方法を使用して、CNAME リソースレコードセットをドメインのホストゾーンに追加します。この新しい CNAME リソースレコードセットによって、DNS クエリがドメイン (例: www.example.com) からディストリビューションの CloudFront ドメイン名 (例: d111111abcdef8.cloudfront.net) にリダイレクトされます。詳細については、DNS サービスプロバイダから提供されたドキュメントを参照してください。

    重要

    ドメイン名用の CNAME レコードが既に存在する場合は、そのリソースレコードセットを更新するか、またはディストリビューションの CloudFront ドメイン名を指す新しいリソースレコードセットで置き換えます。

    また、CNAME リソースレコードセットがディストリビューションのドメイン名を指しており、どのオリジンサーバーも指していないことを確認します。

  8. dig などのツールを使用して、ステップ 7 で作成したリソースレコードセットがディストリビューションのドメイン名を指していることを確認します。dig の詳細については、http://www.kloth.net/services/dig.php を参照してください。

    以下の例は、images.example.com ドメインへの dig リクエストと、応答のうちの関連する部分を示しています。

    [prompt]--> dig images.example.com ; <<> DiG 9.3.3rc2 <<> images.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15917 ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;images.example.com. IN A ;; ANSWER SECTION: images.example.com. 10800 IN CNAME d111111abcdef8.cloudfront.net. ... ...

    Answer Section の行は、CloudFront ディストリビューションのドメイン名である d111111abcdef8.cloudfront.net に images.example.com のクエリをルーティングする CNAME リソースレコードセットを示しています。CNAME の右側の名前が CloudFront ディストリビューションのドメイン名であれば、CNAME リソースレコードセットは適切に構成されています。その名前が、Amazon S3 バケットのドメイン名などの別の値であれば、CNAME リソースレコードセットの設定が間違っています。この場合、ステップ 4 に戻り、ディストリビューションのドメイン名を指すように CNAME レコードを修正します。

  9. いくつかのテストリンクを作成し、その URL の中でディストリビューションの CloudFront ドメイン名ではなく独自のドメイン名を使用することで、代替ドメイン名をテストします。

  10. アプリケーションで、CloudFront ディストリビューションのドメイン名ではなく代替ドメイン名を使用するように、オブジェクトへのリンクを変更します。

代替ドメイン名を別の CloudFront ディストリビューションに移動する

CloudFront ディストリビューションから別のディストリビューションに代替ドメイン名を移動する場合、移動するドメイン名に応じた手順で行います。

marketing.example.com のようなサブドメイン名を別のディストリビューションに移動する

サブドメイン名を移動するには、以下の手順を実行します。

サブドメイン名を新しいディストリビューションを移動するには

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/cloudfront/ にある、CloudFront コンソールを開きます。

  2. ドメイン名を移動する新しいディストリビューションがない場合は、新規に作成します。詳細については、「ディストリビューションの作成」を参照してください。

  3. エイリアスレコードセットあるいは CNAME レコード用のワイルドカードがある代替ドメイン名をディストリビューションに追加します。たとえば、新しいディストリビューションに移動するサブドメイン名が marketing.example.com の場合、代替ドメイン名 *.example.com を追加します。詳細については、「 CloudFront に追加した代替ドメイン名のワイルドカードを使用する」を参照してください。

    注記

    *.com のようなトップレベルのドメイン名にワイルドカードを追加することはできないので、example.com のようなドメイン名を新しいディストリビューションに移動する場合は、「 example.com のようなドメイン名を別のディストリビューションに移動する」を参照してください。

  4. サブドメインの DNS 設定を更新して、新しいディストリビューションを示します。たとえば、トラフィックをディストリビューション d111111abcdef8.cloudfront.net の CloudFront ドメイン名にルーティングするように、サブドメイン marketing.example.com の DNS サービスを更新します。

    設定を更新するには、次のいずれかを実行します。

    • Route 53 を使用している場合は、当初に代替ドメイン名をセットアップした方法に応じて、エイリアスレコードまたは CNAME レコードを更新します。詳細については、Amazon Route 53 開発者ガイドの「レコードの編集」を参照してください。

    • 別の DNS サービスプロバイダを使用している場合は、その DNS サービスプロバイダが提供している方法を使用して、CloudFront にトラフィックを送っている CNAME レコードを更新します。詳細については、DNS サービスプロバイダから提供されたドキュメントを参照してください。

  5. dig などのツールを使用して、ステップ 4 で作成したリソースレコードセットがディストリビューションのドメイン名を指していることを確認します。dig の詳細については、http://www.kloth.net/services/dig.php を参照してください。

    以下の例は、images.example.com ドメインへの dig リクエストと、応答のうちの関連する部分を示しています。

    [prompt]--> dig images.example.com ; <<> DiG 9.3.3rc2 <<> images.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15917 ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;images.example.com. IN A ;; ANSWER SECTION: images.example.com. 10800 IN CNAME d111111abcdef8.cloudfront.net. ... ...

    Answer Section の行は、CloudFront ディストリビューションのドメイン名である d111111abcdef8.cloudfront.net に images.example.com のクエリをルーティングする CNAME リソースレコードセットを示しています。CNAME の右側の名前が CloudFront ディストリビューションのドメイン名であれば、CNAME リソースレコードセットは適切に構成されています。その名前が、Amazon S3 バケットのドメイン名などの別の値であれば、CNAME リソースレコードセットの設定が間違っています。この場合、ステップ 4 に戻り、ディストリビューションのドメイン名を指すように CNAME レコードを修正します。

  6. 既存のディストリビューションから CNAME を削除し、新しい CloudFront ディストリビューションに移動します。たとえば、デフォルトで marketing.example.com のように指定される新しいディストリビューションに d111111abcdef8.cloudfront.net を移動します。

  7. いくつかのテストリンクを作成し、その URL の中でディストリビューションの CloudFront ドメイン名ではなく独自のドメイン名を使用することで、代替ドメイン名をテストします。

  8. 元のディストリビューションを今後使用しない場合には、削除します。詳細については、「ディストリビューションを削除する」を参照してください。

example.com のようなドメイン名を別のディストリビューションに移動する

example.com のような第 2 レベルのドメイン名では、ドメイン名を別の CloudFront ディストリビューションに移動するには、AWS サポートに問い合わせることが必要です。前の手順で示したように、自分でドメインを移動するにはワイルドカードをドメイン名の一部として使用してドメインルーティングを設定することが必要となるため、追加の手順が必要です。2 番目のレベルのドメインの場合は、このステップでは *.com としてルーティングを設定することになり、これは許可されません。

開始する前に、ドメイン名を移動する新しいディストリビューションがない場合は、新規に作成します。詳細については、「ディストリビューションの作成」を参照してください。

example.com のようなドメイン名を新しいディストリビューションに移動するには、2 段階のステップを実行します。

ステップ 1: DNS サービスプロバイダでドメインの TXT レコードを作成して、このドメインを所有している証拠を AWS サポートに提供します。これによって、別の誰かがディストリビューション設定を変更することを防ぎます。

ステップ 2: ドメインを新しい CloudFront ディストリビューションに移動するように AWS サポートにリクエストします。

特定の手順を以下に示します。

ステップ 1: ドメインの TXT レコードを作成する

  1. DNS サービスプロバイダウェブサイトにサインインします。

    サービスプロバイダが Route 53 である場合は、Route 53 コンソールにサインインします

  2. 次に示すように、ドメインの TXT レコードを作成します。

    <ドメイン名> TXT <CloudFront ディストリビューション名>

    以下に例を示します。example.com TXT d123.cloudfront.net

    • DNS サービスプロバイダが Route 53 の場合には、ステップ 3 の詳細な手順に進みます。

    • ドメインが別の DNS サービスプロバイダにホストされている場合、DNS サービスプロバイダのドキュメントを参照してください。サービスプロバイダがユーザーの TXT レコードを作成するようにリクエストする必要がある場合があります。

      ヒント

      サービスプロバイダが CNAME レコードと同じ情報を持つようなドメインの TXT 名を許可していない場合には、ドメイン名の前に下線 (_) を付けた TXT レコードの作成を考慮します。例としては、ナレッジセンターの記事「CNAME が既に存在するエラーへの対処」を参照してください。

  3. DNS サービスプロバイダが Route 53 の場合、以下の手順で TXT レコードを作成してドメインの所有を証明します。

    1. [Hosted Zones (ホストゾーン)] ページで、レコードを編集するホストゾーンの行をダブルクリックします。

    2. [Create Record Set] を選択します。

    3. 以下の値を入力します。

      • [Name (名前)]: 新しい CloudFront ディストリビューションに移動するドメイン名。

      • [Type (タイプ)]: TXT

      • [Alias (エイリアス)]: No

      • [TTL]: 60 (秒)

      • [Value (値)]: このドメイン名に追加する CloudFront ディストリビューションの名前 (例: d123.cloudfront.net)。

      • [Routing policy (ルーティングポリシー)]: Simple

    4. [Create (作成)] を選択します。

ステップ 2: ドメインを新しい CloudFront ディストリビューションに移動するように AWS サポートにリクエストする

  • AWS にサインインして AWS サポートに連絡し、ドメインの所有権を検証し、ドメインを新しい CloudFront ディストリビューションに移動するようにリクエストします。

    注記

    AWS サポートは、ドメインに作成した TXT レコードを確認するまでドメインの所有権を検証できません。DNS プロバイダで作成したレコードは、DNS システムに配信されるまで時間がかかる (数日) 場合があることに注意してください。

代替ドメイン名の削除

ドメインまたはサブドメインから CloudFront ディストリビューションへのトラフィックのルーティングを停止する場合は、このセクションのステップに従って、DNS 設定および CloudFront ディストリビューションを更新します。

ディストリビューションから代替ドメイン名を削除し、同時に DNS 設定を更新することが重要です。これにより、後にこのドメイン名を別の CloudFront ディストリビューションに関連付ける際の問題を回避します。代替ドメイン名が既に 1 つのディストリビューションに関連付けられている場合、別のディストリビューションで設定することはできません。

注記

このディストリビューションから代替ドメイン名を削除して、別のディストリビューションに追加するには、「 代替ドメイン名を別の CloudFront ディストリビューションに移動する」の手順に従います。ドメインを削除するこの手順を実行し、続けてこのドメインを別のディストリビューションに追加する場合、CloudFront はエッジロケーションに更新するように伝達されることより、このドメインは一定期間新しいディストリビューションにリンクしません。

ディストリビューションから代替ドメイン名を削除するには

  1. まず、ドメインへのインターネットトラフィックを、CloudFront ディストリビューションではない別のリソース (Elastic Load Balancing ロードバランサーなど) にルーティングします。または、CloudFront にトラフィックをルーティングする DNS レコードを削除することもできます。

    ドメインの DNS サービスに応じて、次のいずれかを実行します。

    • Route 53 を使用している場合は、エイリアスレコードまたは CNAME レコードを更新または削除します。詳細については、「レコードの編集」または「レコードの削除」を参照してください。

    • 別の DNS サービスプロバイダを使用している場合は、その DNS サービスプロバイダが提供している方法を使用して、CloudFront にトラフィックを送っている CNAME レコードを更新または削除します。詳細については、DNS サービスプロバイダから提供されたドキュメントを参照してください。

  2. ドメインの DNS レコードを更新したら、この変更が伝達され、DNS リゾルバーが新しいリソースにトラフィックをルーティングするまで待ちます。URL でドメインを使用するテストリンクを作成することで、以上が完了したことを確認できます。

  3. 完了したら、AWS マネジメントコンソール にサインインして https://console.aws.amazon.com/ で CloudFront コンソールを開き、次の手順に従って、CloudFront ディストリビューションを更新してドメイン名を削除します。

    1. 更新するディストリビューションの ID を選択します。

    2. [General] タブで、[Edit] を選択します。

    3. [Alternate Domain Names (CNAMEs) (代替ドメイン名 (CNAME))] で、ディストリビューションに使用しない代替ドメイン名 (1 つ以上) を削除します。

    4. [Yes, Edit (はい、編集します)] を選択します。

CloudFront に追加した代替ドメイン名のワイルドカードを使用する

代替ドメイン名を追加するとき、サブドメインを個別に追加する代わりに、ドメイン名の最初に * ワイルドカードを使用できます。たとえば、代替ドメイン名を *.example.com にしている場合は、www.example.comproduct-name.example.commarketing.product-name.example.com など、末尾が example.com であればどのドメイン名でもオブジェクト URL に使用できます。オブジェクトの名前は、ドメイン名に関係なく同じです。たとえば、次のようになります。

www.example.com/images/image.jpg

product-name.example.com/images/image.jpg

marketing.product-name.example.com/images/image.jpg

代替ドメイン名は、アスタリスクとドット ( *. ) で始まっている必要があります。*domain.example.com のように、ワイルドカードを使用してサブドメインの一部を置き換えることはできません。また、subdomain.*.example.com のように、ドメイン名の中間部分のサブドメインを置き換えることもできません。

代替ドメイン名を使用するための要件

CloudFront で使用するために代替ドメイン名を追加する場合、次の要件があります。

代替ドメイン名は小文字を使用する必要があります

すべての代替ドメイン名 (CNAME) は、小文字であることが有効となるために必要です。

代替ドメイン名は有効な SSL/TLS 証明書の対象であることが必要です

CloudFront ディストリビューションで使用するために代替ドメイン名を追加するには、この代替ドメイン名を対象とする信頼される有効な SSL/TLS 証明書をディストリビューションにアタッチする必要があります。これにより、ドメインの証明書にアクセスできる人物のみがドメインに関連する CNAME に CloudFront を関連付けることができます。

信頼される証明書は、ACM あるいは別の有効な認証機関 (CA) によって発行されたものです。自己署名証明書を使用することはできません。CloudFront では Mozilla と同じ認証機関をサポートしています。最新のリストは、「Mozilla に付属する CA 証明書一覧」を参照してください。

アタッチする証明書を使用して代替ドメイン名を検証するため、CloudFront は証明書のサブジェクト代替名 (SAN) を確認します。追加する代替ドメイン名は、SAN の対象である必要があります。

注記

CloudFront ディストリビューションには、一度に 1 つの証明書のみをアタッチすることができます。

ディストリビューションに特定の代替ドメイン名を追加する許可があることを証明するには、次のいすれかを実行します。

  • ドメイン名ごとに個別の証明書をアタッチします (たとえば、product-name.example.com など)。

  • ドメイン名の先頭に * ワイルドカードを含む証明書をアタッチして、1 つの証明書で複数のサブドメインを対象とします。ワイルドカードを指定する場合、複数のサブドメインを CloudFront の代替ドメイン名として追加できます。

次の例では、証明書のドメイン名のワイルドカードを使用して特定の代替ドメイン名を CloudFront に追加することを許可する方法を示しています。

  • marketing.example.com を代替ドメイン名として追加するとします。証明書に次のドメイン名をリストします。*.example.com。この証明書を CloudFront にアタッチすると、この位置でワイルドカードを置き換えする一意の代替ドメイン名をディストリビューションに追加することができます (marketing.example.com など)。また、たとえば次の代替ドメイン名を追加することもできます。

    • product.example.com

    • api.example.com

    ただし、ワイルドカードより高いあるいは低い位置に代替ドメイン名を追加することはできません。たとえば、example.com あるいは marketing.product.example.com のような代替ドメイン名を追加することはできません。

  • example.com を代替ドメイン名として追加するとします。これを行うには、ディストリビューションにアタッチした証明書にこのドメイン名 example.com 自体をリストする必要があります。

  • marketing.product.example.com を代替ドメイン名として追加するとします。これを行うには、証明書に *.product.example.com をリストするか、または証明書に marketing.product.example.com 自体をリストできます。

DNS 設定を変更する権限

代替ドメイン名を追加するとき、CNAME レコードを作成してドメイン名の DNS クエリを CloudFront ディストリビューションにルーティングする必要があります。これを行うには、DNS サービスプロバイダを使用して使用する代替ドメイン名に CNAME を作成する権限があることが必要です。通常、これはドメインを所有していることを指しますが、ドメイン所有者向けにアプリケーションを開発している場合にも当てはまります。

代替ドメイン名と HTTPS

代替ドメイン名を含む HTTPS をビューアーが使用するように構成する場合は、いくつかの追加設定を実行する必要があります。詳細については、「代替ドメイン名と HTTPS の使用」を参照してください。

代替ドメイン名を使用する上での制限

代替ドメイン名の使用には、以下の制限があることに注意してください。

代替ドメイン名の最大数

ディストリビューションに追加できる代替ドメイン名の数に関する現在の制限について、または制限の引き上げをリクエストするには、「ウェブディストリビューションの一般的な制限」を参照してください。

重複する代替ドメイン名

代替ドメイン名が別の CloudFront ディストリビューションに既に存在する場合は、自分の AWS アカウントで他のディストリビューションを所有していても、その代替ドメイン名を CloudFront ディストリビューションに追加することはできません。

ただし、*.example.com のようなワイルドカードの代替ドメイン名を追加できます。これには、www.example.com のような非ワイルドカードの代替ドメイン名 (重複している) が含まれます。重複する代替ドメイン名は、同じディストリビューション、同じ AWS アカウント内の異なるディストリビューション、または異なる AWS アカウントでも使用できます。代替ドメイン名をディストリビューションに追加する場合、CloudFront 認証チェックに合格する TLS/SSL 証明書をアタッチして、そのドメインを使用する権限があることを証明する必要があります。詳細については、「 代替ドメイン名を使用するための要件」を参照してください。

2 つのディストリビューションで代替ドメイン名が重複している場合、CloudFront は、DNS レコードが指しているディストリビューションに関係なく、より具体的な名前が一致しているディストリビューションにリクエストを送信します。たとえば、marketing.domain.com*.domain.com よりも具体的です。

既にディストリビューションを指している代替ドメイン名

DNS レコードが指しているのが、作成中または変更中のディストリビューション以外のディストリビューションである場合、ディストリビューションに代替ドメイン名を追加することはできません。このシナリオでは、CloudFront ディストリビューションのドメイン名を追加するには、事前に DNS プロバイダで DNS を更新する必要があります。

これを解決するには、DNS プロバイダにサインインし、既存の DNS レコードを削除するか、DNS プロバイダに連絡して削除してもらいます。次に、ディストリビューションの代替ドメイン名を追加または変更するステップに従って、ディストリビューション用の適切な DNS レコードを作成します。詳細については、「代替ドメイン名の追加」または「 代替ドメイン名を別の CloudFront ディストリビューションに移動する」を参照してください。

ドメインフロンティング

CloudFront には異なる AWS アカウント間で発生するドメインフロンティングに対する保護が含まれています。このシナリオでは、非標準クライアントが 1 つの AWS アカウントのドメイン名に TLS/SSL 接続を構築しながら、別の AWS アカウントの関連しない名前に HTTPS リクエストを行います。たとえば、TLS 接続が www.example.com に接続を行い、次に www.example.org にリクエストを発行するような場合です。

異なる AWS アカウント間でドメインフロンティングが生じるケースを防ぐため、CloudFront では、特定の接続に使用される証明書を所有している AWS アカウントが同じ接続で処理するリクエストを所有している AWS アカウントと常に一致することを確認します。

2 つの AWS アカウント番号が一致しない場合、CloudFront は 421 Misdirected Request レスポンスを返して、正しいドメインを使用して接続する機会をクライアントに与えます。

ドメインのトップノード (Zone Apex) の代替ドメイン名の追加

ディストリビューションに代替ドメイン名を追加する場合、通常、CloudFront ディストリビューションにドメイン名の DNS クエリをルーティングするように、DNS 設定で CNAME レコードを作成します。ただし、DNS プロトコルでは、zone apex とも呼ばれる、DNS 名前空間の最上位ノードに対して CNAME レコードを作成することができません。たとえば、example.com という DNS 名を登録した場合、Zone Apex は example.com になります。example.com に対して CNAME レコードを作成することはできませんが、www.example.comnewproduct.example.com などに対しては CNAME レコードを作成できます。

DNS サービスとして Route 53 を使用している場合、エイリアスリソースレコードセットを作成できます。これは、CNAME レコードに比べて 2 つの利点があります。トップノードのドメイン名 (example.com) に対してエイリアスリソースレコードセットを作成することもできます。また、エイリアスリソースレコードセットを使用した場合、Route 53 クエリに対する料金はかかりません。

注記

IPv6 を有効にする場合、2 つのエイリアスリソースレコードセットを作成する必要があります。IPv6 トラフィック (A レコード) をルーティングするため、および IPv4 トラフィック (AAAA レコード) をルーティングするためです。詳細については、トピック「IPv6 を有効にする」の「ディストリビューションを作成または更新する場合に指定する値」を参照してください。

詳細については、Amazon Route 53 開発者ガイド の「Amazon CloudFront ディストリビューションへのクエリのルーティング」を参照してください。