メニュー
Amazon CloudFront
開発者ガイド (API Version 2016-09-29)

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

オリジンが Amazon S3 バケットの場合、CloudFront はビューワーがリクエストを送信するのに使ったプロトコルを必ず使用して S3 にリクエストを送信します。オリジンプロトコルポリシー (Amazon EC2、Elastic Load Balancing、および他のカスタムオリジンのみ) 設定のデフォルト設定は [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 リファレンスPUT Distribution Config を参照してください。

オリジンが Amazon S3 バケットで HTTPS を使用する場合、以下の点に注意してください。

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

  • Amazon S3 は SSL/TLS 証明書を提供するため、その必要はありません。

CloudFront と 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 から HTPS に 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 が評価する順番にキャッシュ動作がリストされている。詳細については、「パスパターン」を参照してください。

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