Technology

プロダクト開発の舞台裏や
使用している技術の話

図解で分かるCDNの仕組みと技術(第1回:基礎編)

図解で分かるCDNの仕組みと技術(第1回:基礎編)

はじめまして、エンジニアのF.O.です。 普段はJストリームの自社CDNサービスであるCDNextの開発・運用チームに参画しています。CDNのEdgeサーバの機能追加や、お客様向けの管理コンソールの開発、日常的に発生するメンテナンス作業など、幅広くサービス運用に関わっております。 この講座では、図解をしながら、わかりやすくCDNの仕組みとそこで使われている技術を解説していきたいと思います。 第1回目はCDNの仕組みと技術の基礎についてご紹介します。

CDNとは?

CDNとは「Content Delivery Network」 の略です。その名前から想像できる通り、多数のコンテンツ配信サーバと配信ネットワークによって構成されたシステムを利用することで、インターネットを利用するユーザーに対して効率よく高速に動画・画像・文字データなどの「コンテンツ」を配信する仕組みです。

普段インターネットで何気なく閲覧しているWebサイトや動画サイト、またはスマートフォンのアプリなど、多様な用途において実はCDNの技術が使われています。

CDNの構成

CDNを用いた配信では主に、「オリジンサーバ」「キャッシュサーバ」「ロードバランサ」で構成された仕組みを用います。元のデータを保有する「オリジンサーバ」から配信サーバ拠点にある「キャッシュサーバ」にデータをキャッシュし、キャッシュしたデータをオリジンサーバに代わりユーザー向けに配信します。


「キャッシュサーバ」は複数のサーバを束ねたクラスタ構成になっており、配信サーバ拠点に設置されています。CDNの配信サーバ拠点はPOP(Point of Presence)とも呼ばれ、例えば関東や関西といった地理的に離れた場所や、ネットワーク的に配信効率が良い場所にあるデーターセンターを拠点として複数展開されています。

CDN関連用語の解説

オリジンサーバ
配信するデータの元となるオリジナルのコンテンツ(動画・画像・文字データなど)を格納しているサーバ

 

データセンター
物理サーバ機器やネットワーク機器をまとめて設置・収容している施設
電源・空調・インターネット接続といったIT機材に必要な設備が用意されている
火災や地震などの災害が発生しても被害が最小限になる対策を施した建物構造となっている
CDNでは関東や関西など地理的に離れた複数の拠点にデータセンターを分散して利用している

 

キャッシュサーバ
動画や画像などオリジンサーバから配信されるデータを複製し格納している
ユーザーからリクエストがあった場合にはオリジンサーバに代わってエンドユーザーに応答する

 

GSLB(Global Server Load balancer)
地理的に分散する複数の拠点間でサーバのロードバランシングを行う広域負荷分散システム

 

DNS(Domain Name System)
ドメイン名(example.comなど) とコンピューターが接続に使用する数字の IP アドレス (203.0.113.0など) を相互に変換するシステム
ユーザーからのリクエストは各ユーザーが利用している(例えばプロバイダーが提供する)DNSサーバを経由してCDNへ誘導される

 

IX(Internet Exchange Point )
インターネットプロバイダーとデータセンターの相互接続ポイント
CDNではデータセンターから複数のIXに接続されインターネット事業者と経路交換を行っている

 

ユーザー
PCやスマートフォンなどの端末でコンテンツを視聴するエンドユーザー

コンテンツ配信の高速化

CDNを利用しない場合

CDNを利用する場合

CDNを利用することで、ユーザーにコンテンツを高速に提供することができます。

 

CDNを使用しない環境では、オリジンサーバにユーザーからのリクエストが集中してしまいます。そのため、オリジンサーバの処理能力を超えるようなリクエスト数があった場合に処理待ちが発生してしまい、結果的にコンテンツの配信が遅延したり、オリジンサーバからエラーが返され閲覧できないといった問題が発生する場合があります。

 

一方で、CDNを使用した環境では、ユーザーからのリクエストの大半はCDNのキャッシュサーバへ向けられ、キャッシュサーバが保持しているキャッシュを各ユーザーに返します。キャッシュサーバは複数台のサーバが用意されており、分散してデータの送信を行うために大量のリクエストを受け付けることができます。通信回線においても大容量のデータを送信できる回線設備になっているため、コンテンツを高速にユーザーまで配信することが可能になります。

 

また、オリジンサーバはキャッシュサーバにコンテンツをキャッシュする時のみにデータの送信が限られるため、オリジンサーバの負荷が軽減されます。このことからオリジンサーバのスペックが低い場合でもCDNを利用することで配信のパフォーマンスが改善されます。