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

CloudFront と Amazon S3 オリジンとの間の通信で HTTPS を必須にする

オリジンが Amazon S3 バケットの場合、CloudFront との通信に HTTPS を使用するためのオプションは、バケットの使用方法によって異なります。Amazon S3 バケットがウェブサイトエンドポイントとして設定されている場合、オリジンとの通信に HTTPS を使用するように CloudFront を設定することはできません。Amazon S3 はその設定で HTTPS 接続をサポートしていないためです。

オリジンが HTTPS 通信をサポートする Amazon S3 バケットの場合、CloudFront はビューワーがリクエストを送信するのに使ったプロトコルを必ず使用して S3 にリクエストを転送します。オリジンプロトコルポリシー 設定のデフォルト設定は [Match Viewer] で、変更できません。

CloudFront と Amazon S3 との間の通信で HTTPS を必須にする場合、[Viewer Protocol Policy] の値を [Redirect HTTP to HTTPS] または [HTTPS Only] に変更する必要があります。このセクションで後述する手順では、CloudFront コンソールを使用して [Viewer Protocol Policy] を変更する方法について説明します。CloudFront API を使用してウェブディストリビューションの ViewerProtocolPolicy 要素を更新する方法については、Amazon CloudFront API リファレンス の「UpdateDistribution」を参照してください。

HTTPS 通信をサポートする Amazon S3 バケットで HTTPS を使用する場合、Amazon S3 では SSL/TLS 証明書を使用できるため、この通信を使用する必要はありません。

Amazon S3 オリジンに接続する際の HTTPS を必須にするよう CloudFront を設定するには

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

  2. CloudFront コンソールの上部のペインで、更新するディストリビューションの ID を選択します。

  3. [Behaviors] タブで、更新するキャッシュ動作を選択した後、[Edit] を選択します。

  4. [Viewer Protocol Policy] として次のいずれかの値を指定します。

    Redirect HTTP to HTTPS

    ビューワーは両方のプロトコルを使用できますが、HTTP リクエストは自動的に HTTPS リクエストにリダイレクトされます。CloudFront は新しい HTTPS URL とともに HTTP ステータスコード 301 (Moved Permanently) を返します。ビューワーはこの HTTPS URL を使用して CloudFront にリクエストを再送信します。

    重要

    CloudFront は、HTTP から HTTPS に DELETEOPTIONSPATCHPOST、または PUT リクエストをリダイレクトしません。HTTPS にリダイレクトするようにキャッシュ動作を設定した場合、CloudFront は HTTP ステータスコード 403 (Forbidden) でそのキャッシュ動作の HTTP DELETEOPTIONSPATCHPOST、または PUT リクエストに応答します。

    HTTPS リクエストにリダイレクトされる HTTP リクエストをビューワーが作成すると、CloudFront は両方のリクエストに課金します。HTTP リクエストの場合、リクエストの料金と、CloudFront がビューワーに返すヘッダーの料金のみが課金されます。HTTPS リクエストの場合、リクエストの料金と、オリジンが返すヘッダーとオブジェクトの料金が課金されます。

    HTTPS Only

    ビューワーは、HTTPS を使用している場合にのみ、コンテンツにアクセスできます。ビューワーが HTTPS リクエストではなく HTTP リクエストを送信した場合、CloudFront は HTTP ステータスコード 403 (Forbidden) を返し、オブジェクトは返しません。

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

  6. ビューワーと CloudFront、および CloudFront と S3 との間で HTTPS を必須にする追加のキャッシュ動作ごとに、ステップ 3 から 5 を繰り返します。

  7. 本番環境で更新された情報を使用する前に、次を確認してください。

    • ビューワーに HTTPS の使用が必要とされるリクエストにのみ、各キャッシュ動作のパスパターンが適用されている。

    • CloudFront が評価する順番にキャッシュ動作がリストされている。詳細については、「パスパターン」を参照してください。

    • キャッシュ動作は、リクエストを正しいオリジンにルーティングします。