ポリシーを使用してオリジンリクエストを制御する
CloudFront へのビューワーリクエストにより、キャッシュミス (リクエストされたオブジェクトがエッジロケーションでキャッシュされない) が発生した場合、CloudFront はオブジェクトを取得するためのリクエストをオリジンに送信します。これは、オリジンリクエストと呼ばれます。オリジンリクエストには、ビューワークエストの次の情報が常に含まれます。
-
URL パス (URL クエリ文字列またはドメイン名を含まないパスのみ)
-
リクエストボディ (存在する場合)
-
CloudFront がすべてのオリジンリクエストに自動的に含める HTTP ヘッダー (
Host
、User-Agent
、X-Amz-Cf-Id
など)
ビューワーリクエストのその他の情報 (URL クエリ文字列、HTTP ヘッダー、Cookie など) は、デフォルトではオリジンリクエストに含まれません。(例外:レガシーキャッシュ設定では、CloudFront はデフォルトでヘッダーをオリジンに転送します。) ただし、分析やテレメトリーのためにデータを収集するなど、オリジンでこのその他の情報を受信することができます。オリジンリクエストポリシー を使用して、オリジンリクエストに含まれる情報を制御できます。
オリジンリクエストポリシーは、キャッシュキーを制御するキャッシュポリシーとは別のものです。これにより、オリジンで追加情報を受信できます。さらに適切なキャッシュヒット率 (キャッシュヒットとなるビューワーリクエストの割合) を維持できます。これを行うには、オリジンリクエストに含める情報 (オリジンリクエストポリシーを使用) とキャッシュキーに含める情報 (キャッシュポリシーを使用) を個別に制御します。
2 種類のポリシーは別々のものですが、関連性があります。キャッシュキーに含めるすべての URL クエリ文字列、HTTP ヘッダー、および Cookie (キャッシュポリシーを使用) は、オリジンリクエストに自動的に含まれます。オリジンリクエストポリシーを使用して、オリジンリクエストに含めるが、キャッシュキーには含めない情報を指定します。キャッシュポリシーと同様に、オリジンリクエストポリシーを CloudFront ディストリビューション内の 1 つ以上のキャッシュ動作にアタッチします。
オリジンリクエストポリシーを使用して、ビューワーリクエストに含まれていないオリジンリクエストに追加の HTTP ヘッダーを追加することもできます。これらの追加ヘッダーは、オリジンリクエストを送信する前に CloudFront によって追加されます。ヘッダー値は、ビューワーリクエストに基づいて自動的に決定されます。詳細については、「CloudFront のリクエストヘッダーを追加する」を参照してください。