CDNとは?コンテンツ配信ネットワーク(CDN)の解説

headless

コンテンツ配信ネットワーク (CDN) は、サーバーとそのデータ センターの地理的に分散されたネットワークであり、最小限の遅延でユーザーにコンテンツを配信するのに役立ちます。

これは、戦略的に配置されたPoint of Presence(PoP)と呼ばれるデータセンターを通じて、コンテンツをユーザーの地理的な場所に近づけることで実現されます。CDNには、キャッシュファイルを保存・配信するキャッシュサーバーも含まれており、これによりウェブページの読み込み時間を短縮し、帯域幅の消費量を削減します。

コンテンツ配信ネットワークの歴史

CDNは、インターネット上のエンドユーザーに膨大な量のデータを迅速に配信するという課題に対処するために、約20年前に開発されました。今日では、ウェブサイトのコンテンツ配信の原動力となっており、学術界や商用開発者によって研究と改良が続けられています。

最初のコンテンツ配信ネットワーク(CDN)は1990年代後半に構築され、現在でも世界のインターネットトラフィックの15~30%を占めています。その後、ブロードバンドコンテンツや、インターネットを介した音声、動画、関連データのストリーミングの普及に伴い、CDNの開発がさらに進みました。CDNの進化は、大きく分けて4世代に分類できます。

形成期:CDNが実際に誕生する前、必要な技術とインフラが開発されていました。この時期は、サーバーファームの台頭、階層型キャッシュ、ウェブサーバーの改良、キャッシュプロキシの導入が顕著でした。ミラーリング、キャッシュ、マルチホーミングといった技術も、CDNの誕生と成長への道を切り開きました。

第一世代:初期のCDNは、ウェブ上のコンテンツの種類が動的と静的の2種類しかなかったため、主に動的コンテンツと静的コンテンツの配信に重点を置いていました。当時の主なメカニズムは、レプリカの作成と実装、インテリジェントルーティング、エッジコンピューティングでした。アプリと情報は複数のサーバーに分散されていました。

第二世代:次に登場したCDNは、動画・音声コンテンツのストリーミング配信、あるいはNetflixのようなビデオ・オン・デマンドサービス(ユーザー向け)やニュースサービスに重点を置きました。この世代では、ウェブサイトのコンテンツをモバイルユーザーに配信する道も開かれ、P2Pやクラウドコンピューティング技術の活用も進みました。

第3世代:CDNは現在、第3世代に突入しており、新たな研究開発によって進化を続けています。将来的には、CDNはますますコミュニティ向けに設計されることが予想されます。これは、システムが平均的なユーザーや一般ユーザーによって運営されることを意味します。自己構成、自己管理、自律的なコンテンツ配信が新たな技術的メカニズムとなることが期待されます。エンドユーザーにとってのエクスペリエンスの質が、今後の主要な推進力となることが期待されます。

CDNは当初、ビデオストリーミングの需要とCDNサービスプロバイダーの増加に伴い、極度の帯域幅逼迫に対処するために進化しました。接続性の進歩と世代ごとの新たな消費トレンドに伴い、CDNサービスの価格は低下し、マスマーケット向けのテクノロジーへと成長しました。そして、クラウドコンピューティングが広く普及するにつれ、CDNはビジネスオペレーションのあらゆるレイヤーで重要な役割を果たすようになりました。SaaS(Software as a Service)、IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、BPaaS(Business Process as a Service)といったビジネスモデルにとって、CDNは重要な役割を担っています。

CDN はどのように機能しますか?

CDNは、ユーザーとオリジンサーバー(Webサーバーまたはアプリケーションサーバー)間の物理的な距離を縮めることで機能します。CDNは、オリジンサーバーよりもはるかに近い場所にコンテンツを保存する、グローバルに分散されたサーバーネットワークです。CDNの仕組みをより深く理解するには、CDNが有効なウェブサイトと有効でないウェブサイトで、ユーザーがどのようにウェブコンテンツにアクセスするかを調べると役立ちます。

CDNなし: オリジンサーバーとの直接通信

ユーザーがブラウザでウェブサイトにアクセスすると、次の図のような接続が確立されます。ウェブサイト名は、ローカルDNS(LDNS)(ISPが提供するDNSサーバーやパブリックDNS解決サーバーなど)を使用してIPアドレスに解決されます。DNSまたはLDNSがIPアドレスを解決できない場合、上流のDNSサーバーに再帰的に解決を依頼します。最終的に、リクエストはゾーンがホストされている権威DNSサーバーに渡されます。このDNSサーバーはアドレスを解決し、ユーザーに返します。

LDNS-to-ADNS-Traffic-Diagram-1024x421.png

その後、ユーザーのブラウザはオリジンに直接接続し、ウェブサイトのコンテンツをダウンロードします。その後の各リクエストはオリジンによって直接処理され、静的アセットはユーザーのマシンにローカルにキャッシュされます。同様の場所、あるいは別の場所から同じサイトにアクセスしようとすると、同じシーケンスが実行されます。ユーザーからのリクエストは毎回オリジンに到達し、オリジンはコンテンツで応答します。この過程の各ステップで遅延、つまり「レイテンシ」が発生します。オリジンがユーザーから遠く離れている場合、応答時間に大きなレイテンシが発生し、ユーザーエクスペリエンスが低下します。

Latency-Distance-Matters-1024x421.png

headless

CDNによるエッジ最適化コンテンツ配信

しかし、CDNが存在する場合、プロセスは若干異なります。ユーザーが開始したDNSリクエストがLDNSに受信されると、LDNSはリクエストをCDNのDNSサーバーの1つに転送します。これらのサーバーは、グローバルサーバーロードバランサー(GSLB)インフラストラクチャの一部です。GSLBは、文字通りインターネット全体を測定し、利用可能なすべてのリソースとそのパフォーマンスに関する情報を追跡する負荷分散機能を支援します。この情報に基づき、GSLBはDNSリクエストを、パフォーマンスが最も高いエッジアドレス(通常はユーザーに近いアドレス)を使用して解決します。「エッジ」とは、Webコンテンツをキャッシュして配信するサーバーの集合です。

GSLB-Traffic-Diagram-1024x421.png

DNS解決が完了すると、ユーザーはエッジサーバーにHTTPSリクエストを送信します。エッジサーバーがリクエストを受信すると、GSLBサーバーはエッジサーバーが最適なルートに沿ってリクエストをオリジンサーバーに転送できるよう支援します。その後、エッジサーバーは要求されたデータを取得し、リクエスト元のエンドユーザーに配信し、ローカルに保存します。以降のユーザーリクエストはすべて、オリジンサーバーに再度クエリを送信することなく、ローカルデータセットから提供されます。エッジサーバーに保存されたコンテンツは、オリジンサーバーが何らかの理由で利用できなくなった場合でも配信可能です。

Users-Accessing-Edge-Diagram-768x704.png

CDN を使用する理由

CDN サービスは、遅延を効果的に最小限に抑え、Web サイトのパフォーマンスを向上させ、帯域幅コストを削減することで、ユーザーにコンテンツを配信する必要がある企業にとって不可欠です。

CDNのもう一つのユニークな機能は、エッジサーバーがコンテンツを事前にプリフェッチできることです。これにより、配信するデータがすべてのCDNデータセンターに保存されます。CDNの用語では、これらのデータセンターはPoint of Presence(POP)と呼ばれます。POPは、Webコンテンツをウェブサイト訪問者の近くに配置することで、ラウンドトリップタイムを最小限に抑えます。

例えば、広告キャンペーンを実施し、数百万人の潜在顧客に向けてサービスや製品を宣伝するとします。記事を読んだ後、多くの顧客がサイトに殺到することが予想されます。高いオーディエンスエンゲージメント率を誇るインフルエンサーを起用すれば、トラフィック量はさらに急増する可能性があります。オリジンサーバーは、このトラフィックの急増を一気に処理できると確信できますか?

このようなシナリオでは、CDN はエッジサーバー間の負荷分散に役立ち、すべてのサーバーにレスポンスが届きます。リクエストのごく一部だけがオリジンサーバーに到達するため、サーバーでトラフィックの急増、502 エラー、上流ネットワークチャネルの過負荷が発生することはありません。

CDNの主なメリット

ビジネスの規模とニーズに応じて、CDN の利点は次の 4 つの要素に分類できます。

ウェブサイトのページの読み込み時間の改善
近隣のCDNサーバー(その他の最適化を含む)を利用してウェブサイト訪問者の近くでウェブコンテンツを配信することで、訪問者はウェブページの読み込み時間をより速く体験できます。通常、ページの読み込み時間が長いウェブサイトでは、訪問者はクリックしたり、ウェブサイトから離脱したりする傾向があります。これは、検索エンジンでのウェブページのランキングにも悪影響を与える可能性があります。そのため、CDNを利用することで直帰率を低減し、ユーザーがウェブサイトに費やす時間を増やすことができます。つまり、読み込みが速いウェブサイトは、より多くの訪問者を長く滞在させるということです。

帯域幅コストの削減
オリジンサーバーがリクエストに応答するたびに、帯域幅が消費されます。帯域幅消費コストは企業にとって大きな負担となります。CDNはキャッシュなどの最適化を通じて、オリジンサーバーが提供するデータ量を削減し、ウェブサイト所有者のホスティングコストを削減します。

コンテンツの可用性と冗長性の向上
大量のウェブトラフィックやハードウェア障害は、ウェブサイトの正常な機能を中断させ、ダウンタイムにつながる可能性があります。CDNは分散型であるため、多数のオリジンサーバーよりも多くのウェブトラフィックを処理し、ハードウェア障害への耐性も優れています。さらに、CDNサーバーの1台または複数台が何らかの理由でオフラインになった場合でも、稼働中の他のサーバーがウェブトラフィックを引き継ぎ、サービスを中断することなく維持することができます。

ウェブサイトのセキュリティの向上
CDNがトラフィックの急増に対処するのと同じプロセスは、DDoS攻撃の緩和にも最適です。DDoS攻撃とは、悪意のある攻撃者が大量のリクエストを送信することで、アプリケーションサーバーやオリジンサーバーを圧倒する攻撃です。大量のリクエストによってサーバーがダウンすると、ダウンタイムによってウェブサイトの可用性が損なわれる可能性があります。CDNは基本的にDDoS防御および緩和プラットフォームとして機能し、GSLBとエッジサーバーによってネットワーク全体に負荷が均等に分散されます。CDNは証明書管理や自動生成・更新機能も提供します。

続きを読む: CDN を利用する 8 つの重要なメリットと、ビジネスに CDN が必要な理由

CDN が他にどのような点で役立つのでしょうか?

CDNのメリットは上記に挙げただけではありません。最新のCDNプラットフォームは、ビジネスチームとエンジニアリングチームにさらに多くのメリットをもたらします。

地球上のさまざまな地域からのアクセスを管理するために使用できます。一部の地域へのアクセスを許可しながら、他の地域へのアクセスを拒否することもできます。

アプリケーションロジックをエッジや顧客に近い場所に簡単にオフロードできます。リクエスト/レスポンスのヘッダーと本文を処理・変換したり、リクエスト属性に基づいて異なるオリジン間でリクエストをルーティングしたり、認証タスクをエッジに委任したりできます。

大量のトラフィックを処理するには、ログを収集し、さらに分析するためのインフラストラクチャが必要です。CDNはログを収集し、訪問者が生成したデータを簡単に分析するためのインターフェースを提供します。

慣れてしまえば、使いやすくなるのは当然のことです。そのため、CDN Pro EdgeはNGINXベースです。つまり、標準的なNGINXディレクティブを使ってタスクを実行できるのです。

私たちのエンジニアリング チームは、NGINX の拡張に何千時間も費やしました。

データセキュリティとCDN

情報セキュリティは CDN の不可欠な要素です。CDN は、次の方法でウェブサイトのデータを保護します。

TLS/SSL証明書を提供することで

CDNは、高いレベルの認証、暗号化、整合性を保証するトランスポート層セキュリティ(TLS)/セキュアソケットレイヤー(SSL)証明書を提供することで、サイトの保護に役立ちます。これらの証明書は、ユーザーとウェブサイト間のデータ転送において特定のプロトコルが遵守されていることを保証します。

インターネットを介してデータが転送されると、悪意のある攻撃者による傍受の危険性が高まります。この問題に対処するため、データを暗号化するプロトコルが採用され、本来の受信者だけが情報を解読・読み取りできるようになっています。TSLとSSLは、インターネット上で送信されるデータを暗号化するプロトコルです。これらはSecure Sockets Layer(SSL)のより高度なバージョンです。ウェブサイトがhttp://ではなくhttps://で始まっている場合、そのウェブサイトはTLS/SSL証明書を使用していると判断できます。つまり、ブラウザとサーバー間の通信が十分に安全であるということです。

DDoS攻撃の軽減

CDNはネットワークのエッジに展開されるため、ウェブサイトやウェブアプリケーションへの攻撃に対する仮想的な高セキュリティフェンスとして機能します。分散されたインフラストラクチャとエッジ上の配置により、CDNはDDoSフラッド攻撃のブロックにも最適です。これらのフラッド攻撃はコアネットワークインフラストラクチャの外部で緩和する必要があるため、CDNは攻撃の発生元に応じて異なるPoPで処理し、サーバーの飽和を防ぎます。

ボットとクローラーをブロックする

CDNは脅威をブロックし、悪質なボットやクローラーによる帯域幅やサーバーリソースの消費を制限する機能も備えています。これにより、スパムやハッキング攻撃を抑制し、帯域幅コストを抑えることができます。

静的および動的加速

静的コンテンツとは、エンドユーザーに配信する前に生成、処理、変更する必要のないアセットを指します。画像やその他のメディアファイル、あらゆる種類のバイナリ、HTML、CSS、JavaScriptライブラリといったアプリケーションの静的な部分、あるいはJSON、HTML、あるいは頻繁に変更されないあらゆる種類の動的レスポンスなどがこれに該当します。前述のように、このようなコンテンツは事前にプリフェッチしておくことができます。そして、そのようなコンテンツを無効化してエッジサーバーから削除する必要がある場合は、必要なパスをパージすることで対応できます。

ダイナミックアクセラレーションは、動的な性質のためにエッジでキャッシュできないものに適用されます。例えば、認証情報、地理的位置、その他のパラメータに応じてレスポンスが異なるサーバーまたはAPIエンドポイントからのイベントをリッスンするWebSocketアプリケーションを想像してみてください。エッジでキャッシュ機構を、静的コンテンツのキャッシュと同様の方法で活用するのは困難です。場合によっては、アプリとCDNの緊密な統合が役立つこともありますが、キャッシュ以外の方法を使用する必要がある場合もあります。ダイナミックアクセラレーションでは、CDNの最適化されたネットワークインフラストラクチャと高度なリクエスト/レスポンスルーティングアルゴリズムが使用されます。

課金モデルまたは「何に対して支払うのか?」

従来、CDNでは、エンドユーザーが消費したトラフィックとリクエスト数に応じて料金を支払います。さらに、HTTPSリクエストはHTTPリクエストよりも多くのコンピューティングリソースを必要とするため、CDNプロバイダーの機器への負荷が高くなります。そのため、HTTPリクエストには追加料金がかからないのに対し、HTTPSリクエストには追加料金が発生する場合があります。

計算処理がエッジに移行すると、CPUが課金対象となります。リクエストは様々な処理パイプラインを持つ可能性があり、結果としてCPU時間も異なります。リクエスト数に基づいて課金するのは現実的ではなく、トラフィック量とCPU使用時間に基づいて課金する方が現実的です。

CDNコンポーネントの説明

CDN はさまざまな要素で構成されており、それによって CDN のパフォーマンスが実現されます。

ここでは、3 つの主要コンポーネントの役割について簡単に説明します。

PoP(Point of Presence) – PoPは、ユーザー間の通信を高速化するために戦略的に配置されたデータセンターです。ウェブサイトのコンテンツと訪問者の間のギャップを埋めることで、ユーザーエクスペリエンスが大幅に高速化され、中断が少なくなります。

キャッシュサーバー– キャッシュされたファイルの保存と配信を担うコンポーネントです。主な機能は、ウェブサイトの読み込み時間を短縮し、同時に帯域幅の消費量を削減することです。

ストレージ(SSD/HDD + RAM) – 取得したすべてのデータは、SSD(ソリッドステートドライブ)、HDD(ハードディスクドライブ)、またはRAM(ランダムアクセスメモリ)に保存されます。最も頻繁に使用されるファイルは通常、最も高速なメディアであるRAMに保存されます。

CDNの種類

すべてのCDNが同じように動作するわけではなく、特定の種類のコンテンツを提供するのに適したCDNとそうでないCDNがあります。ここでは、3種類のCDNからお選びいただけます。

ピアツーピアCDN

これまでにトレントを使用したことがある場合は、ピアツーピア CDN がどのように機能するかをすでにご存知でしょう。

このCDNはピアツーピアプロトコルを使用して動作します。ピアツーピアCDNでは、コンテンツはエッジサーバーにキャッシュされません。その代わりに、ネットワーク内のコンテンツにアクセスするすべてのユーザーがコンテンツを共有します。

例えば、ユーザーがトレントから映画をダウンロードすると、バックグラウンドで他のユーザーと映画の一部を共有していることになります。高価なハードウェアを必要としないため、非常に費用対効果が高いと言えます。

プッシュCDN

Push CDN の場合、Web サイトの所有者または開発者が単独で責任を負います。

リクエストが発生した際にPoPサーバーがウェブページデータを取得するのを待つのではなく、リクエストが発生する前からPoPサーバーに必要なコンテンツをプッシュします。この情報と関連要素は、削除または消去されるまでキャッシュに保存されます。

Push CDNを使用すると、完全な制御が可能になります。PoPサーバーにプッシュしたコンテンツは、Webリクエストを送信したWeb訪問者のデバイスに表示されます。

オリジナルプルCDN

オリジン プル CDN は、その名前が示すとおり、PoP サーバーが Web ページ データやその他の要素をオリジン サーバーからプルするものです。

CDN は、リクエストを受信したときに Web ユーザーに提供する情報を決定します。

たとえば、クライアントが CDN から静的アセットを取得することを要求するリクエストを送信した場合、CDN にそのアセットがなければ、オリジン サーバーから新しく更新されたアセットを取得し、その新しいアセットをキャッシュに格納して、キャッシュされた新しいアセットをユーザーに送信します。

プッシュ CDN とは異なり、CDN ノードのキャッシュ更新はクライアントからオリジン サーバーへのリクエストに基づいて実行されるため、メンテナンスの必要性が少なくなります。

CDN の使用例: どの業界がコンテンツ配信ネットワークを活用しているか?

CDNサービスは、ネットワークプレゼンスの最適化、高可用性の確保、そして優れたユーザーエクスペリエンスの提供を目指すあらゆる規模の企業にとって不可欠です。様々な業界がCDNの機能をどのように活用しているかを見てみましょう。

デジタル出版およびニュース組織 – 選挙やスポーツ トーナメントなどの主要イベント開催中に 1000% のトラフィック急増に対応しながら、世界中の何百万人もの読者に最新ニュースやインタラクティブ メディアを配信します。

メディアおよびエンターテイメント プラットフォーム- 一貫したパフォーマンスを維持しながら、4K コンテンツ、写真、ビデオを数百万の同時ユーザーに配信するストリーミング サービスとソーシャル プラットフォームをサポートします。

Eコマース プラットフォーム– 動的なカタログ、高解像度の画像、安全なトランザクションを提供することで、特にブラック フライデーなどのピーク イベント中に、数百万の同時ユーザーにオンライン ショッピング エクスペリエンスを提供します。

ゲーム会社– 超低遅延要件で、グラフィックスを多用するコンテンツ、リアルタイム更新、マルチプレイヤーインタラクションを世界中のプレイヤーにシームレスに配信できます。

オンライン教育プラットフォーム– 講義をストリーミングし、さまざまな地理的場所の学生にインタラクティブなコンテンツを配信することで、遠隔学習を促進します。

銀行および金融サービス– 規制遵守とサイバー脅威からの保護を維持しながら、安全でリアルタイムのトランザクション処理とデータ配信を保証します。

公共部門および政府 – 信頼性の高いコンテンツ配信により、重要な公共情報システム、市民サービス、緊急対応機能をサポートします。

SaaS プロバイダー– クラウドベースのサービスにおいて、グローバルなアプリケーションの可用性、シームレスなソフトウェア更新、一貫した API パフォーマンスを維持します。

これらすべての業界には共通の要件があります。

  • 高速コンテンツ配信
  • サービスの可用性の保証
  • スケーラブルなリソース管理
  • 堅牢なセキュリティプロトコル
  • コスト効率の高い帯域幅利用

CDNサービスは、こうした厳しい要件を満たしつつ、最適なユーザーエクスペリエンスを維持するために必要なインフラストラクチャとテクノロジーを提供し、まさにこの分野で真価を発揮します。数百万のユーザーへのサービス提供からテラバイト規模のデータ処理まで、CDNはあらゆる業界で最新のデジタルエクスペリエンスを実現する基盤となっています。

CDNetworks を選ぶ理由

CDN業界で20年以上の経験を持つCDNetworksは、グローバルコンテンツ配信とエッジコンピューティングの最前線に立っています。2,800カ所のPoP(Point of Presence)に支えられた堅牢な分散型アーキテクチャにより、世界中の企業が多様なデジタルインフラにシームレスにコンテンツとサービスを展開できるよう支援しています。この比類のないリーチにより、お客様は独自の戦略、ユースケース、そして要件に合わせて導入をカスタマイズできます。

why-choose-cdnetworks-1024x373.jpg

比類のないPoPリソースとグローバルインフラストラクチャ

クラウド配信とエッジ コンピューティングのリーダーとして、CDNetworks は次のような強力なネットワークを提供しています。

  • 広範なサーバーネットワーク: 世界中に20万台以上のサーバーを展開
  • 強力なISPパートナーシップ:100社以上のISPパートナーとの連携
  • 包括的なカバレッジ: 70 か国以上の 2,800 以上の PoP
  • 高いネットワーク能力: 200 Tbps を超える帯域幅容量
  • 大容量ストレージ: 1,000 PB 以上のストレージ

シームレスな統合のための簡素化された顧客オンボーディング

CDNetworksは、直感的でユーザーフレンドリーなコンソールを通じて、スムーズで手間のかからないオンボーディングエクスペリエンスを実現します。当社の専用オンボーディングサービスにより、お客様はネットワークを迅速に構築・管理できるため、基盤となるインフラストラクチャの管理に煩わされることなく、コアビジネスに集中できます。

いつでもお手伝いいたします

CDNetworksでは、お客様のニーズに合わせて多様なサービスを提供しています。世界中に展開するプロフェッショナルチームが、お客様のビジネスを円滑に運営するために必要なガイダンスとソリューションをいつでもご提供いたします。技術サポート、戦略アドバイス、運用サポートなど、あらゆるニーズに対応いたします。包括的なサービススイートにより、お客様は本来の業務に集中でき、残りの業務は当社にお任せください。