CDNの仕組み


CDNは、以下のユニットにより構成されています:

  • CDNサーバ(CDN Edge Server)
  • GSLB (Global Server Load Balaner/広域負荷分散装置)
  • 顧客コンソール

CDNサーバ

CDNサーバの構成方法としては、以下の方法があります:

  • キャッシュサーバ
  • ミラーサーバ

このうち多くのCDNで使用されているものはキャッシュサーバです。そして、内部処理的には、Reverse Proxyとして動作します。つまり、動作としては次のようなシナリオに従います:

  1. オリジンサーバに代わり、ユーザからのリクエストを受け付ける
  2. ユーザからリクエストされたたコンテンツをオリジンサーバから取得
  3. コンテンツをユーザに返送するとともに、内部ストレージにキャッシュ(保存)する

そして、一度キャッシュしたコンテンツは、それ以降、オリジンサーバと独立してキャッシューサーバが配信します。ここで、古いコンテンツが配信し続けられる可能性に対しては、TTL設定、パージAPI等の方法により回避することができます。

GSLB

CDNのメリットで詳細を説明しますが、前記キャッシュサーバの地理的分散(例えば国単位に設置)がCDNのメリットになります。これを有効に活用するためには、ユーザから最も近いキャッシュサーバの選択が必要となり、この機能を実行するものがGSLBになります。

実装としては、DNSベースのGSLBが広く使われており、次のシナリオに従い動作します:

  1. ユーザからのDNSリクエストの送信元IPアドレスを識別する
  2. DNSへのリプライ(IPアドレス、CNAME)については、送信元IPアドレスと最も近いキャッシュサーバのものを返答する。

ここで、「最も近い」という判断が必要になりますが、以下のようパラメータを元に計算しています:

  • TTL
  • 含まれるAS
  • 実際の配信パフォーマンス

顧客コンソール

最近のCDNでは、単純な配信だけではなく、動的ファイル対応等の高度な機能が提供されています。これらの機能を最大限に活用するには、ユーザによる細かな設定が必要になっています。また、CDNの裾野も広がっており(月額0円からの従量制等)、CDN事業者による手厚い設定サービスも、これらの小額案件については、実施することが困難になっています。

そのため、ユーザ自身がCDN設定を行える「顧客コンソール」がCDNサービスにおいて大きなウェイトを占めるようになっています。