キャッシュリザーブ
キャッシュリザーブは、大規模で永続的なデータストアであり、R2の上に実装されています。ダッシュボードでボタンを1つ押すことで、ウェブサイトのキャッシュ可能なコンテンツがキャッシュリザーブに書き込まれます。ティアードキャッシュが訪問者とオリジンの間にキャッシュの階層を構築するのと同様に、キャッシュリザーブは、資産のストレージスペースを必要な限り予約する究極の上位キャッシュとして機能します。これにより、コンテンツがキャッシュから長く提供され、オリジンが不要な出口料金から保護されます。

キャッシュリザーブ内のコンテンツが「新鮮」と見なされる期間は、エッジキャッシュTTL設定またはオリジンのCache-Controlヘッダーによって決まります。もしエッジキャッシュTTLが設定されていない場合、Cloudflareは、キャッシュリザーブに資産の次のリクエストが到着したときに、その資産を再検証しようとします。これは、Cloudflareの通常のCDNと同じ動作です。
資産の保持期間は、資産を追放のためにマークする前にキャッシュリザーブに保持する期間です。保持期間内に資産がリクエストされない場合、その資産はキャッシュリザーブから追放されます。資産にアクセスすると、保持期間が1期間延長されます。デフォルトでは、キャッシュリザーブの保持期間は30日です。
資産は、キャッシュリザーブを使用するために特定の基準を満たす必要があります。
キャッシュリザーブは使用量に基づく製品であり、料金は以下に詳述されています。キャッシュリザーブは有料プランを必要としますが、ユーザーはCloudflareのCDN(キャッシュリザーブなし)を無料で引き続き使用できます。
有料のキャッシュリザーブプランが必要です。
- Cloudflareダッシュボード ↗にログインし、ドメインを選択します。
- キャッシング > キャッシュリザーブに移動します。
- ストレージ同期を有効にするを選択します。
詳細については、キャッシュリザーブ設定変更APIを参照してください。
エンタープライズ顧客でキャッシュリザーブに興味がある場合は、アカウントチームに連絡して構成のサポートを受けてください。
すべての資産がキャッシュリザーブに適格であるわけではありません。キャッシュリザーブに入るためには、資産は以下の条件を満たす必要があります:
- Cloudflareの標準キャッシュ可能性要因に従ってキャッシュ可能であること。
- 新鮮さの生存時間(TTL)が少なくとも10時間であること(Cache-Control / CDN-Cache-Controlオリジン応答ヘッダー、エッジキャッシュTTL、ステータスによるキャッシュTTL、またはキャッシュルールなどによって設定される)。
- Content-Length応答ヘッダーを持つこと。
- 画像変換を使用する場合、元のファイルはキャッシュリザーブに適格ですが、リサイズされたファイルのバリアントは適格ではありません。なぜなら、変換は応答フローの中でキャッシュリザーブの後に行われるからです。
- キャッシュリザーブのファイル制限は、R2の制限と同じです。なお、CDNキャッシュの制限は依然として適用されます。標準の制限を超える資産は、標準のCDNキャッシュに保存されないため、これらの資産はキャッシュリザーブ操作コストがより頻繁に発生します。
- 現在、キャッシュリザーブからのオリジン範囲リクエストはサポートされていません。
- 画像のバリエーションに対するバリエーションは、現在キャッシュリザーブと互換性がありません。
- ゾーンのドメインにリンクされたR2パブリックバケットへのリクエストはキャッシュリザーブを使用しません。接続されたゾーンのキャッシュリザーブを有効にすると、R2バケットに向けられないリクエストに対してのみキャッシュリザーブが使用されます。
- キャッシュリザーブは、オリジンから未圧縮コンテンツのリクエストを直接行います。標準のCloudflare CDNとは異なり、キャッシュリザーブはオリジンにリクエストを送信する際に
Accept-Encoding: gzipヘッダーを含めません。
標準のCDNと同様に、キャッシュリザーブもcf-cache-statusヘッダーを使用して、MISS、HIT、REVALIDATEDなどのキャッシュステータスを示します。キャッシュリザーブのキャッシュミスとヒットは、ダッシュボードのキャッシュヒット比率に影響します。
キャッシュリザーブによって満たされたまたは提供された個々のサンプルリクエストは、CacheReserveUsedログプッシュフィールドを介して表示できます。
キャッシュリザーブの月次操作およびストレージ使用量は、ダッシュボードで確認できます。
キャッシュリザーブは、保存されたデータの総量に基づいて請求され、データに対する2つの操作クラスが含まれます:
ほとんどの場合、キャッシュリザーブのミスは、クラスAとクラスBの両方の操作を1回ずつ引き起こし、キャッシュリザーブのヒットはクラスBの操作を1回引き起こします。1GBを超える資産は、そのサイズに比例してより多くの操作が発生します。
| 料金 | |
|---|---|
| ストレージ | $0.015 / GB-月 |
| クラスA操作(書き込み) | $4.50 / 百万リクエスト |
| クラスB操作(読み取り) | $0.36 / 百万リクエスト |
ストレージは、請求メトリックとしてギガバイト-月(GB-月)を使用して請求されます。GB-月は、月の期間中に保存された合計バイト数を記録することによって計算されます。
例えば:
- 1GBを30日間保存すると、1GB-月として請求されます。
- 2GBを15日間保存すると、1GB-月として請求されます。
操作は、オリジンからキャッシュリザーブにデータを書き込み、そのデータをCloudflareのネットワークの他の部分に渡すために、キャッシュリザーブによってユーザーの代わりに実行されます。これらの操作はCloudflareによって内部的に管理されます。
クラスA操作は、CloudflareのCDNからのキャッシュミスに基づいて実行されます。リクエストがキャッシュから提供できない場合、オリジンから取得され、キャッシュリザーブおよびエッジキャッシュに書き込まれ、訪問者に戻る途中で提供されます。
クラスB操作は、エッジキャッシュのミスに応じてキャッシュリザーブからデータを取得する必要がある場合に実行されます。
資産のパージは無料の操作です。
URLリクエストによるパージを送信すると、キャッシュリザーブもエッジキャッシュと共にパージされます。
タグ、ホスト、プレフィックスによるパージやすべてをパージするなどの他のパージ方法は、キャッシュリザーブ資産の次のリクエストで再検証を強制しようとします。この方法でパージされた資産は、保持TTLが期限切れになるまでストレージコストが発生します。
1,000の資産(各1GB)が月の初めにキャッシュリザーブに書き込まれ、各資産が1,000回読み取られると仮定すると、月の推定コストは次のようになります:
| 使用量 | 請求数量 | 価格 | |
|---|---|---|---|
| クラスB操作 | (1,000資産) * (1,000読み取り/資産) | 1,000,000 | $0.36 |
| クラスA操作 | (1,000資産) * (1書き込み/資産) | 1,000 | $4.50 |
| ストレージ | (1,000資産) * (1GB/資産) | 1,000 GB-月 | $15.00 |
| 合計 | $19.86 | ||
1,000,000の資産(各1MB)がキャッシュリザーブにあり、次の条件を満たすと仮定します:
- 各資産が1日に1回期限切れになり、キャッシュリザーブに書き込まれる
- 各資産が1日に2回読み取られる
月の推定コストは次のようになります:
| 使用量 | 請求数量 | 価格 | |
|---|---|---|---|
| クラスB操作 | (1,000,000資産) * (2読み取り/日) * (30日) | 60,000,000 | $21.60 |
| クラスA操作 | (1,000,000資産) * (1書き込み/日) * (30日) | 30,000,000 | $135.00 |
| ストレージ | (1,000,000資産) * (1MB/資産) | 1,000 GB-月 | $15.00 |
| 合計 | $171.60 | ||
キャッシュリザーブは、ティアードキャッシュを有効にして使用する必要があります。キャッシュリザーブは、最大のオリジンシールドのためにティアードキャッシュを有効にして使用するように設計されています。ティアードキャッシュなしでキャッシュリザーブを使用すると、ストレージ操作コストが高くなる可能性があります。Cloudflareダッシュボードを介してキャッシュリザーブを有効にすると、ティアードキャッシュが有効でない場合は警告が表示されます。
キャッシュリザーブ分析は、キャッシュリザーブの使用状況に関する洞察を提供します。キャッシュリザーブに保存されているコンテンツ、どのくらいの頻度でアクセスされているか、どのくらいの期間保存されているか、オリジンからどれだけの出口を節約しているかを確認できます。
概要セクションのキャッシュリザーブの下には、次のメトリックにアクセスできます:
- 出口の節約(帯域幅) - オリジンサーバーから提供される必要がなかったキャッシュリザーブから提供された応答バイトに基づく推定値です。これらはキャッシュヒットとして表されます。
- キャッシュリザーブによって提供されたリクエスト - キャッシュリザーブによって提供されたリクエストの数(合計)。
- データストレージの概要 - リクエストの代表的なサンプルに基づいています。Cloudflareがデータをサンプリングする方法の詳細については、サンプリングを参照してください。
- 現在保存されているデータ - 時間の経過とともに保存されているデータ(現在)。
- 集計ストレージ使用量 - 選択したタイムスタンプのために使用されたストレージの合計。
- 操作 - 時間の経過に伴うクラスA(書き込み)およびクラスB(読み取り)操作。
ダッシュボードまたはAPIを介してキャッシュリザーブに保存されているすべてのデータを削除できます。キャッシュリザーブをクリアするには:
- キャッシュリザーブはすでにゾーンに対して有効になっている必要があります。
- キャッシュリザーブはオフである必要があります。
削除には最大24時間かかる場合があります。
- Cloudflareダッシュボード ↗にログインし、ドメインを選択します。
- キャッシング > キャッシュリザーブに移動します。
- キャッシュリザーブデータの削除で、ストレージを削除を選択します。
APIを介してキャッシュリザーブデータを削除するには、次の例のリクエストを使用します。詳細については、APIドキュメントを参照してください。
curl https://api.cloudflare.com/client/v4/zones/{zone_id}/cache/cache_reserve \--header "Authorization: Bearer <API_TOKEN>"{ "result": { "editable": true, "id": "cache_reserve", "value": "off" }, "success": true, "errors": [], "messages": []}キャッシュリザーブがオフの場合、キャッシュリザーブクリア操作を進めることができます。
curl --request POST \https://api.cloudflare.com/client/v4/zones/{zone_id}/cache/cache_reserve_clear \--header "Authorization: Bearer <API_TOKEN>"{ "result": { "id": "cache_reserve_clear", "start_ts": "2024-06-02T10:00:00.12345Z", "state": "進行中" }, "success": true, "errors": [], "messages": []}