SDN
← 概念一覧へ
ネットワーク

コンテンツ配信ネットワーク(CDN)

Content Delivery Network (CDN)

世界中に分散したキャッシュサーバー網で、ユーザーに地理的に近い場所から画像・CSS・JS・動画などを配信する仕組み。速くなり、自前サーバーの負荷も減る。

キーポイント
  • 効果1: ユーザーに近いデータセンターから配信するので速い(距離が近い=レイテンシ小)。
  • 効果2: 自前(オリジン)サーバーがコンテンツ配信から解放され、負荷が減る。
  • Push CDN: コンテンツ更新時に自分からCDNへアップロード(push)する。トラフィック最小・ストレージ最大。更新頻度が低いサイト向き。
  • Pull CDN: ユーザーの初回アクセス時にCDNがオリジンから取りに行く(pull)。TTLでキャッシュ期間を管理。ストレージ最小。高トラフィックサイト向き。
  • 主に静的コンテンツ向きだが、CloudFront等は動的コンテンツにも対応。
トレードオフ

CDNはコストが大きくなりうる(特に転送量課金)。キャッシュなのでTTLが切れる前にオリジンを更新すると、古いコンテンツ(stale)が配信され続ける。これを避けるためファイル名にバージョンを付ける(URL変更)などの工夫が要る。Push型はストレージを食い管理が増え、Pull型は初回アクセスが遅く無駄なトラフィックが出ることがある。

たとえ話: 全国のコンビニ

人気商品(=Webの画像や動画)を、本社の倉庫(=オリジンサーバー)1か所からだけ配ると、遠い人ほど届くのが遅い。そこで全国のコンビニ(=CDNのエッジサーバー)に在庫を置いておけば、誰でも近所で受け取れて速い。本社の倉庫も発送業務から解放されて楽になります。これがCDNの本質です。

図を描画中...

Push型 vs Pull型

コンビニにどうやって商品を並べるか、の違いです。

Push CDN(自分で並べる)

更新したら自分から全コンビニに商品を送り込みます

  • 長所: ユーザーが来る前から在庫があるので常に速い。オリジンへのアクセスは最小。
  • 短所: 全エッジに置くのでストレージを大量消費。更新のたびに送り込む手間。
  • 向き: 更新頻度が低い・トラフィックが少なめのサイト。

Pull CDN(売れたら取り寄せる)

最初に誰かがアクセスした瞬間に、コンビニが本社から取り寄せて以後キャッシュします。

  • 長所: 実際にアクセスされた物だけ置くのでストレージ最小。運用が楽。
  • 短所: 各エッジで『最初の1人』は取り寄せ待ちで遅い。TTL切れ後の最初のアクセスも遅い。
  • 向き: トラフィックが多いサイト(=どうせすぐ誰かがアクセスしてキャッシュが温まる)。
図を描画中...

つまずきポイント

  • CDNは『キャッシュ』なので、**古いまま配信され続ける問題(stale)**が起きる。CSSを更新したのに反映されない、はこれが原因のことが多い。対策はファイル名にハッシュを付ける(例: app.a1b2c3.css)など、URL自体を変えてしまうこと。
  • 全部CDNに載せれば速いわけではない。ユーザーごとに違う動的コンテンツはキャッシュしづらい。基本は『誰が見ても同じ静的ファイル』が主役。

関連する概念

この概念で腕試し

関連する 4 問のクイズに挑戦できます。

クイズを解く