画像を利用者の近くへ届けるCDN

CDNは、近くの配布拠点からコンテンツを届けて表示を速くする仕組みです。

CDN(コンテンツ配信ネットワーク)は、世界各地の拠点にWebサイトのコンテンツのコピーを置いておき、利用者にいちばん近い拠点から返す仕組みです。本社の倉庫だけから毎回荷物を発送していたら、遠い地域には届くまで時間がかかる。各地の配送センターに在庫を置いておけば、近い拠点からすぐに届けられる。宅配ネットワークと同じ発想です。

表示が速くなるだけでなく、元のサーバー(オリジン)へのアクセスが減るので、セールやキャンペーンでアクセスが急に増えたときの負荷も抑えられます。海外の利用者にも同じサイトを快適に見せたい場合にも使われます。

配送センターに置ける在庫とは

配送センターに置けるのは、誰に送っても中身が同じ品物です。画像、動画、JavaScript、CSS のような静的ファイルがこれにあたります。完成済みの HTML や画像だけでできた静的サイトとは特に相性がよく、サイト全体を近い拠点から配れます。

逆に、利用者ごとに中身が変わるページや、アプリの重い処理、データベースの遅さは、拠点を近づけても解決しません。動的なページと静的ファイルは分けて運用し、CDN に任せるものを決めて使います。

差し替えたはずの画像が変わらない

各地に在庫を置くということは、古い在庫も各地に残るということです。画像を差し替えたのに古いまま表示される、という現象はここから起こります。

在庫をどれくらいの期間置いておくか(キャッシュの期限)は、短すぎれば毎回本社から取り寄せることになり、長すぎれば更新が届きません。頻繁に更新するファイルは、style.v2.css のようにバージョン付きのファイル名にしておくと、新しい品物として確実に配られます。

運用が始まったら、拠点の在庫で返せた割合(ヒット率)と、オリジンサーバーの負荷を定期的に見て、設定が効いているかを確かめます。