CDN(Content Delivery Network/コンテンツデリバリネットワーク)とは、世界各地に配置したサーバーから、利用者にもっとも近い場所でWebコンテンツを配信する仕組みのことです。画像や動画などの配信を肩代わりし、表示を速くするとともに元のサーバーの負担を減らします。
現実世界に例えると、CDNは各地に置かれた倉庫のようなものです。本社の倉庫だけから全国へ発送すると時間も負荷もかかりますが、地域ごとに在庫を置いておけば、近い倉庫からすぐ届けられます。
CDN図解
CDNの仕組み
- コンテンツの複製
元のサーバー(オリジン)の内容を、各地の拠点へコピーして保持します。 - 近い拠点への振り分け
利用者からの要求を、地理的に近い拠点へ自動的に案内します。 - 控えからの配信
拠点に控えがあればそこから返し、なければオリジンへ取りに行きます。 - 期限による更新
一定時間が過ぎた控えは破棄し、改めて取得し直します。
CDNを使う利点
| 利点 | 内容 |
|---|---|
| 表示の高速化 | 距離が縮まり、待ち時間が短くなる |
| サーバー負荷の軽減 | 大半の要求を拠点側で処理できる |
| 急な混雑への耐性 | 話題になっても元のサーバーが持ちこたえる |
| 攻撃への耐性 | 大量アクセスによる攻撃を分散して受け止められる |
キャッシュされるもの・されないもの
画像や動画、スタイルシートなど誰が見ても同じ内容のもの(静的コンテンツ)はCDNに向いています。一方、ログイン後の画面や検索結果のように利用者ごとに異なる内容は、原則としてキャッシュしません。設定を誤ると他人向けの画面が別の人に表示される事故につながるため、扱いには注意が必要です。
更新が反映されないときは
ファイルを差し替えたのに古い内容が表示される場合、拠点に前の控えが残っていることが原因です。管理画面から控えを消す操作(パージ)を行うか、期限が切れるのを待ちます。あらかじめファイル名に版数を含めておけば、更新のたびに別のファイルとして扱われるため、この問題そのものを避けられます。
どんなサイトに向いているか
CDNは、画像や動画が多いサイト、利用者が全国・海外に散らばっているサイト、アクセス数の変動が大きいサイトで特に効果を発揮します。逆に、社内だけで使う小規模なシステムや、ほとんどが利用者ごとに異なる画面で構成されるサービスでは、得られる効果が限られます。導入前に「どのファイルが繰り返し配信されているか」を確認しておくと、判断しやすくなります。
導入のしかた
多くの場合、ドメインの向き先をCDN事業者のサーバーへ変更するだけで利用を始められます。サイト側のプログラムを大きく作り替える必要はありません。レンタルサーバーやWordPressでも、設定やプラグインを通じて組み込める場合があります。
付随して使われる機能
| 機能 | 内容 |
|---|---|
| SSL/TLSの終端 | 暗号化通信の処理を拠点側で受け持つ |
| 画像の最適化 | 閲覧環境に合わせて自動で軽い形式に変換する |
| アクセス制限 | 国や条件を指定して、不正な要求を遮断する |
このように、CDNは単なる高速化だけでなく、サイトの入口を守る役割も担うようになっています。


コメント