Cloudflareが大容量ファイルのキャッシュを改善、全プランで

Cloudflareが大容量ファイルのキャッシュを改善、全プランで ITニュース

Cloudflareが2026年10月23日、大きなファイルのキャッシュを賢くする「Origin Range Requests」を公式ブログで公開しました。動画やインストーラー、ディスクイメージなどを配信している人や、自社のダウンロード配信をCloudflare経由にしている情シスに関係します。

キャッシュの結論、設定ひとつで全プランが対象

結論から言うと、大容量ファイルのキャッシュで悩んでいたレンジサイズの調整が不要になり、Cache Rulesで機能をオンにするだけで使えます。公式ブログによると、全プランで利用でき、サポートへの申請は要りません。

項目 内容
対象プラン 全プラン
申請 不要
設定場所 Caching の Cache Rules
設定の中身 大容量ファイルに一致するルールを作り、Origin Range Requests をオンにする
API 利用可能。オブジェクト名は origin_range_requests(mode は on / off / default)

設定の詳細は、Cache Rulesの設定ページ(Cloudflare公式ドキュメント)で確認できます。

従来のキャッシュ方式で起きていた困りごと

従来のレンジキャッシュは、ゾーンごとに決めた固定サイズのレンジでファイルを分割していました。そのため、ほんの少し読むだけでも、オリジンの帯域をむだに使うことがありました。

たとえば、R2の従来のレンジサイズは64 MiBでした。境界をまたぐ小さな読み取りでも、データセンター間の転送が約128 MiBになることがあったそうです。お弁当の端っこを少しつまみたいだけなのに、2箱ぶん運ばれてくるような状態です。

新しいキャッシュの仕組み、チャンク単位で足りない分だけ取得

新方式では、キャッシュの内部を固定サイズのチャンクで持ちます。だから、利用者側がレンジサイズを調整する必要がありません。

  • 足りない部分だけを、チャンク単位でオリジンから取得する
  • クライアントが求めたバイトだけを返す
  • ディスク上のバイトと、オリジンから取ってきたバイトを、1つのレスポンスにまとめられる
  • 同時に来たリクエストは、進行中のダウンロードを共有できる

キャッシュ改善の効果、R2で出た数字

公式ブログによると、R2を新しい実装に移した後、p99のTTFBがキャッシュヒット・ミスとも約半分になりました。ディスクと上流のバイトを1つのレスポンスで組み合わせたことで、R2と類似のワークロードの階層キャッシュ転送量は、前週より約6%減ったとのことです。

使いどころが多いキャッシュの対象ファイル

公式が想定する用途は、次のとおりです。

用途 例
動画 途中へシーク(飛ばし再生)できる動画
ダウンロード 途中から再開できるダウンロード
配布物 ソフトウェア・パッケージのリポジトリ、ディスクイメージ、アーカイブ
AI AIモデルのファイル
部分読み 大きなファイルの一部だけを読むクライアント

使う前に知っておきたいキャッシュの注意点

公式ブログとドキュメントには、次の注意点が書かれています。

  • チャンクより小さい要求でも、チャンク全体を取得することがあります
  • キャッシュできない応答が、これでキャッシュできるようになるわけではありません
  • 部分取得の効果を出すには、オリジンがバイトレンジ(Range)に対応している必要があります。オリジンがRangeを無視して200 OKを返すと、ファイル全体のダウンロードが必要になります
  • 変換される圧縮コンテンツは、全体を返す応答になります。Cloudflareはオリジンに、エンコードしていないコンテンツを要求します
  • If-Range の検証子が一致しないときは、全体を返します
  • Cache Reserveは、Origin Range Requestsに対応していません
  • ファイルサイズの上限は、要求したレンジではなくオブジェクト全体に適用されます
  • Cloudflareはクライアントのレンジを広げて、複数の単一レンジ要求を出すことがあります。オリジンのログには、利用者が求めたのと違うレンジが届きます

ドキュメントでは、現時点で既定でオンになる拡張子はありません。将来は特定のファイル種別で既定にして、キャッシュルールで設定できるようにする意向だと、公式ブログは述べています。

キャッシュを活かすために、まずやっておきたいこと

おすすめの順に並べます。

  1. オリジンがRangeに対応しているかを確かめる: Accept-Ranges の応答や、Rangeつきの要求に206が返るかを見ます。ここがだめだと、効果が出ません
  2. 大容量ファイルだけに一致するCache Ruleを作る: パスや拡張子で絞って、まず小さな範囲で試します
  3. オリジンのログを見直す: 求めたのと違うレンジが届くのは仕様なので、監視やアラートの条件が「クライアントと同じレンジ」を前提にしていないかを確認します
  4. Cache Reserveを使っているなら対象外: 併用できない点を、ルールを作る前に押さえます

現場で起きそうなこと

「大きなファイルは、とりあえずCloudflareに載せておけばいい」と考えてオンにしても、オリジンがRangeを無視する構成なら、効果が出ないかもしれません。そこは注意したい点です。新機能は、オリジンがRangeに対応していて、はじめて効きます。オンにする前に、オリジン側の応答を一度見ておくと安心です。

ほかのITの話題は、技術ネタの記事一覧からどうぞ。

2026年10月24日時点の情報です。

ITもごはんも、腹八分目が長続きのコツ!

コメント