クラウド・インフラの用語一覧へ
このページの目次
クラウド・インフラ中級図解あり

CDNとは?

読み方:しーでぃーえぬ

最終更新:2026/08/18

3秒でわかる

世界中に置いた代理サーバーから利用者に近い拠点で配信する仕組み。距離による遅延を縮め、元のサーバーへの負荷も肩代わりして表示を速くします。

30秒図解

CDNは応答がキャッシュ可能ならエッジへ保存し、保存済みでfreshな間だけ近いエッジから応答する時系列図
CDNはキャッシュ可能でfreshな応答だけを近いエッジから返し、距離と元の負荷を減らす

もう少し詳しく

どういうものか

CDN は Content Delivery Network の略で、画像や CSS、動画といったコンテンツを世界各地の拠点(エッジサーバー)に複製し、利用者から最も近い拠点が応答する仕組みです。

利用者が最初にアクセスすると、エッジは元のサーバー(オリジン)から中身を取得して手元に保存します。2 回目以降、同じファイルの要求はエッジがそのまま返し、オリジンまで届きません。この保存をキャッシュと呼びます。

なぜ必要か

理由は 2 つあります。1 つは距離です。東京のサーバーにロンドンから接続すると、光の速さでも往復で 200 ミリ秒以上かかります。ページを開くまでに何十本もの要求が飛ぶことを考えると、この積み重ねは体感できる遅さになります。エッジが同じ都市にあれば、この時間が一桁減ります。

もう 1 つは負荷です。アクセスが集中しても、キャッシュされたファイルの要求はエッジで止まります。オリジンに届くのは一部だけなので、サーバーの増強なしで急な流入に耐えられます。加えて、大量アクセスによる攻撃の吸収や、TLS 終端の肩代わりも CDN の役割です。

具体例

キャッシュの挙動は HTTP のヘッダーで指示します。

Cache-Control: public, max-age=31536000, immutable

これは「1 年間キャッシュしてよい、途中で変わることはない」という意味です。中身が変わるファイルにこれを付けると、更新が届かなくなります。そこで、ビルド時にファイル名へハッシュを混ぜます。

/assets/app.9f2c1a.js -> 内容が変われば名前も変わるので長期キャッシュできる /index.html -> 名前が固定なので短い max-age か no-cache にする
<a href="/glossary/curl" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">curl</a> -I https://example.com/assets/app.9f2c1a.js # age や x-cache の値でエッジから返ったかどうかを確認する

つまずきやすいところ

  • 更新したのに古い画面が出る — エッジに古い版が残っています。ファイル名を変えるか、キャッシュの削除(パージ)を実行します

  • ログイン後の個人向けページをキャッシュさせる — 他人の情報が別の利用者に配られる事故になります。個人化された応答は privateno-store にします

  • HTML と静的ファイルを同じ設定にする — 入口の HTML だけは短く、名前にハッシュの入ったファイルは長く、と分けます

  • アクセス元の IP がすべて CDN になる — オリジンのログでは元の利用者が見えません。転送されたヘッダーから取ります
  • 覚え方

    全国に置いた「取次店」です。本社まで注文を回さず、近所の店の在庫で渡す。だから速く、本社も混みません。

    次に学ぶ

    デプロイとは?

    知識のつながり

    サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

    現在地CDNインフラ

    LEARN BY DOING

    この用語を、教材で使ってみる

    直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

    この用語を扱うコース

    コース

    AWS CLF(Cloud Practitioner)対策

    49レッスン
    コース

    AWS SAA(Solutions Architect - Associate)対策

    55レッスン
    コース

    Next.js入門:App Routerとレイアウト

    21レッスン
    AWSクラウドコースの全編を見る