グローバルCDN配信
AVCaptionはオブジェクトストレージにCloudflare R2、配信にCloudflareのグローバルCDNを採用しています。これは公開インターネットの20%を支える同じネットワーク — 300以上の都市、ほとんどの人口密集地域へ1桁ミリ秒のレイテンシ、実戦で鍛えられたキャッシュインフラです。
配信の仕組み
- アップロード — エンコード済みHLSセグメントがCloudflare R2バケットに書き込まれます。R2はCF CDNエッジへのegress料金がゼロです。
- 事前ウォーミング — エンコード完了時、AVCaptionは主要リージョンからマスタープレイリストと最初のセグメントをpingし、最初の視聴者が来る前にエッジキャッシュを準備します。
- 視聴者の要求 — プレーヤーがセグメントURLを要求します。Cloudflareエッジノードがそれを受け取ります。
- キャッシュヒット — このエッジにセグメントがキャッシュされていれば(リージョン内最初の視聴者が取得後)、即座に提供されます。TTFB100ms未満。
- キャッシュミス — エッジがR2オリジン(これもCloudflare内部 — インターネットホップなし)から取得し、セグメントをキャッシュ。リージョン内の以後の視聴者はキャッシュにヒットします。
HLSセグメントがキャッシュに向く理由
HLSセグメント は 不変 です — 各セグメントは位置と内容に基づく固有のURLを持ち、変わりません。これにより:
- 長いキャッシュTTL(数か月)が安全 — コンテンツが古くなりません。
- キャッシュ無効化はほとんど不要 — アップロードは新URLを作るだけで上書きしません。
- 人気動画のCDNキャッシュヒット率は安定して95%超。
Webページとは根本的に異なります — ページキャッシュは複雑になりますが、動画セグメントは易しいケースです。(ストリーミングでエッジキャッシュが重要な理由は CDN vs オリジン を参照。)
リージョンカバレッジ
Cloudflare CDNのPOPは以下に存在します:
- 北米 — 米国・カナダの主要都市、東西海岸の濃密カバレッジ
- EU — すべての主要首都に加え独・仏・英・蘭のノード
- APAC — 東京、シンガポール、香港、ソウル、ムンバイ、シドニー、ジャカルタ
- 南米 — サンパウロ、ブエノスアイレス、ボゴタ、リマ
- アフリカ — ラゴス、ヨハネスブルク、カイロ、ナイロビ
- 中東 — ドバイ、リヤド、テルアビブ
コールドスタートTTFB(平均):
- 北米 / EU: 100–150ms
- 東アジア: 150–200ms
- 南米 / オーストラリア: 200–300ms
- アフリカ / 中東: 250–400ms
キャッシュ階層の優先度
有料プラン(Premium / Enterprise)はデフォルトで優先キャッシュプールに書き込みます——セグメントは標準のCloudflare LRU退避ポリシーの下でエッジに長く居続け、TTLも長めです。
Freeプランの動画は低優先度のプールを共有します:キャッシュヒットしている間はエッジから配信されますが、キャッシュ圧がかかればLRUで早めに退避されます。Freeプランの動画でもヒット率が昇格しきい値を超える(実需の兆候)と、自動で優先プールに昇格します——Freeプランで動画がバズっても、パターンが検出されれば高速配信に切り替わります。
手動設定はありません。昇格は自動、退避は低優先度プール上での標準的なLRU動作です。
帯域コスト
帯域は全有料プランに含まれます。配信GB単位の課金なし、バイラル時の請求サプライズなし、超過階段なし。5TBごとの定額料金がストレージ + 帯域をカバーします。
分単位や配信GB単位のプラットフォーム(Mux、CF Stream、Bunny)とは大きく異なります。コストの予測可能性が肝心です。
他のCDN前提プラットフォームとの比較
- Cloudflare Stream — 下層は同じCFインフラ。AVCaptionは暗号化、カスタムプレーヤー、AI字幕、定額料金を上に重ねます。
- Bunny CDN — Bunny独自CDN(119拠点超)。Cloudflareより範囲は狭いがBunnyが優先する地域では優秀。
- Mux — Fastlyと自社配信を併用。業界トップレベルのQoE最適化、リージョンカバレッジは同等。
はじめる
どの動画も自動的にCF CDNを使います——設定は不要です。代表的な動画をアップロードし、いくつかの地理的VPN出口からネットワークタブを確認してください。各リージョンでのTTFBの差を見れば、自分でリージョンを選ばなくても、視聴者が体験している遅延が分かります。