CurrentStack
#edge#cdn#caching#performance#architecture

AIクローラー時代のCDN設計: Human/Bot混在トラフィックのSLOとキャッシュ戦略

Cloudflareが「AI時代のキャッシュ再設計」を公開した背景には、Web配信の前提がすでに変化したという事実があります。多くのサイトで、AIクローラーや検索用ボットは補助的トラフィックではなく、明確な負荷主体になっています。

この状況で従来どおり「人間ユーザー中心の1種類キャッシュ方針」を維持すると、ユーザー体験悪化とインフラコスト増大が同時に発生します。

1. 従来キャッシュが破綻する理由

従来のCDN最適化は、ブラウザセッション、ページ遷移、静的資産再利用といった人間行動を前提にしていました。AIボットは挙動が異なります。

  • アーカイブへの深い連続アクセス
  • 異なる事業者による同一ページの反復取得
  • モデル更新時の同期バースト
  • robots.txtだけでは制御しきれない取得パターン

結果として、ヒット率低下とオリジン過負荷が見えない形で進みます。

2. トラフィックをポリシーレーンで分離する

まずは配信面を3レーンに分けるのが有効です。

  1. Humanレーン(UX優先)
  2. Botレーン(原価と公平性優先)
  3. Partnerレーン(認証付き高価値連携)

各レーンでキャッシュキー、TTL、レート制御を分けることで、トレードオフを可視化できます。

3. キャッシュキーは「正しさ」と「再利用率」を両立する

Humanレーンは個別化境界を守る必要があります。一方Botレーンは、正規化されたコンテンツの再利用率を最大化すべきです。

実装例:

  • Bot向けは不要クエリパラメータを正規化
  • 同義URLを正規コンテンツキーに集約
  • アーカイブは stale-while-revalidate を強化

これにより、正しさを壊さずヒット率を引き上げられます。

4. SLOを分けないと最適化に失敗する

1つの可用性指標でHuman/Botを混ぜると、改善が逆効果になります。SLOは分離します。

  • Human SLO: p95 TTFB、エラー率、主要導線成功率
  • Bot SLO: 取得成功率、オリジンオフロード率、1万リクエストあたり原価

分離すると「どちらの改善のために何を犠牲にしたか」が見えるようになります。

5. 技術対策だけでなく収益設計も必要

ボット流量が増えるほど、純技術運用だけでは持続しません。次を導入すると運用が安定します。

  • 認証トークン付きの高価値データ面
  • 利用者タイプ別の鮮度SLA
  • オリジン逼迫時の適応スロットリング

制御不能なコストセンターを、制御可能なプロダクト面へ変換できます。

6. 観測基盤で最低限必要な軸

  • traffic_class(human/bot/partner)
  • class別キャッシュヒット率
  • class別オリジン転送量
  • miss増幅が大きい上位エンドポイント

この軸がないと、チューニングは常に勘と経験に寄ってしまいます。

7. 45日実装プラン

  • 1週目: トラフィック分類とレーン設計
  • 2週目: 上位エンドポイントへレーン別キャッシュキー導入
  • 3週目: SLO分離とアラート再定義
  • 4〜5週目: 高コストBot導線へ制御・課金ポリシー追加
  • 6週目: 負荷注入テストと障害時手順確定

まとめ

AIボット流量は一時的なノイズではなく、配信設計の新しい常態です。Human/Botを分離せずに同一方針で運用すると、体験と原価の両面で破綻しやすくなります。いま必要なのは、レーン分離・SLO分割・原価可視化を同時に進める実装です。

おすすめ記事