

# オリジンリクエストポリシーとキャッシュポリシーの連携方法を理解する
<a name="understanding-how-origin-request-policies-and-cache-policies-work-together"></a>

CloudFront [オリジンリクエストポリシー](controlling-origin-requests.md)を使用して、CloudFront がオリジンに送信するリクエスト (オリジンリクエストと呼ばれる) を制御できます。オリジンリクエストポリシーを使用するには、同じキャッシュ動作に[キャッシュポリシー](controlling-the-cache-key.md)をアタッチする必要があります。キャッシュポリシーがないと、キャッシュ動作でオリジンリクエストポリシーを使用することはできません。詳細については、「[ポリシーを使用してオリジンリクエストを制御する](controlling-origin-requests.md)」を参照してください。

オリジンリクエストポリシーとキャッシュポリシーが連携して、CloudFront がオリジンリクエストに含める値を決定します。キャッシュキーに指定するすべての URL クエリ文字列、HTTP ヘッダー、および Cookie (キャッシュポリシーを使用) は、オリジンリクエストに自動的に含まれます。オリジンリクエストポリシーで指定した追加のクエリ文字列、ヘッダー、および Cookie もオリジンリクエストに含まれます (キャッシュキーには含まれません)。

オリジンリクエストポリシーとキャッシュポリシーには、互いに競合しているように見える設定があります。例えば、あるポリシーでは特定の値を許可し、別のポリシーではそれらをブロックするなどです。次の表では、オリジンリクエストポリシーとキャッシュポリシーの設定を一緒に使用する場合に、CloudFront がオリジンリクエストに含める値を説明します。これらの設定は、一般的にすべてのタイプの値 (クエリ文字列、ヘッダー、Cookie) に適用されます。ただし、キャッシュポリシーですべてのヘッダーを指定したり、ヘッダーブロックリストを使用することはできません。


<table>
<thead>
  <tr><th></th><th colspan="4">**オリジンリクエストポリシー**</th></tr>
  <tr><th></th><th>**なし**</th><th>**[All]** (すべて)</th><th>**許可リスト**</th><th>**ブロックリスト**</th></tr>
</thead>
<tbody>
  <tr><td colspan="5">**キャッシュポリシー**</td></tr>
  <tr><td>**なし**</td><td>すべてのオリジンリクエストに含まれるデフォルトを除き、ビューワーリクエストの値はオリジンリクエストには含まれません。詳細については、「[ポリシーを使用してオリジンリクエストを制御する](controlling-origin-requests.md)」を参照してください。</td><td>ビューワーリクエストのすべての値がオリジンリクエストに含まれます。</td><td>オリジンリクエストポリシーで指定された値のみがオリジンリクエストに含まれます。</td><td>オリジンリクエストポリシーで指定された値を**除く**ビューワーリクエストのすべての値がオリジンリクエストに含まれます。</td></tr>
  <tr><td>**[All]** (すべて)<br />**注意:** キャッシュポリシーですべてのヘッダーを指定することはできません。</td><td>ビューワーリクエストのすべてのクエリ文字列と Cookie は、オリジンリクエストに含まれます。</td><td>ビューワーリクエストのすべての値がオリジンリクエストに含まれます。</td><td>ビューワーリクエストのすべてのクエリ文字列と Cookie、およびオリジンリクエストポリシーで指定されたヘッダーは、オリジンリクエストに含まれます。</td><td>ビューワーリクエストのすべてのクエリ文字列と Cookie は、オリジンリクエストポリシーのブロックリストで指定されているものも含め、すべてオリジンリクエストに含まれます。キャッシュポリシーの設定は、オリジンリクエストポリシーのブロックリストより優先されます。</td></tr>
  <tr><td>**許可リスト**</td><td>ビューワーリクエストから指定された値のみが、オリジンリクエストに含まれます。</td><td>ビューワーリクエストのすべての値がオリジンリクエストに含まれます。</td><td>キャッシュポリシーまたはオリジンリクエストポリシーで指定されているすべての値は、オリジンリクエストに含まれます。</td><td>キャッシュポリシーで指定された値は、オリジンリクエストポリシーのブロックリストで同じ値が指定されている場合でも、オリジンリクエストに含まれます。キャッシュポリシーの許可リストは、オリジンリクエストポリシーの禁止リストより優先されます。</td></tr>
  <tr><td>**ブロックリスト**<br />**注意:** キャッシュポリシーのブロックリストではヘッダーを指定できません。</td><td>指定されたものを**除く**ビューワーリクエストのすべてのクエリ文字列と Cookie は、オリジンリクエストに含まれます。</td><td>ビューワーリクエストのすべての値がオリジンリクエストに含まれます。</td><td>オリジンリクエストポリシーで指定された値は、キャッシュポリシーのブロックリストに同じ値が指定されている場合でも、オリジンリクエストに含まれます。オリジンリクエストポリシーの許可リストは、キャッシュポリシーのブロックリストより優先されます。</td><td>キャッシュポリシーまたはオリジンリクエストポリシーで指定された値を**除く**ビューワーリクエストのすべての値がオリジンリクエストに含まれます。</td></tr>
</tbody>
</table>
