【しーでぃーえぬ】

CDN とは?

最終更新:
💡 配信拠点とキャッシュで、コンテンツを届ける

複数の配信拠点を使ってコンテンツを利用者へ届けるネットワーク。キャッシュした画像やファイルなどを配信し、元のサーバーへのアクセスや通信の待ち時間を減らせる。配信先や速度、保存できる内容は設定と通信状況による。

📌 このページのポイント
CDN:拠点のコピーを利用 元サーバー 必要時に取得 配信拠点A 配信拠点B コピーを配信 保存対象と更新方法を設定 速度や配信先は通信状況にもよる
キャッシュできるファイルの配信例。要求時に必要な内容を取得し、拠点に保存したコピーを利用者へ返す。全拠点への事前配布や常に最速の保証ではない。
ひよこ ひよこ
CDNを使うと、なぜ速くなるの?
ペンギン先生 ペンギン先生
元のサーバーまで毎回取りに行かず、配信拠点のコピーを使えるからだよ。利用者までの通信の待ち時間や、元サーバーの負荷を減らせる。ただしキャッシュの有無や回線、処理時間も関係するので、必ず数msで応答するわけではないんだ。
ひよこ ひよこ
必ず地図上でいちばん近い拠点につながる?
ペンギン先生 ペンギン先生
そうとは限らないよ。例えばCloudFrontは、通信の遅延などを踏まえて要求を処理する拠点へ案内する。地理的な距離だけでは通信経路や混雑は分からない。「最寄り」を常に最短距離や最速の保証として読まないようにしよう。
ひよこ ひよこ
初めて見るファイルは、どこから来るの?
ペンギン先生 ペンギン先生
配信拠点に使えるキャッシュがなければ、オリジンと呼ぶ元サーバーなどから取得するよ。保存できる応答ならキャッシュし、次の要求に再利用する。すべての拠点に全ファイルを先にコピーする必要がある、という仕組みではないんだ。
ひよこ ひよこ
更新すれば、コピーもすぐ最新になる?
ペンギン先生 ペンギン先生
元ファイルを変えただけでは、保存されたコピーが残ることがあるよ。Cache-ControlなどのヘッダーとCDNの設定で保存期間や再確認を調整する。必要なら無効化などの更新手段も使う。速さと、どの程度新しい内容が必要かを合わせて設計するんだ。
ひよこ ひよこ
ログイン後のページも全部キャッシュしてよい?
ペンギン先生 ペンギン先生
利用者ごとの内容を共用キャッシュから他の人へ返さないように、保存対象を区別する必要があるよ。privateやno-storeなどの意味と、CDN側の実際の設定を確認する。動的な要求を元サーバーへ転送する配信もあり、CDNを通すこととキャッシュすることは同じではないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「CDN」って出てきたら「複数の配信拠点やキャッシュで、コンテンツを届ける仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Content Delivery Network」 = コンテンツ配信ネットワーク
💬 Content(コンテンツ)をDelivery(配信)するNetwork(ネットワーク)だよ

参考資料

← 用語集にもどる