CDN(Content Delivery Network)サービスでは、ユーザーのアクセスを最寄りの配信サーバーに振り分け、大元のWebサーバー(オリジナルまたはオリジンと呼ぶ)の代わりに配信サーバーからファイルをダウンロードできるようにする。このCDNを実現するために必要な、いつどのタイミングで配信サーバーにファイルを置くのか、どうやってユーザーのアクセスを最寄りのサーバーに振り分けるのか、という仕組みが気になるだろう。以下ではこれらの仕組みを解説していく。

CDNサービスをどうやって実現しているのか
CDNサービスをどうやって実現しているのか
ユーザーのアクセスに対して、最寄りの配信サーバーからファイルを提供するには、「どうやって配信サーバーにファイルを置くのか?」「どうやってユーザーのアクセスを最寄りのサーバーに誘導するのか?」という疑問が湧く。
[画像のクリックで拡大表示]

ミラー型とキャッシュ型の2種類

 オリジナルから配信サーバーへのファイルの配信方法は、大きくミラー型とキャッシュ型に分けられる。

ファイルの配信はミラー型とキャッシュ型の2種類がある
ファイルの配信はミラー型とキャッシュ型の2種類がある
ミラー型は、配信サーバーがオリジナルのWebサーバーのミラーサーバーとして動作するように全ファイルをコピーしておく。キャッシュ型は、ユーザーからのアクセスがあったファイルを配信サーバーにコピーして、コピーしたファイルはキャッシュとして利用する。ファイルのコピーには、インターネットVPNなどの仮想ネットワークを使うのが一般的。
[画像のクリックで拡大表示]

 ミラー型は、配信サーバーをオリジナルのミラーサーバーとして稼動させる方法だ。配信サーバーが、ユーザーのアクセスにオリジナルと同じように応答するために、あらかじめオリジナルのファイルをすべて配信サーバーにコピーしておく。ユーザーのアクセスが配信サーバーに届くと、配信サーバーはオリジナルにアクセスすることなくユーザーのアクセスに応答する。すべての配信サーバーが常にオリジナルと同期を取り、ユーザーのアクセスに対して、最新ファイルを応答するようになっている。

 ミラー型を採用するのは主に、企業や団体が自前でCDNを構築するケースだ。例えば、オープンソースソフトの開発コミュニティで、開発中のプログラムなどサイズが大きいファイルをWebサーバーで公開するときなどに利用される。こうしたプログラムファイルの公開なら、ファイルの追加が中心で更新はほとんどない。同期の必要がないので運用しやすい。

キャッシュ型は事業者側にメリット

 一方のキャッシュ型は、配信サーバーをキャッシュとして動作させる方法だ。

 次にように動作する。ユーザーがWebサイトにアクセスしようとする。割り振られた最寄りの配信サーバーが、ローカルにユーザーが要求するファイルがない場合は、オリジナルにファイルを要求し、配信サーバーにコピーする。配信サーバーから、ユーザーにファイルがダウンロードされる。配信サーバーにコピーされたファイルは、別のユーザーがアクセスしたキャッシュとして使う。

 両者の仕組みを比較すると、ユーザーのメリットが大きいのがミラー型だ。ユーザーのどんなアクセスに対しても、通常は配信サーバーが応答するため、オリジナルと通信する時間を待たなくて済む。