コンテンツデリバリネットワーク
コンテンツデリバリネットワーク(content delivery network、CDN)とは、ウェブコンテンツをインターネット経由で配信するために最適化されたネットワークのことである。コンテンツ配信網とも呼ばれる。
1990年代以降ネットが一般に普及するにつれ、大手サイトからのリンクやテレビといった他メディアからのリンクにより、通常想定されていない大量のユーザーがサイトへ集中し、反応が遅くなったり、まったく応答不能になること(フラッシュクラウド効果)が多くなってきた。このような現象に対処する場合、サーバを一ヶ所だけに置くのではなく、地理的・バックボーン的に分散させるのが効果的である。同一のコンテンツを多くのサーバでミラーする手段としては、単純なDNSラウンドロビンから、P2P、地理情報を加味した複雑な配信技術までさまざまなものがあり、研究、実用化がなされている。
CDNはある意味インターネットにおけるエコシステムであり、CDN事業者が提供する分散されたエッジサーバ(キャッシュサーバ)より配信を行う事で、インターネットサービスプロバイダ(ISP)が相互接続提供するインターネット上バックボーンに不要なコンテンツトラフィックを流入させず、同時に表示高速化が得られると言う効果が期待される。
CDNを用いることにより、ウェブのみならず、大容量アプリケーション、音楽、動画の配信やオンラインゲームといったブロードバンドのコンテンツを配信することが安定かつ低コストで行えるようになる。そのためビジネス分野において注目されている。
近年ではCDNは広義の配信効率化サービスとして広がりを見せており、動画配信、ソフトウェアダウンロード、WEBサイトへのアクセス高速化・分散・負荷軽減を始め、構成上DDoS攻撃などのボリューム攻撃への高耐性を持ち合わせている点で、セキュリティ分野にまで活用の幅を広げている
Edgio Delivery(Limelight Content Delivery Service及びEdgecastが統合)
Lumen Technologies (旧Centurylink)
F5 Distributed Cloud CDN
StackPath CDN(旧MaxCDN)
Gcore CDN
Accelia DuraSite-CDN
さくらインターネット ウェブアクセラレータ
Alibaba(阿里巴巴) Cloud CDN
Tencent(騰訊) Cloud Content Delivery Network
BytePlus CDN
Zenlayer(上海層峰網絡科技) Content Delivery Network Solutions
CDNetworks(国内法人はシーディーネットワークス・ジャパン)
Coral Content Distribution Network - ニューヨーク大学によるオープンソース実装
FCAN / TENBIN - DNS分散技術の TENBIN は Ring Server Projectで用いられている
CDNの配信サーバ拠点(ノード・Point of Presence(POP)と呼ばれる)は通常、広範囲かつ複数の場所に展開され、多くの場合、複数のインターネットバックボーンを介して展開されている。利点として、自社保有サーバの負荷軽減・接続回線帯域幅コストの削減、ページの読み込み時間の改善、またはコンテンツのグローバルな可用性の向上が含まれる。 CDNを構成するノードとサーバーの数はアーキテクチャによって異なるが、場合によっては数千のノード、エッジサーバと呼ばれるサーバー台数としても数万に至るケースがある。
コンテンツのリクエストは通常、分散されたDNSのCNAME解決からユーザ最寄りの設備IPを返却するアルゴリズムを経て最適なノードにリクエストが送信される。
接続元ユーザ最寄りのノード・POPを判定する際には次のフローにてDNS解決での処理が行われる。
意図的に記述されたCNAME先DNS(CDN事業者のDNS)に再接続される
接続元ユーザから最寄りノード・エッジサーバへの判定アルゴリズムとしては各社様々なメトリクスを使用しているが、一般的にはユーザが接続しているISP設備へのネットワーク上PING結果や、物理的なエッジサーバの負荷指標などをスコア化しているケースが多い。
CDNはコンテンツ配信を最適化するように設計された技術を採用し活用する事により、エッジサーバへのキャッシュによるサーバー負荷分散、キャッシュ出来ないコンテンツの透過ルーティング等の結果によりWebサイトへの可用性向上が可能になっている。
各ユーザへのサーバー負荷分散は、先述したエニーキャストDNS CNAME解決によるサービスベース(グローバル負荷分散)及び、その後のノード内機器ベース分散(ネットワークスイッチ、ロードバランサとも呼ばれるレイヤー4〜7スイッチ)を含む1つ以上の手法を使用して、複数のユーザー間でトラフィックを共有している。スイッチには単一の仮想IPアドレスが割り当てられており、スイッチに到着するトラフィックは、配下に接続されている実際のエッジサーバーの1つに転送される。これには、万が一障害が発生した場合エッジサーバーの負荷を再分散し、サーバーのヘルスチェックを提供することで、負荷のバランスを取り、仮想的な総容量を増やし、スケーラビリティを向上させ、信頼性を高めるという利点がある。
コンテンツキャッシュは、要求されたコンテンツに対する需要が最も高いエッジサーバーを中心に人気のあるコンテンツを保存する。これらの共有ネットワークアプライアンスは、オリジンサーバと呼ばれる配信元サーバ設備の帯域幅の要件、サーバーの負荷を減らし、キャッシュされているコンテンツのクライアント応答時間を改善することが可能である。 コンテンツキャッシュは、ユーザーからの要求(プルキャッシング)またはコンテンツサーバーから配布されたプリロードされたコンテンツ(プッシュキャッシング・プリフェッチ)に基づいて作成される。
CDNでは主に更新の少ない静的コンテンツ、及び都度ユーザ毎でのWEBサーバ側でのHTML生成が必要な動的コンテンツに2分されるが、静的コンテンツはサイト内容量の大部分を占めるケースが多くキャッシュをする事により、WEBサーバのリソースを動的コンテンツ生成に振り分ける事ができる。またネットワーク上ピアの良い箇所にCDN設備は設置されている事が多いため、結果としてサイト全体の表示高速化に繋がるケースが考えられる。
ストリーミングビデオなどトラフィックの急速な成長により、この需要に応え十分に質の高いユーザエクスペリエンスを提供することで加入者を維持するために、昨今インターネットプロバイダーは多額の設備投資を行っている。
膨大な接続要求やダウンロードに対応するために、通信事業者は、ネットワークバックボーンへの不要なコンテンツトラフィックを軽減し、通信インフラへの投資を削減する手段として、独自のコンテンツ配信ネットワークを立ち上げ始めている。
通信キャリアが提供するCDNは、コンテンツが送信されるネットワークやバックボーンを所有しているため、従来のCDNよりも優れているとされている。
ラストマイルやバックボーンの観点からインターネット接続上効率の良い拠点にキャッシュできるため、エンドユーザーのより近くからコンテンツを配信できる。このディープキャッシングによりコンテンツが一般的なインターネット上を移動する距離が最小限に抑えられ、より高速かつ確実に配信する事が可能になる。
また、従来型CDN事業者は接続回線をリース調達し、各種オペレーションの費用マージンを独自のコストモデルに組み込む必要があるため、電気通信事業者によるCDNにはコスト上の利点も考慮される。
さらに、CDN利用者によって実行されるコンテンツ管理操作やユーザの利用動向によっては、とある限定された地域や時間帯での利用率が大幅に変化する場合があり、各回線や設備リソースをリース契約している一般的な従来型CDN提供事業者にとっては設備マネジメントに多くの課題をもたらす。対照的にTelco CDN事業者はリソースの使用率をより適切に制御できるため、サービスとユーザエクスペリエンスの品質向上が期待できる。
一般にCDNを利用する場合は、単一のCDN業者を利用することになる場合が多く、当該CDNに何らかの障害が発生した場合にはそこが単一障害点(SPoF)となる問題がある。一例として、2021年6月に発生したFastlyの障害では、Amazon.com/eBay/Spotify/PayPalなどの世界的大企業も障害に巻き込まれており、一説には被害総額は1,500億円を上回るとも言われた。
耐障害性を確保するために複数のCDN業者を並行利用する「マルチCDN」と呼ばれる手法もあるが、コストやセキュリティ等の面で問題があるため、実際には「マルチCDN」の利用は現実的ではないという意見もある。また、世界的なCDN市場はアカマイ・Cloudflare・Fastlyの3社による寡占が進んでおり、そもそも選択肢が限られるという指摘もされている。
IoTデバイスの増加により、データセンターやクラウド上で処理される大量のデータが生成され、クラウド側ネットワーク帯域幅の要件が限界に達しているケースが少なくない。IoTデバイスは常にクラウド側とのリアルタイム性を要求されるデータ通信が発生するため、コンテンツデリバリネットワークを構築してデータとサービスのプロビジョニングを分散し、エンドユーザーとの物理的な近接性を持つする必要がある。
従来CDN提供用途のみであったエッジサーバを、仮想化サーバとしてユーザに開放しユーザが自由にアプリケーションを配置してエッジコンピューティングとして利用できるサービスが広がっている。
近年の、日本国内CDNのシェアは、CloudFront(Amazon Web Services)、Cloudflare、Akamai Technologiesの3サービスによって、大半のシェアを占めている。