キャッシュ・ルール
キャッシュ・ルールを使用すると、Webページや特定のファイル・タイプなど、リクエストされたコンテンツをOracle Cloud Infrastructureのエッジ・サーバー上に選択的にキャッシュできます。
コンソールの使用
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Web Application Firewall」で、「ポリシー」をクリックします。
-
キャッシュ・ルールを追加するWAFポリシーの名前をクリックします。WAFポリシーの概要が表示されます。
- 「キャッシュ・ルール」をクリックします。
- 「キャッシュ・ルールの作成」をクリックします。
- 「キャッシュ・ルールの作成」ダイアログ・ボックスで、次のように入力します:
- 名前: アクセス・ルールの一意の名前。
- キャッシュ・ルールのアクション: 次のオプションのいずれかを選択します:
- キャッシュ: ルールの基準に一致した場合は、リクエストされたコンテンツがキャッシュされます。
- キャッシュ期間: キャッシュ・ルールのコンテンツをキャッシュする期間。
- 時間単位: キャッシュ期間の時間単位。
- クライアント・キャッシュの有効化: このチェック・ボックスを選択して、ユーザーのブラウザにコンテンツをキャッシュする期間を指定します。
- キャッシュをバイパス: ルールの基準に一致した場合は、リクエストがキャッシュをバイパスしてオリジンに転送されることを許可します。
- キャッシュ: ルールの基準に一致した場合は、リクエストされたコンテンツがキャッシュされます。
- 条件: アクションを実行するために一致する必要がある条件およびURLアドレスを選択します。設定したアクションが実行されるには、条件が少なくとも1つ一致している必要があります。
- 「作成」をクリックします。キャッシュ・ルールがキャッシュ・ルール・リストに追加されます。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Web Application Firewall」で、「ポリシー」をクリックします。
-
キャッシュ・ルールを編集するWAFポリシーの名前をクリックします。WAFポリシーの概要が表示されます。
- 「キャッシュ・ルール」をクリックします。
- 更新するキャッシュ・ルールのチェック・ボックスを選択します。
- 「アクション」ドロップダウン・メニューから「編集」を選択します。
- 「キャッシュ・ルールの編集」ダイアログ・ボックスで、必要な更新を行います:
- 「変更の保存」をクリックします
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Web Application Firewall」で、「ポリシー」をクリックします。
- キャッシュ・ルールを削除するWAFポリシーの名前をクリックします。WAFポリシーの概要が表示されます。
- 「キャッシュ・ルール」をクリックします。
- 削除するキャッシュ・ルールのチェック・ボックスを選択します。
- 「アクション」ドロップダウン・メニューから「削除」を選択します。
- 確認ダイアログ・ボックスで「削除」をクリックします。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Web Application Firewall」で、「ポリシー」をクリックします。
-
キャッシュをパージするWAFポリシーの名前をクリックします。WAFポリシーの概要が表示されます。
- 「キャッシュ・ルール」をクリックします。
- 「アクション」ドロップダウン・メニューから「キャッシュのパージ」を選択します。
- 「キャッシュのパージ」ダイアログ・ボックスで、パージする条件とURLアドレスを選択し、「パージ」をクリックします。
APIの使用 🔗
WAF構成に適用可能なキャッシュ・ルールを作成および管理するには、次のAPI操作を使用します:
使用可能なキャッシュ・ルール基準 🔗
キャッシュ・ルールの基準によって、リクエストされたコンテンツをキャッシュするかどうかが決定されます。
- URL_IS - リクエストされたURLパスと問合せを連結したものが
value
フィールドのコンテンツと同じである場合は、一致します。たとえば、このルールがwww.example.com/products
のコンテンツをキャッシュするように設定されている場合、www.example.com/products
に対するHTTPリクエストのみがキャッシュされます。 - URL_STARTS_WITH - リクエストされたURLパスと問合せを連結したものが
value
フィールドのコンテンツで始まる場合は、一致します。たとえば、このルールがwww.example.com/products
のコンテンツをキャッシュするように設定されている場合、www.example.com/products
で始まるURLをリクエストするすべてのHTTPリクエストはキャッシュされ、後続のリクエスト(www.example.com/products/new-product
やwww.example.com/products/old-product
に対するリクエストを含む)は、キャッシュからコンテンツを受け取ります。 - URL_PART_ENDS_WITH - リクエストされたURLパスと問合せを連結したものが
value
フィールドのコンテンツで終わる場合は、一致します。たとえば、ルールが/product.jpg
で終わるURLからのコンテンツをキャッシュするように設定されている場合、URLwww.example.com/products/new-product/product-banner.jpg
およびwww.example.com/products/old-product/product-banner.jpg
に対するHTTPリクエストはキャッシュされ、後続のリクエストはキャッシュからコンテンツを受け取ります。 - URL_PART_CONTAINS - リクエストされたURLパスと問合せを連結したものに
value
フィールドのコンテンツが含まれる場合は、一致します。ルールが/product-banner
を含むURLからのコンテンツをキャッシュするように設定されている場合、URLwww.example.com/products/new-product/product-banner/blue.jpg
およびwww.example.com/products/new-product/product-banner/red.jpg
に対するHTTPリクエストはキャッシュされ、後続のリクエストはキャッシュからコンテンツを受け取ります。
使用可能なキャッシュ・ルール・アクション 🔗
キャッシュ・ルールは、リクエストの受信時に使用可能な2つのアクションのいずれかを実行するように設定できます:
- CACHE - ルールの基準と一致するリクエストはキャッシュされ、後続のリクエストはキャッシュからコンテンツを受け取ります。
- BYPASS_CACHE - ルールの基準と一致するリクエストは、キャッシュをバイパスしてオリジンに送信されます。
キャッシュ継続時間 🔗
コンテンツは、指定された期間Oracle Cloud Infrastructureのエッジ・サーバーにキャッシュすることも、クライアントがローカルにキャッシュすることもできます。期間は、cachingDuration
およびclientCachingDuration
フィールドにISO 8601拡張形式で設定します。
キャッシュ・ルールの例 🔗
[
{
"action": "CACHE",
"cachingDuration": "PT20M",
"clientCachingDuration": "PT20M",
"criteria": [
{
"condition": "URL_IS",
"value": "/path/to-cache"
}
],
"isClientCachingEnabled": true,
"name": "Caching Rule 1"
},
{
"action": "BYPASS_CACHE",
"criteria": [
{
"condition": "URL_PART_ENDS_WITH",
"value": "urp-part-not-to-cache"
}
],
"isClientCachingEnabled": false,
"name": "Do not cache"
}
]
ベスト・プラクティス 🔗
キャッシュ・ルールを指定する順序は重要です。ルールは指定した順序で処理され、リクエストの処理中には最初に一致するルールが使用されます。キャッシュをバイパスするルールを順序の最上位に追加し、キャッシュ・ルールをバイパス・ルールより下位に追加することをお薦めします。
キャッシュのパージ 🔗
キャッシュは、PurgeCache操作を使用してパージできます。リソースのURLパスを指定してキャッシュを選択的にパージすることも、APIに渡すリソースを指定しないでWAFのすべてのキャッシュをパージすることもできます。
例
指定したリソースのキャッシュをパージします:
{
"resources": [
"/path/to-purge",
"/multiple-paths"
]
}