CDNコスト最適化の実践方法

2026.04.28
CDNコスト最適化の実践方法

CDNコスト最適化の実践方法

まず決める指標と“見える化”の設計

闇雲にCDNを替えるより、先に数字を固めます。動画プラットフォームで機能するKPIは次の4つです。

  • キャッシュヒット率(CHR):セグメント/サブマニフェスト単位。地域別・ISP別で見る
  • オリジン帯域(Gbps)とオリジン転送量(GB/月):CHRと表裏一体
  • 1視聴時間あたりの配信コスト(円/Viewer-hour):価格交渉時の基準線
  • QoE指標:起動時間、再生失敗率、ABRの品質分布

計測の要はログの結合です。CDNエッジログ(リクエスト、キャッシュ結果、転送量)と、プレイヤーの再生ログ(起動、ビットレート遷移、エラー)を同一セッションIDで紐づけ、地域×デバイス×時間帯で集計します。SQLやクエリの雛形はChatGPTやClaudeに投げて初期案を出し、検算だけ人が行うとスピードが上がります。異常検知ルールの文案はCopilotに下書きを作らせ、運用RunbookをGeminiでレビューすると属人化も和らぎます。

料金モデルは「転送量」「リクエスト数」「無効化・ログ配信・WAF/TLSオプション」まで分解し、月次で次を必ず付け合わせます。

  • 地域別単価(段階課金やコミットの到達率)
  • リクエスト課金がある場合のセグメント長との相性(短いほど回数が増える)
  • 無効化やログ配信の従量費(障害時に跳ねがち)

キャッシュ設計を“動画仕様”に作り直す

TTLと再検証の現実解

HLS/DASHでは、マニフェスト(master/variant)は短め、セグメントは長めが基本です。例として、master: 120秒、variant: 60秒、セグメント: 7日を起点に、stale-while-revalidateを併用します。これで人気コンテンツのヒットを維持しつつ、マニフェストだけを頻回更新できます。新規公開や編成差し替えが多い場合は、セグメントのバージョンパス(/v123/…)にしてパージを減らすのが効きます。

キャッシュキーの断捨離

キャッシュ断片化の典型は「署名トークンのクエリ混在」「不要なヘッダvary」です。次を徹底します。

  • cache keyは「パス+解像度/ビットレート+コーデック+DRM有無」程度に限定
  • 短寿命の署名やトラッキングはヘッダで検証し、キーから外す(CDNのignore-params機能)
  • ETag/If-None-MatchとIf-Modified-Sinceを使い、再配信では304を返す

ABRの“取りすぎ”も無駄を生みます。プレイヤーの初手を中位ビットレートに固定し、重複フェッチ(複数レベルの先読み)を最大1〜2本に制限。セグメント長は4秒以下だとリクエスト数が跳ねるため、6〜8秒でQoEとコストの折衷が取りやすいです。

小さなテキストを締める、大きな動画は“触らない”

動画データ自体は既に圧縮済みで再圧縮の効果が薄い一方、マニフェストや字幕、プレイヤーJS/CSSはBrotliやHTTP/2/3でしっかり削減できます。TLS再利用(セッション再開)を有効にし、ドメインの統合で接続数を抑えると、起動時間とリクエスト課金の両方に効きます。

トラフィック制御、オリジン、マルチCDNの現実解

オリジンを“守る”設計

Origin Shieldを一段挟み、人気コンテンツのミスバーストを吸収します。大量公開やライブ直後はプリウォーム(先行フェッチ)を設定。オリジンは地理的に複数配置し、出庫の局所集中を避けます。ログを見て長尾コンテンツのTTLを引き上げると、オリジン転送量が直線的に下がります。

マルチCDNは3つの判断軸だけ

  • 可用性:フェイルオーバーの自動化(DNS/TLS切替の秒単位化)
  • 品質:地域・ISP別のQoEを週次でベンチ、悪化時に比率調整
  • コスト:コミット超過/未達のペナルティ含めた実効単価で配分

配分は「夜間はCDN Aを多め」「特定ISPはCDN B」などの単純ルールから開始し、配分ログで効果検証。複雑な最適化は運用負荷とトレードオフです。

コスト試算の型

月間配信量(GB)×単価 −(CHR向上で削減されたオリジン転送量×オリジン単価)−(リクエスト削減分×単価)で試算します。例えばCHRを88%→94%に上げると、総量が同じでもオリジン転送は約半減します。セグメント長を6秒にし、プレイヤーの重複先読みを抑えると、リクエスト課金の削減も加わります。

身近な活用例:中規模の動画学習サービスが28%削減

社員35名、月間視聴者数40万人の動画学習サービス。公開本数増に伴い、月中盤からCDN費が跳ね、オリジンの帯域も逼迫していました。原因は「署名付きURLの短期トークンをクエリに付けたままキャッシュ」「variantマニフェストのTTLが10秒」「プレイヤーが初手で3レベル分を先読み」の3点。CHRは82%まで低下し、オリジン転送量が右肩上がりに。

改善は3週間で実施しました。

  • 署名はヘッダ検証に移行、cache keyからクエリを除外
  • master/variantのTTLを120/60秒、セグメントは7日に固定+バージョンパス
  • プレイヤーの先読みを1レベルに制限、初手を中位ビットレート固定
  • Origin Shieldを導入し、公開直後のみプリウォームを実施
  • CDN配分を夜間は第二CDNへ20%スイッチ、ISP別のQoEで微調整

結果、CHRは82%→93%に回復。オリジン転送量は42%減、リクエスト数は27%減、視聴開始は平均−280ms短縮。月間コストは28%削減でき、深夜帯の品質も安定。ログ分析の自動化にはChatGPTとGeminiでクエリ検証を行い、アラート文面やドキュメント整備はClaudeとCopilotを併用しました。人的負荷を増やさず、運用で貯金を作れた点が持続可能でした。

まとめ:コスト最適化は“視聴体験の設計”そのもの

動画配信のCDNコストは、設計の粗さを正直に映します。キャッシュキーとTTL、プレイヤー挙動、オリジンの守り、配分ルール。この4点を数字で回すだけで、二桁パーセントの圧縮とQoE改善は十分に現実的です。浮いた原資は、コンテンツ制作やレコメンドの改善、権利処理の自動化など、視聴体験に直結する投資へ回せます。動画プラットフォーム事業は、配信効率と体験価値の両輪で伸びます。今日の最適化は、明日の視聴継続率とライブラリ拡充を静かに後押しします。