CloudFront で HTTPS を使用する
ビューワーによる HTTPS の使用を必須とするように CloudFront を設定して、CloudFront がビューワーと通信するときの接続を暗号化することができます。また、オリジンに HTTPS を使用するように CloudFront を設定して、CloudFront がオリジンと通信するときの接続を暗号化することも可能です。
ビューワーとの通信とオリジンとの通信の両方で HTTPS を必須とするように CloudFront を設定する場合、CloudFront がオブジェクトのリクエストを受け取るときに以下が行われます。
-
ビューワーが HTTPS リクエストを CloudFront に送信します。ここで、ビューワーと CloudFront 間で何らかの SSL/TLS ネゴシエーションが実行されます。最終的に、ビューワーはリクエストを暗号化形式で送信します。
-
CloudFront のエッジロケーションにキャッシュされたレスポンスがある場合、CloudFront はレスポンスを暗号化してビューワーに返し、ビューワーがそれを復号化します。
-
CloudFront のエッジロケーションにキャッシュされたレスポンスがない場合、CloudFront はオリジンとの SSL/TLS ネゴシエーションを実行し、ネゴシエーションが完了すると、暗号化された形式でリクエストをオリジンに転送します。
-
オリジンは、リクエストを復号化して処理し (レスポンスを生成)、レスポンスを暗号化してから、そのレスポンスを CloudFront に返します。
-
CloudFront はレスポンスを復号化してから再度暗号化し、それをビューワーに転送します。また、CloudFront はエッジロケーションにレスポンスをキャッシュして、次回リクエストされたときに使用できるようにします。
-
ビューワーは応答の暗号化を解除します。
オリジンが Amazon S3 バケット、MediaStore、または HTTP/S サーバーなどのカスタムオリジンのどちらであるかに関係なく、プロセスは基本的に同じように機能します。
注記
SSL の再ネゴシエーション型攻撃を阻止するために、CloudFront はビューワーリクエストとオリジンリクエストの再ネゴシエーションをサポートしていません。
ビューワーと CloudFront との間、また CloudFront とオリジンとの間で HTTPS を要求する方法については、次のトピックを参照してください。