HTTPS 経由で代替ドメイン名を使用してコンテンツを提供するように CloudFront を設定したいと考えています。
簡単な説明
デフォルトでは、CloudFront ドメイン名は HTTPS 経由でコンテンツを提供する場合にのみ使用できます。ただし、独自のドメイン名を CloudFront に関連付けて、HTTPS 経由でコンテンツを提供することはできます。
独自のドメイン名を CloudFront に関連付けるには、代替ドメイン名 (CNAME) を追加します。
解決方法
AWS Certificate Manager (ACM) で SSL 証明書をリクエストするか、独自の証明書をインポートする
Amazon が発行した証明書を使用するには、「パブリック証明書をリクエストする」を参照してください。
パブリック証明書を使用するときは、次の点に注意してください。
- 米国東部 (バージニア北部) リージョンで証明書をリクエストする必要があります。
- ACM 証明書を使用したりリクエストしたりする権限が必要です。
インポートした証明書を使用するには、「AWS Certificate Manager への証明書のインポート」を参照してください。
インポートした証明書を使用するときは、次の点に注意してください。
詳細については、「CloudFront で SSL/TLS 証明書を使用するための要件」を参照してください。
注: 証明書を ACM にインポートするのがベストプラクティスです。ただし、IAM 証明書ストアに証明書をインポートすることもできます。
SSL 証明書と代替ドメイン名をディストリビューションにアタッチする
- CloudFront コンソールにアクセスします。
- 更新するディストリビューションを選択します。
- [一般] タブで [編集] を選択します。
- 代替ドメイン名 (CNAME) には、該当する代替ドメイン名を追加します。ドメイン名をカンマで区切るか、各ドメイン名を新しい行に入力します。
注: 追加しようとしている代替ドメインには、別の CloudFront ディストリビューションを指す DNS レコードがあってはなりません。
- [SSL 証明書] で [カスタム SSL 証明書] を選択します。次に、リストから証明書を選択します。
注: ドロップダウンリストには最大 100 個の証明書が表示されます。証明書が 100 個以上あり、必要な証明書がリストにない場合は、証明書の Amazon リソースネーム (ARN) を入力します。以前に IAM 証明書ストアに証明書をアップロードしたが、ドロップダウンリストに表示されない場合は、証明書を正しくアップロードしたことを確認してください。
- CloudFront が専用 IP アドレスを使用して HTTPS コンテンツを提供するようにするには、レガシークライアントサポートを有効にしてください。
**注:**レガシークライアントサポートを使用する場合、SSL/TLS 証明書を、設定が有効になっているディストリビューションに関連付けると、追加料金が発生します。詳細については、「Amazon CloudFront の料金表」を参照してください。
- [変更を保存] を選択します。
ビューアと CloudFront の間で HTTPS を要求するように CloudFront を設定する
- CloudFront コンソールにアクセスします。
- [ビヘイビア] タブで、更新するキャッシュビヘイビアーを選択します。次に、[編集] を選択します。
- [ビューアプロトコルポリシー] では、以下を選択します。
HTTP を HTTPS にリダイレクトするビューアは両方のプロトコルを使用できますが、HTTP リクエストは自動的に HTTPS リクエストにリダイレクトされます。
-または-
HTTPS のみ。ビューアは HTTPS を使用している場合にのみコンテンツにアクセスできます。ビューアが HTTPS リクエストの代わりに HTTP リクエストを送信した場合、CloudFront は HTTP ステータスコード 403 (禁止) を返し、ファイルは返しません。
- [変更を保存] を選択します。
- ビューアと CloudFront の間で HTTPS を必要とする追加のキャッシュ動作ごとに、ステップ 1 ~ 4 を繰り返します。
ドメインを CloudFront ディストリビューションにポイントする DNS レコードを作成する
エイリアスリソースレコードセットを作成します。エイリアスリソースレコードセットを使用すると、Route 53 クエリに料金はかかりません。さらに、DNS では CNAME では許可されていないルートドメイン名 (example.com) のエイリアスリソースレコードセットを作成できます。詳細については、「CloudFront ディストリビューションにトラフィックをルーティングするように Amazon Route 53 を設定する」を参照してください。
**別の DNS サービスプロバイダーを使用する **
DNS サービスプロバイダーが提供する方法を使用して、ドメインの CNAME レコードを追加します。CNAME レコードは、代替ドメイン名 (例:www.example.com) からディストリビューションの CloudFront ドメイン名 (例:example.cloudfront.net) に DNS クエリをリダイレクトします。