CDN(Content Delivery Network)サービスでは、ユーザーのアクセスを最寄りの配信サーバーに振り分け、大元のWebサーバー(オリジナルまたはオリジンと呼ぶ)の代わりに配信サーバーからファイルをダウンロードできるようにする。このCDNを実現するために必要な、いつどのタイミングで配信サーバーにファイルを置くのか、どうやってユーザーのアクセスを最寄りのサーバーに振り分けるのか、という仕組みが気になるだろう。以下ではこれらの仕組みを解説していく。
ミラー型とキャッシュ型の2種類
オリジナルから配信サーバーへのファイルの配信方法は、大きくミラー型とキャッシュ型に分けられる。
ミラー型は、配信サーバーをオリジナルのミラーサーバーとして稼動させる方法だ。配信サーバーが、ユーザーのアクセスにオリジナルと同じように応答するために、あらかじめオリジナルのファイルをすべて配信サーバーにコピーしておく。ユーザーのアクセスが配信サーバーに届くと、配信サーバーはオリジナルにアクセスすることなくユーザーのアクセスに応答する。すべての配信サーバーが常にオリジナルと同期を取り、ユーザーのアクセスに対して、最新ファイルを応答するようになっている。
ミラー型を採用するのは主に、企業や団体が自前でCDNを構築するケースだ。例えば、オープンソースソフトの開発コミュニティで、開発中のプログラムなどサイズが大きいファイルをWebサーバーで公開するときなどに利用される。こうしたプログラムファイルの公開なら、ファイルの追加が中心で更新はほとんどない。同期の必要がないので運用しやすい。
キャッシュ型は事業者側にメリット
一方のキャッシュ型は、配信サーバーをキャッシュとして動作させる方法だ。
次にように動作する。ユーザーがWebサイトにアクセスしようとする。割り振られた最寄りの配信サーバーが、ローカルにユーザーが要求するファイルがない場合は、オリジナルにファイルを要求し、配信サーバーにコピーする。配信サーバーから、ユーザーにファイルがダウンロードされる。配信サーバーにコピーされたファイルは、別のユーザーがアクセスしたキャッシュとして使う。
両者の仕組みを比較すると、ユーザーのメリットが大きいのがミラー型だ。ユーザーのどんなアクセスに対しても、通常は配信サーバーが応答するため、オリジナルと通信する時間を待たなくて済む。