ビューワーと 間の通信に HTTPS を必須にする CloudFront - Amazon CloudFront

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

ビューワーと 間の通信に HTTPS を必須にする CloudFront

ビューワーと 間の通信に HTTPS を要求するように、 CloudFront ディストリビューション内の 1 つ以上のキャッシュ動作を設定できます CloudFront。また、HTTP と HTTPS の両方を許可するように 1 つ以上のキャッシュ動作を設定することもできます。これにより、 では一部のオブジェクトに HTTPS CloudFront が必要ですが、他のオブジェクトには HTTPS を必要としません。設定手順はオブジェクト URL 内で使用しているドメイン名によって異なります。

  • d111111abcdef8.cloudfront.net など、ディストリビューションに が CloudFront 割り当てたドメイン名を使用している場合は、1 つ以上のキャッシュ動作のビューワープロトコルポリシー設定を変更して HTTPS 通信を要求します。この設定で、CloudFront は SSL/TLS 証明書を提供します。

    CloudFront コンソールを使用してビューワープロトコルポリシーの値を変更するには、このセクションの後半の手順を参照してください。

    CloudFront API を使用して ViewerProtocolPolicy要素の値を変更する方法については、「Amazon CloudFront API リファレンス」のUpdateDistribution「」を参照してください。

  • 独自のドメイン名 (example.com など) を使用している場合、 CloudFront のいくつかの設定を変更する必要があります。また、AWS Certificate Manager (ACM) が提供する SSL/TLS 証明書を使用するか、サードパーティー認証機関からの証明書を ACM または IAM 証明書ストアにインポートする必要があります。詳細については、「代替ドメイン名と HTTPS の使用」を参照してください。

注記

ビューワーが取得するオブジェクトがオリジンから CloudFront 取得したときに CloudFront 暗号化されたことを確認する場合は、常に CloudFront とオリジンの間で HTTPS を使用します。 CloudFront とオリジンの間で最近 HTTP から HTTPS に変更した場合は、 CloudFront エッジロケーション内のオブジェクトを無効にすることをお勧めします。ビューワーが使用するプロトコル (HTTP または HTTPS) が、オブジェクトの取得に CloudFront が使用したプロトコルと一致するかどうかにかかわらず、ビューワーにオブジェクト CloudFront を返します。ディストリビューション内のオブジェクトの削除または置き換えの詳細については、「が配信する CloudFrontコンテンツの追加、削除、または置き換え」を参照してください。

ビューワーと の間で 1 つ以上のキャッシュ動作 CloudFront に HTTPS を必須にするには、次の手順を実行します。

ビューワーと の間で HTTPS を要求する CloudFront ように を設定するには CloudFront
  1. にサインインAWS Management Consoleし、 で CloudFront コンソールを開きますhttps://console.aws.amazon.com/cloudfront/v4/home

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

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

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

    Redirect HTTP to HTTPS

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

    重要

    HTTP から HTTPS PUTへのキャッシュ動作と HTTP 1.1 以降のリクエストプロトコルバージョンを使用して POSTDELETE、、OPTIONSまたは HTTP PATCH経由で を送信した場合、 は HTTP ステータスコード 307 (Temporary Redirect) を使用してリクエストを HTTPS ロケーションに CloudFront リダイレクトします。これはリクエストが同じメソッドと本文ペイロードを使用して新しい場所に再度送信されることを保証するものです。

    POSTPUTDELETEOPTIONS、または PATCHリクエストを HTTP 経由で HTTPS キャッシュ動作に HTTP 1.1 より前のリクエストプロトコルバージョンで送信すると、 は HTTP ステータスコード 403 (Forbidden) CloudFront を返します。

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

    HTTPS Only

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

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

  6. ビューワーと の間で HTTPS を要求する追加のキャッシュ動作ごとに、ステップ 3~5 を繰り返します CloudFront。

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

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

    • キャッシュ動作は、 CloudFront 評価する順序で一覧表示されます。詳細については、「パスパターン」を参照してください。

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