代替ドメイン名 (CNAME) を追加することによるカスタム URL の使用 - Amazon CloudFront

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

代替ドメイン名 (CNAME) を追加することによるカスタム URL の使用

では CloudFront、CNAME とも呼ばれる代替ドメイン名により、 がディストリビューションCloudFront に割り当てるドメイン名を使用する代わりに、ファイルの URLs で独自のドメイン名 (www.example.com など) を使用できます。

ディストリビューションを作成すると、 は d111111abcdef8.cloudfront.net などのディストリビューションのドメイン名 CloudFront を提供します。

cloudfront.net ドメイン名の代わりに独自のドメイン名 (www.example.com など) を使用する場合は、代替ドメイン名をディストリビューションに追加することができます。

代替ドメイン名の追加

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

注記

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

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

  • ドメイン名を Route 53 または別のドメインレジストラに登録します。

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

代替ドメイン名の追加
  1. にサインインAWS Management Consoleし、 で CloudFront コンソールを開きますhttps://console.aws.amazon.com/cloudfront/v4/home

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

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

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

    代替ドメイン名 (CNAME)

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

    SSL 証明書

    次の設定を選択します。

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

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

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

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

      • Server Name Indication (SNI) をサポートするクライアントのみ: オブジェクトを返さずにビューワーとの接続を CloudFront ドロップします。

    Clients Supported (サポートされるクライアント)

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

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

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

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

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

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

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

    注記

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

    Route 53

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

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

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

    重要

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

  8. dig などの DNS ツールを使用して、前のステップで作成した DNS 設定がディストリビューションのドメイン名を指していることを確認します。

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

    PROMPT> dig www.example.com ; <<> DiG 9.3.3rc2 <<> www.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: ;www.example.com. IN A ;; ANSWER SECTION: www.example.com. 10800 IN CNAME d111111abcdef8.cloudfront.net. ...

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

  9. ディストリビューションの CloudFront ドメイン名ではなくお客様のドメイン名を持つ URL にアクセスして、代替ドメイン名をテストします。

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

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

ディストリビューションに代替ドメイン名を追加しようとしても、代替ドメイン名が別のディストリビューションで既に使用されている場合は、CNAMEAlreadyExists エラー (指定した 1 つ以上の CNAME が既に別のリソースに関連付けられています) が発生します。例えば、www.example.com をディストリビューションに追加しようとしても、www.example.com が別のディストリビューションに既に関連付けられている場合は、このエラーが発生します。

その場合、既存の代替ドメイン名を 1 つのディストリビューション (ソースディストリビューション) から別のディストリビューション (ターゲットディストリビューション) に移動できます。プロセスの概要を次のステップに示します。詳細については、概要の各ステップにあるリンクを参照してください。

代替ドメイン名を移動するには
  1. ターゲットディストリビューションを設定します。このディストリビューションには、移動する代替ドメイン名を対象とする SSL/TLS 証明書が必要です。詳細については、「ターゲットディストリビューションを設定する」を参照してください。

  2. ソースディストリビューションを検索します。AWS Command Line Interface (AWS CLI) を使用して、代替ドメイン名が関連付けられているディストリビューションを検索できます。詳細については、「ソースディストリビューションを検索する」を参照してください。

  3. 代替ドメイン名を移動します。これを行う方法は、ソースディストリビューションとターゲットディストリビューションが同じ AWS アカウントにあるかどうかによって異なります。詳細については、「代替ドメイン名を移動する」を参照してください。

ターゲットディストリビューションを設定する

代替ドメイン名を移動する前に、ターゲットディストリビューション (代替ドメイン名の移動先のディストリビューション) を設定する必要があります。

ターゲットディストリビューションを設定するには
  1. 移動する代替ドメイン名を含む SSL/TLS 証明書を取得します。お持ちでない場合は、AWS Certificate Manager (ACM) にリクエストするか、別の認定権限 (CA) から取得して ACM にインポートします。米国東部 (バージニア北部) (us-east-1) リージョンの証明書をリクエストまたはインポートしていることを確認します。

  2. ターゲットディストリビューションを作成していない場合は、新しく作成します。ターゲットディストリビューションの作成の一環として、(前のステップの) 証明書をディストリビューションに関連付けます。詳細については、「ディストリビューションの作成」を参照してください。

    ターゲットディストリビューションを既に作成している場合は、(前のステップの) 証明書をターゲットディストリビューションに関連付けます。詳細については、「ディストリビューションの更新」を参照してください。

  3. 代替ドメイン名をターゲットディストリビューションのディストリビューションドメイン名に関連付ける DNS TXT レコードを作成します。代替ドメイン名の前にアンダースコア (_) を付けて TXT レコードを作成します。次に、DNS の TXT レコードの例を示します。

    _www.example.com TXT d111111abcdef8.cloudfront.net

    CloudFront はこの TXT レコードを使用して、代替ドメイン名の所有権を検証します。

ソースディストリビューションを検索する

1 つのディストリビューションから別のディストリビューションに代替ドメイン名を移動する前に、ソースディストリビューション (代替ドメイン名が現在使用されているディストリビューション) を検索する必要があります。ソースディストリビューションとターゲットディストリビューションの両方の AWS アカウント ID が分かっている場合は、代替ドメイン名の移動方法を決定できます。

代替ドメイン名のソースディストリビューションを検索するには
  1. 次の例に示すようにCloudFront list-conflicting-aliases、 AWS Command Line Interface (AWS CLI) で コマンドを使用します。www.example.com を代替ドメイン名に置き換え、EDFDVBD6EXAMPLE を、以前に設定したターゲットディストリビューションの ID に置き換えます。ターゲットディストリビューションと同じ AWS アカウントにある認証情報を使用して、このコマンドを実行します。このコマンドを使用するには、ターゲットディストリビューションに対する cloudfront:GetDistributioncloudfront:ListConflictingAlias アクセス許可が必要です。

    aws cloudfront list-conflicting-aliases --alias www.example.com --distribution-id EDFDVBD6EXAMPLE

    コマンドの出力には、指定されたドメイン名と競合または重複するすべての代替ドメイン名のリストが表示されます。次に例を示します。

    • コマンドに www.example.com を指定すると、コマンドの出力には www.example.com および、重複するワイルドカード付き代替ドメイン名 (*.example.com) が含まれます。

    • コマンドに *.example.com を指定すると、コマンドの出力には、*.example.com と、そのワイルドカードでカバーされる代替ドメイン名 (例えば、www.example.com、test.example.com、dev.example.com など) が含まれます。

    コマンドの出力内の代替ドメイン名ごとに、それが関連付けられているディストリビューションの ID と、ディストリビューションを所有する AWS アカウント ID を確認できます。ディストリビューション ID とアカウント ID は部分的に非表示になっているため、所有しているディストリビューションとアカウントを識別できますが、所有していないディストリビューションとアカウントの情報は保護されます。

  2. コマンドの出力から、移動する代替ドメイン名のディストリビューションを検索し、ソースディストリビューションの AWS アカウント ID を書き留めます。ソースディストリビューションのアカウント ID とターゲットディストリビューションを作成したアカウント ID を比較し、これら 2 つのディストリビューションが同じ AWS アカウントにあるかどうかを判断します。これは、代替ドメイン名の移動方法を決定するのに役立ちます。

    代替ドメイン名の移動については、次のトピックを参照してください。

代替ドメイン名を移動する

代替ドメインの移動方法については、状況に応じて、次の方法から選択します。

ソースディストリビューションとターゲットディストリビューションが同じ AWS アカウントにある場合

AWS CLI の associate-alias コマンドを使用して、代替ドメイン名を移動します。この方法は、代替ドメイン名が apex ドメイン (ルートドメインとも呼ばれます。例: example.com) である場合を含めて、同じアカウントでのすべての移動で機能します。詳細については、「associate-alias を使用して代替ドメイン名を移動する」を参照してください。

ソースディストリビューションとターゲットディストリビューションが異なる AWS アカウントにある場合

ソースディストリビューションにアクセスでき、代替ドメイン名が apex ドメイン (ルートドメインとも呼ばれます。例: example.com) 以外のもので、その代替ドメイン名と重複するワイルドカードをまだ使用していない場合は、ワイルドカードを使用して代替ドメイン名を移動します。詳細については、「ワイルドカードを使用して代替ドメイン名を移動する」を参照してください。

ソースディストリビューションの AWS アカウントにアクセスできない場合は、AWS CLI の associate-alias コマンドを使用して代替ドメイン名を移動します。ソースディストリビューションが無効になっている場合は、代替ドメイン名を移動できます。詳細については、「associate-alias を使用して代替ドメイン名を移動する」を参照してください。associate-alias コマンドが機能しない場合は、AWS Support に問い合わせてください。詳細については、「AWS Support にお問い合わせいただき、代替ドメイン名を移動する」を参照してください。

associate-alias を使用して代替ドメイン名を移動する

ソースディストリビューションがターゲットディストリビューションと同じAWSアカウントにある場合、または別のアカウントにあるが無効な場合は、 CloudFront associate-alias の コマンドAWS CLIを使用して代替ドメイン名を移動できます。

関連エイリアスを使用して代替ドメイン名を移動するには
  1. 次の例に示すように、 を使用して コマンドAWS CLIを実行します CloudFront associate-aliaswww.example.com を代替ドメイン名に、EDFDVBD6EXAMPLE をターゲットディストリビューションの ID に置き換えます。ターゲットディストリビューションと同じ AWS アカウントにある認証情報を使用して、このコマンドを実行します。このコマンドの使用には、次の制約があることに注意してください。

    • ターゲットディストリビューションに対する cloudfront:AssociateAliascloudfront:UpdateDistribution アクセス許可が必要です。

    • ソースディストリビューションとターゲットディストリビューションが同じ AWS アカウントにある場合、ソースディストリビューションに対する cloudfront:UpdateDistribution アクセス許可が必要です。

    • ソースディストリビューションとターゲットディストリビューションが異なる AWS アカウントにある場合、ソースディストリビューションを無効にする必要があります。

    • ターゲットディストリビューションは、「ターゲットディストリビューションを設定する」で説明されているように設定する必要があります。

    aws cloudfront associate-alias --alias www.example.com --target-distribution-id EDFDVBD6EXAMPLE

    このコマンドは、ソースディストリビューションから代替ドメイン名を削除し、ターゲットディストリビューションに追加することで、両方のディストリビューションを更新します。

  2. ターゲットディストリビューションが完全にデプロイされたら、代替ドメイン名の DNS レコードがターゲットディストリビューションのディストリビューションドメイン名を参照するように DNS 構成を更新します。

ワイルドカードを使用して代替ドメイン名を移動する

ソースディストリビューションがターゲットディストリビューションと異なる AWS アカウントにあり、ソースディストリビューションが有効になっている場合は、ワイルドカードを使用して代替ドメイン名を移動できます。

注記

ワイルドカードを使用して apex ドメイン (example.com など) を移動することはできません。ソースディストリビューションとターゲットディストリビューションが異なる AWS アカウントにある場合の apex ドメインの移動については、AWS Support にお問い合わせください。詳細については、「AWS Support にお問い合わせいただき、代替ドメイン名を移動する」を参照してください。

ワイルドカードを使用して代替ドメイン名を移動するには
注記

このプロセスでは、ディストリビューションを複数回更新します。各ディストリビューションが最新の変更を完全にデプロイするまで待ってから次のステップに進みます。

  1. ターゲットディストリビューションを更新して、移動する代替ドメイン名に対応したワイルドカード付き代替ドメイン名を追加します。例えば、移動する代替ドメイン名を www.example.com にしている場合は、代替ドメイン名 *.example.com をターゲットディストリビューションに追加します。これを行うには、ターゲットディストリビューションの SSL/TLS 証明書にワイルドカード付きのドメイン名を含める必要があります。詳細については、「ディストリビューションの更新」を参照してください。

  2. 代替ドメイン名の DNS 設定を更新して、ターゲットディストリビューションのドメイン名を参照します。例えば、移動する代替ドメイン名が www.example.com の場合、www.example.com の DNS レコードを更新して、トラフィックをターゲットディストリビューションのドメイン名 (例: d111111abcdef8.cloudfront.net) にルーティングします。

    注記

    DNS 設定を更新した後でも、代替ドメイン名はソースディストリビューションによって引き続き提供されます。これは、代替ドメイン名がソースディストリビューションで現在設定されているためです。

  3. ソースディストリビューションを更新して代替ドメイン名を削除します。詳細については、「ディストリビューションの更新」を参照してください。

  4. ターゲットディストリビューションを更新して代替ドメイン名を追加します。詳細については、「ディストリビューションの更新」を参照してください。

  5. dig (または類似の DNS クエリツール) を使用して、代替ドメイン名の DNS レコードの解決先がターゲットディストリビューションのドメイン名になっていることを検証します。

  6. (オプション) ターゲットディストリビューションを更新してワイルドカード付き代替ドメイン名を削除します。

AWS Support にお問い合わせいただき、代替ドメイン名を移動する

ソースディストリビューションとターゲットディストリビューションが異なる AWS アカウントにある場合に、ソースディストリビューションの AWS アカウントにアクセスできないか、ソースディストリビューションを無効にできない場合は、AWS Support にお問い合わせいただき代替ドメイン名を移動できます。

AWS Support にお問い合わせいただき、代替ドメイン名を移動するには
  1. ターゲットディストリビューションをセットアップします。これには、ターゲットディストリビューションを参照する DNS TXT レコードも含まれます。詳細については、「ターゲットディストリビューションを設定する」を参照してください。

  2. に連絡してAWS Support、ドメインの所有権を確認し、ドメインを新しい CloudFront ディストリビューションに移動するように依頼します。

  3. ターゲットディストリビューションが完全にデプロイされたら、代替ドメイン名の DNS レコードがターゲットディストリビューションのディストリビューションドメイン名を参照するように DNS 構成を更新します。

代替ドメイン名の削除

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

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

注記

このディストリビューションから代替ドメイン名を削除して、別のディストリビューションに追加するには、「代替ドメイン名を別のディストリビューションに移動する」の手順に従います。代わりにここに示すステップに従って (ドメインを削除するために)、ドメインを別のディストリビューションに追加した場合、 がエッジロケーションの更新 CloudFront に反映されるため、ドメインが新しいディストリビューションにリンクされない期間があります。

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

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

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

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

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

  3. にサインインAWS Management Consoleし、 で CloudFront コンソールを開きhttps://console.aws.amazon.com/cloudfront/v4/home、ディス CloudFront トリビューションを更新してドメイン名を削除します。

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

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

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

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

代替ドメイン名での * ワイルドカードの使用

代替ドメイン名を追加するとき、サブドメインを個別に追加する代わりに、ドメイン名の最初に * ワイルドカードを使用できます。例えば、代替ドメイン名を *.example.com にしている場合は、「www.example.com」、「product-name.example.com」、「marketing.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」 のように、ドメイン名の途中にあるサブドメインを置き換えることはできません。

  • ワイルドカードを使用する代替ドメイン名を含むすべての代替ドメイン名は、証明書のサブジェクト代替名 (SAN) でカバーされている必要があります。

ワイルドカード付き代替ドメイン名 (*.example.com など) には、使用されている別の代替ドメイン名 (example.com など) を含めることができます。

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

www.example.com などの代替ドメイン名を CloudFront ディストリビューションに追加する場合、次の要件があります。

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

すべての代替ドメイン名 (CNAME) には小文字を使用する必要があります。

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

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

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

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

注記

一度に 1 つの 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.example.com を代替ドメイン名として追加するとします。これを行うには、証明書に *.product.example.com をリストするか、または証明書に marketing.product.example.com 自体をリストできます。

DNS 設定を変更する権限

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

代替ドメイン名と HTTPS

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

代替ドメイン名の使用に対する制限

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

代替ドメイン名の最大数

ディストリビューションに対して作成できる代替ドメイン名の現在の最大数、またはクォータの引き上げを要求する代替ドメイン名の最大数については、「ディストリビューションの一般的なクォータ」を参照してください。

重複する代替ドメイン名

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

ただし、*.example.com のようなワイルドカード付きの代替ドメイン名を追加できます。これには、www.example.com のような非ワイルドカードの代替ドメイン名を含む (つまり重複している) が含まれます。2 つのディストリビューションで代替ドメイン名が重複している場合、 は、DNS レコードが指すディストリビューションに関係なく、より具体的な名前が一致するディストリビューションにリクエスト CloudFront を送信します。例えば、marketing.domain.com は *.domain.com より具体的です。

ドメインフロンティング

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

ドメインフロンティングが異なる AWS アカウントを横断するケースを防ぐため、 は、特定の接続にサービスを提供する証明書を所有するAWSアカウントが、その同じ接続で処理するリクエストを所有するAWSアカウントと常に一致する CloudFront ことを確認します。

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

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

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

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

注記

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

詳細については、「Amazon Route 53 デベロッパーガイド」の「ドメイン名を使用したトラフィックの Amazon CloudFront ウェブディストリビューションへのルーティング」を参照してください。