AIクローラー時代のCDN設計: Human/Bot混在トラフィックのSLOとキャッシュ戦略
Cloudflareが「AI時代のキャッシュ再設計」を公開した背景には、Web配信の前提がすでに変化したという事実があります。多くのサイトで、AIクローラーや検索用ボットは補助的トラフィックではなく、明確な負荷主体になっています。
この状況で従来どおり「人間ユーザー中心の1種類キャッシュ方針」を維持すると、ユーザー体験悪化とインフラコスト増大が同時に発生します。
1. 従来キャッシュが破綻する理由
従来のCDN最適化は、ブラウザセッション、ページ遷移、静的資産再利用といった人間行動を前提にしていました。AIボットは挙動が異なります。
- アーカイブへの深い連続アクセス
- 異なる事業者による同一ページの反復取得
- モデル更新時の同期バースト
- robots.txtだけでは制御しきれない取得パターン
結果として、ヒット率低下とオリジン過負荷が見えない形で進みます。
2. トラフィックをポリシーレーンで分離する
まずは配信面を3レーンに分けるのが有効です。
- Humanレーン(UX優先)
- Botレーン(原価と公平性優先)
- 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分割・原価可視化を同時に進める実装です。