Smart Tiered Cache が進化!パブリッククラウドのオリジンヘアピン問題にサヨナラ!
みんな、しぃちゃんだよ! 今日は Cloudflare のキャッシュ機構がまたひとつ賢くなったよ、というお話。地味に見えるけど、パブリッククラウド上にオリジンを置いてる人にはかなり嬉しいアップデートなの!
Cloudflare Blogなにが発表されたの?
これは Cloudflare Blog で公開された記事だよ。Smart Tiered Cache という機能に、AWS・GCP・Azure・Oracle Cloud のリージョンをヒントとして教えられる新しいオプションが追加されたことが紹介されているの。仕組みの内部までかなり詳しく解説されていて、エンジニア好みの読みごたえのある内容になってるよ。
今までどうだったの?
Smart Tiered Cache は 2021 年に登場した機能で、Cloudflare がレイテンシを実測しながらオリジンごとに最適な上位層データセンターを自動で選んでくれる仕組みなの。スイッチひとつでネットワークからオリジンへの最速経路を自動で見つけてくれる、というのがウリだったんだよ。
でも、パブリッククラウド上のオリジンは anycast や地域単位の unicast フロントエンドの裏に隠れていることが多くて、1 つのオリジン IP が複数の Cloudflare データセンターから同時に「近い」と見えてしまうことがあるの。たとえばシンガポールにあるオリジンなのに、プローブ計測では Chicago のデータセンターが最短だと判定されてしまうことがあるんだって。
そうなると、リクエストは「ローカルデータセンター → Chicago(上位層) → シンガポール(オリジン) → Chicago → ローカルデータセンター」というヘアピン(遠回り)を描いてしまって、数百ミリ秒もレイテンシが余計にかかることがあるの。もったいないよね。
これで何が変わるの?
今回追加されたのが、オリジンにクラウドリージョンの「ヒント」を手動で教えられる機能だよ。これがあれば、Cloudflare は anycast で素性が分かりにくいオリジン IP でも正しいリージョンにマッピングできて、より適切な一次上位層とフォールバック上位層を選んでくれるようになるの。
結果として、ヘアピンによる無駄なレイテンシが減って、上位層への集約が進むことでキャッシュ効率も上がって、オリジンへの接続数も減らせるんだって。地味だけど効くやつ!
深く潜ってみよう
anycast の見分け方が面白い
記事では anycast オリジンをどう検出しているかも説明されているよ。世界中の複数のチェックポイントデータセンターからオリジンまでのプローブレイテンシを測って、2 地点分の往復レイテンシの合計が光ファイバーで物理的に届きうる速さより速かったら、そのオリジンは複数拠点から応答しているはず、と判定するの。光速の物理制約を逆手に取った判定方法、ちょっとしぃちゃんも唸っちゃった。
リージョンヒントの中身
ヒントは下記のような形式で指定するよ。
aws:us-east-1
gcp:europe-west1
裏側では数時間おきに各クラウドプロバイダーの IP レンジファイルを取得して、リージョンと IP プレフィックスのマッピングを作成。これを 15 分ごとに更新される上位層データベース(継続的なレイテンシプローブから構築)と突き合わせて、マッチしたサブネットで加重投票を行い、最も強いシグナルを持つ上位層をそのリージョンの一次上位層として選ぶ仕組みだよ。
プローブデータがまだ少ない新しいリージョンでは、まず地理的に最も近い Tier 1 の PoP をフォールバックとして使って、オリジンが稼働してプローブデータが蓄積されると自動的に実測ベースの選択に切り替わるの。しかも一次上位層とフォールバック上位層は別々の PoP から選ばれるから、1 つの PoP が落ちても両方同時にダウンすることがないよう配慮されているみたい。
対応クラウドと設定方法
対応しているクラウドはこれだよ(今後さらに追加予定とのこと)。
- AWS
- Google Cloud Platform(GCP)
- Microsoft Azure
- Oracle Cloud
設定はダッシュボードから簡単にできるよ。
- 「Caching」→「Tiered Cache」→「Origin Configuration」に移動する
- 対象のオリジン IP を検索する
- 「Set Region Hint」をクリックする
- クラウドリージョンを選択する
複数のオリジン IP をまとめて設定する一括編集や、API・Terraform 経由での設定にも対応しているから、既存の Infrastructure as Code のワークフローにも組み込みやすいよ。ただし、ダッシュボードからのヒント設定は Cloudflare が anycast と検出済みのオリジンだけが対象になる点は注意してね。
料金面では、Smart Tiered Cache 自体が全プランで無料で使える機能なの。
機能の進化の歴史
記事の中では Smart Tiered Cache がこれまでどう強化されてきたかも振り返られていたよ。
- 2024 年 11 月: R2 バケットの位置を自動認識する Smart Tiered Cache for R2
- 2025 年 1 月: ロードバランサー配下の全オリジンでキャッシュを共有する Smart Tiered Cache for Load Balancing
- 2026 年 7 月: 今回のパブリッククラウドリージョンヒント機能
まとめ
- Smart Tiered Cache に、AWS・GCP・Azure・Oracle Cloud のリージョンを手動指定できる「リージョンヒント」機能が追加された
- anycast の裏に隠れたオリジンでも正しいリージョンにマッピングできるようになり、ヘアピンによる無駄なレイテンシを削減できる
- 裏側では IP レンジの定期取得と 15 分ごとの上位層データベース更新を組み合わせた加重投票で、一次・フォールバック上位層を自動選択している
- ダッシュボード・一括編集・API・Terraform から設定でき、全プランで無料
- パブリッククラウド上にオリジンを置いていて、レイテンシやキャッシュ効率を少しでも詰めたい人にぴったりのアップデートだよ!