# CDN — 利用者の近くから配る係

> レベル: 初級 ／ 対象: 大人
> 出典: Kotowary — https://kotowary.com/learn/units/cdn?level=beginner&audience=adult
同じ画像を、東京の人にもロンドンの人にも速く届けたい。そのために、世界中に「近くの倉庫」を置いておくのが**CDN**です。

## これは何をする係？

CDNは、**世界中に分散した“利用者の近くの倉庫”**（※1 エッジ）の集まり。画像・CSS・JSなど**変わらないもの**のコピーを各地に置き、利用者に一番近い倉庫から配ります。

::image{src="/images/web-services/cdn-globe.webp" alt="世界地図上に分散した拠点" caption="CDN — 世界中に散らばる配達拠点"}

大事なのは「1台の独立したサーバ」ではなく、**たくさんの拠点に同じものが並んでいる層**だということ。

**登場人物メモ**:

- **※1 エッジ** — 利用者の近くにある配信拠点。世界中にたくさんある
- **※2 オリジン** — 大元のサーバ（あなたのサービス本体）。エッジに無いときの取り寄せ先

## 仕事の流れ

1. ブラウザが画像などをお願いする
2. 一番近い**エッジ**に、そのコピーがあるか見る
3. **あれば即返す**（cache hit・速い）
4. **無ければオリジンから取り寄せて**配り、ついでにエッジに保存する（cache miss）
5. 次からは、その地域の人にはエッジから即返せる

## なぜ速く・強くなる？

- **速い** — 物理的に近い＝往復が短い
- **軽い** — 静的なものをエッジが肩代わりし、オリジンの負荷が下がる
- **強い** — アクセスが世界中の拠点に分散するので、一点に集中しない

だから「変わらないもの」はCDN、「その人だけ・刻々と変わるもの」はオリジン、と役割を分けます。

## ⚠️ うまくいかないとき

- **更新が反映されない** — 古いコピーがエッジに残っている（期限切れ or 手動でパージが必要）
- **キャッシュされない** — 個人向け・動的なものは基本キャッシュできず、速さの恩恵が薄い
