HTTPS 経由で代替ドメイン名を使用してコンテンツを提供するように CloudFront を設定するにはどうすればよいですか?
最終更新日: 2022 年 5 月 31 日
簡単な説明
デフォルトでは、CloudFront ドメイン名は、HTTPS 経由でコンテンツを提供するためにのみ使用できます。ただし、HTTPS 経由でコンテンツを提供するために、独自のドメイン名を CloudFront に関連付けることができます。
解決方法
AWS Certificate Manager (ACM) で SSL 証明書をリクエストするか、独自の証明書をインポートする
Amazon が発行する証明書を使用するには、「パブリック証明書をリクエストする」を参照してください。
公開証明書を使用するときは、次の点に注意してください。
- 米国東部 (バージニア北部) リージョンで証明書をリクエストする必要があります。
- ACM 証明書を使用してリクエストするには、アクセス許可が必要です。
インポートした証明書を使用するには、「AWS Certificate Manager に証明書をインポートする。」を参照してください。
インポートした証明書を使用する際は、次の点に注意してください。
- キーの長さは、1024 ビットまたは 2048 ビットにしてください。2048 ビットを超えることはできません。
- 米国東部 (バージニア北部) リージョンで証明書をインポートする必要があります。
- SSL/TLS 証明書を使用およびインポートするには、アクセス許可が必要です。
- 証明書は、Mozilla Included CA Certificate List に記載されている信頼できる CAから発行される必要があります。
- 証明書は X.509 PEM 形式である必要があります。
詳細については、「CloudFront で SSL/TLS 証明書を使用するための要件」を参照してください。
注: これは、証明書を ACM にインポートするためのベストプラクティスです。ただし、 IAM 証明書ストアに証明書をインポートすることもできます。
SSL 証明書と代替ドメイン名をディストリビューションにアタッチする
- CloudFront コンソールにアクセスします。
- 更新するディストリビューションを選択します。
- [General] (全般) タブで [Edit] (編集) を選択します。
- 代替ドメイン名 (CNAME) には、該当する代替ドメイン名を追加します。ドメイン名は、カンマで区切るか、改行します。
注: 追加しようとしている代替ドメインには、別の CloudFront ディストリビューションを指す DNS レコードを含めないでください。 - [SSL Certificate] (SSL 証明書) で [Custom SSL Certificate] (カスタム SSL 証明書) を選択します。次に、リストから証明書を選択します。
注:ドロップダウンリストには最大 100 個の証明書があります。証明書の数が 100 を超え、必要な証明書が一覧にない場合は、証明書の Amazon リソースネーム (ARN) を入力します。以前に IAM 証明書ストアに証明書をアップロードしたが、ドロップダウンリストに表示されない場合は、証明書を正しくアップロードしたことを確認してください。 - CloudFront で専用 IP アドレスを使用して HTTPS コンテンツを提供したい場合は、[Legacy Client support] (レガシークライアントサポート) をオンにします。
注: レガシークライアントサポートを使用する場合、SSL/TLS 証明書を、設定がオンになっているディストリビューションに関連付けると、追加料金が発生します。詳細については、「Amazon CloudFront の料金」を参照してください。 - [Save changes] (変更を保存) を選択します。
ビューワーと CloudFront との間で HTTPS を要求するように CloudFront を設定する
- CloudFront コンソールにアクセスします。
- [Behaviors] (動作) タブで、更新するキャッシュ動作を選択します。次に、[Edit] (編集) を選択します。
- [Viewer Protocol Policy] (プロトコルポリシーを表示) で、以下を選択します。
HTTP を HTTPS にリダイレクトします。ビューアは両方のプロトコルを使用できますが、HTTP リクエストは自動的に HTTPS リクエストにリダイレクトされます。
- または -
HTTPS のみ。 ビューワーは HTTPS を使用している場合にのみコンテンツにアクセスできます。ビューワーが HTTPS リクエストの代わりに HTTP リクエストを送信した場合、CloudFront は HTTP ステータスコード 403 (禁止) を返し、ファイルは返しません。 - [Save changes] (変更を保存) を選択します。
- ビューワーと CloudFront の間で HTTPS を要求する追加のキャッシュ動作ごとに、ステップ 1 ~ 4 を繰り返します。
ドメインが CloudFront ディストリビューションを指すように DNS レコードを作成する
エイリアスリソースレコードセットを作成します。エイリアスリソースレコードセットでは、Route 53 のクエリには料金はかかりません。さらに、ルートドメイン名 (example.com) 用のエイリアスリソースレコードセットを作成できます。DNS では CNAME は許可されていません。詳細については、「Amazon Route 53 を設定して、CloudFront ディストリビューションにトラフィックをルーティング」を参照してください。
別の DNS サービスプロバイダーの使用DNS サービスプロバイダーが提供する方法を使用して、ドメインの CNAME レコードを追加します。CNAME レコードは、DNS クエリを代替ドメイン名 (例: www.example.com) からディストリビューションの CloudFront ドメイン名 (例: example.cloudfront.net) にリダイレクトします。