CDNとは「Content Delivery Network」 の略です。その名前から想像できる通り、多数のコンテンツ配信サーバと配信ネットワークによって構成されたシステムを利用することで、インターネットを利用するユーザーに対して効率よく高速に動画・画像・文字データなどの「コンテンツ」を配信する仕組みです。
普段インターネットで何気なく閲覧しているWebサイトや動画サイト、またはスマートフォンのアプリなど、多様な用途において実はCDNの技術が使われています。
CDNを用いた配信では主に、「オリジンサーバ」「キャッシュサーバ」「ロードバランサ」で構成された仕組みを用います。元のデータを保有する「オリジンサーバ」から配信サーバ拠点にある「キャッシュサーバ」にデータをキャッシュし、キャッシュしたデータをオリジンサーバに代わりユーザー向けに配信します。
「キャッシュサーバ」は複数のサーバを束ねたクラスタ構成になっており、配信サーバ拠点に設置されています。CDNの配信サーバ拠点はPOP(Point of Presence)とも呼ばれ、例えば関東や関西といった地理的に離れた場所や、ネットワーク的に配信効率が良い場所にあるデーターセンターを拠点として複数展開されています。
CDNを利用しない場合
CDNを利用することで、ユーザーにコンテンツを高速に提供することができます。
CDNを使用しない環境では、オリジンサーバにユーザーからのリクエストが集中してしまいます。そのため、オリジンサーバの処理能力を超えるようなリクエスト数があった場合に処理待ちが発生してしまい、結果的にコンテンツの配信が遅延したり、オリジンサーバからエラーが返され閲覧できないといった問題が発生する場合があります。
一方で、CDNを使用した環境では、ユーザーからのリクエストの大半はCDNのキャッシュサーバへ向けられ、キャッシュサーバが保持しているキャッシュを各ユーザーに返します。キャッシュサーバは複数台のサーバが用意されており、分散してデータの送信を行うために大量のリクエストを受け付けることができます。通信回線においても大容量のデータを送信できる回線設備になっているため、コンテンツを高速にユーザーまで配信することが可能になります。
また、オリジンサーバはキャッシュサーバにコンテンツをキャッシュする時のみにデータの送信が限られるため、オリジンサーバの負荷が軽減されます。このことからオリジンサーバのスペックが低い場合でもCDNを利用することで配信のパフォーマンスが改善されます。