Oracle Cloud Infrastructureドキュメント

キャッシュ・ルール

キャッシュ・ルールを使用すると、webページや特定のファイル・タイプなど、リクエストされたコンテンツをOracle Cloud Infrastructureエッジ・サーバー上に選択的にキャッシュできます。

ノート

キャッシュ・ルールは現在、WAAS APIを使用した場合のみ構成可能です。

次のAPI操作を使用して、WAF構成に適用可能なキャッシュ・ルールを作成および管理します:

使用可能なキャッシュ・ルール基準

キャッシュ・ルールの基準によって、リクエストされたコンテンツをキャッシュするかどうかが決定されます。

  • 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からのコンテンツをキャッシュするようにルールが設定されている場合、url www.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からのコンテンツをキャッシュするようルールが設定されている場合、URL www.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"
  ]
}