CDN とは何ですか?

コンテンツ配信ネットワーク (CDN) は、相互接続されたサーバーのネットワークであり、データ量の多いアプリケーションのウェブページのロードを高速化します。CDN は、コンテンツ配信ネットワーク (Content Delivery Network または Content Distribution Network) の略です。ユーザーがウェブサイトにアクセスすると、そのウェブサイトのサーバーからのデータは、ユーザーのコンピュータに到達するためにインターネット上を移動する必要があります。ユーザーがそのサーバーから遠く離れた場所にいる場合、動画やウェブサイトの画像などの大きなファイルをロードするのに長い時間がかかります。これに代えて、ウェブサイトのコンテンツは、地理的にユーザーに近い CDN サーバーに保存され、ユーザーのコンピュータにはるかに速く到達します。

CDN が重要なのはなぜですか?

コンテンツ配信ネットワーク (CDN) の主な目的は、レイテンシーを低減すること、またはネットワークの設計によって生み出される通信の遅延を減らすことです。インターネットはグローバルで複雑な性質を持っているため、ウェブサイト (サーバー) とそのユーザー (クライアント) 間の通信トラフィックは、物理的に長距離を移動する必要があります。通信も双方向であり、リクエストはクライアントからサーバーに送信され、レスポンスが返されます。

CDN は、クライアントとウェブサイトサーバーの間に中間サーバーを介在させることで、効率を向上させます。これらの CDN サーバーは、クライアント-サーバー通信の一部を管理します。これらは、ウェブサーバーへのウェブトラフィックを減らし、帯域幅の消費を減らし、アプリケーションのユーザーエクスペリエンスを改善します。

CDN にはどのような利点がありますか?

コンテンツ配信ネットワーク (CDN) は、ウェブサイトのパフォーマンスを改善し、コアネットワークインフラストラクチャをサポートする多くの利点を提供します。例えば、CDN は次のタスクを実行できます。

ページのロード時間を短縮する

ページのロード時間が遅すぎると、ウェブサイトのトラフィックが減少する可能性があります。CDN は、バウンス率を減らし、ユーザーがサイトで費やす時間を増やすことができます。

帯域幅のコストを削減する

すべての着信ウェブサイトリクエストがネットワーク帯域幅を消費するため、帯域幅コストはかなりの費用になります。CDN は、キャッシュやその他の最適化を通じて、オリジンサーバーが提供する必要のあるデータの量を減らし、ウェブサイト所有者のホスティングのコストを削減できます。

コンテンツの可用性を向上させる

一度に多数のユーザーが訪問する場合、またはネットワークハードウェア障害が発生した場合、ウェブサイトがクラッシュする可能性があります。CDN サービスは、より多くのウェブトラフィックを処理し、ウェブサーバーの負荷を軽減できます。また、1 つ以上の CDN サーバーがオフラインになった場合、サービスが中断されないように他の運用サーバーがそれらに代わることができます。

ウェブサイトのセキュリティを改善する

分散型サービス拒否 (DDoS) 攻撃は、大量の偽のトラフィックをウェブサイトに送信することにより、アプリケーションを停止させようとします。CDN は、複数の中間サーバー間で負荷を分散し、オリジンサーバーへの影響を軽減することで、このようなトラフィックの急増に対処できます。

CDN テクノロジーにはどのような歴史がありますか?

コンテンツ配信ネットワーク (CDN) テクノロジーは、インターネットを介したより高速なコンテンツ配信を目指して 1990 年代後半に登場しました。

第 1 世代

第 1 世代の CDN サービスは、インテリジェントネットワークトラフィック管理のネットワーキング原則とレプリケーション用のデータセンターに焦点を当てたものでした。

第 2 世代

第 3 世代の CDN は今なお進化を続けています。AWS は、世界をリードする CDN サービスプロバイダーのうちの 1 社としてイノベーションを推進しています。ほとんどのウェブサービスがクラウドに一元化されている現在では、エッジコンピューティングに重点が置かれています。インテリジェントに通信するスマートデバイスを使用して帯域幅の消費を管理しています。自律的なセルフマネージドエッジネットワークは、CDN テクノロジーの次のステップとなる可能性があります。

第 3 世代

一度に多数のユーザーが訪問する場合、またはネットワークハードウェア障害が発生した場合、ウェブサイトがクラッシュする可能性があります。CDN サービスは、より多くのウェブトラフィックを処理し、ウェブサーバーの負荷を軽減できます。また、1 つ以上の CDN サーバーがオフラインになった場合、サービスが中断されないように他の運用サーバーがそれらに代わることができます。

CDN はどのようなインターネットコンテンツを配信できますか?

コンテンツ配信ネットワーク (CDN) は、静的コンテンツと動的コンテンツの 2 種類のコンテンツを配信できます。

静的コンテンツ

静的コンテンツは、ユーザーごとに変化しないウェブサイトデータです。ウェブサイトのヘッダー画像、ロゴ、およびフォント形式はすべてのユーザーで同じであり、これらは企業によって頻繁に変更されることはありません。静的データは、変更、処理、または生成する必要がなく、CDN での保存に最適です。

動的コンテンツ

ソーシャルメディアのニュースフィード、天気予報、ログインステータス、チャットメッセージなどの動的コンテンツは、ウェブサイトのユーザーによって異なります。このデータは、ユーザーの場所、ログイン時間、またはユーザー設定に基づいて変化します。ウェブサイトは、すべてのユーザーおよびすべてのユーザー操作についてデータを生成する必要があります。

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

コンテンツ配信ネットワーク (CDN) は、地理的に複数の場所に Point of Presence (POP) または CDN エッジサーバーのグループを確立することで機能します。この地理的に分散したネットワークは、キャッシュ、動的アクセラレーション、およびエッジロジック計算の原則に基づいて機能します。

キャッシュ

キャッシュは、データアクセスを高速化するために、同じデータの複数のコピーを保存するプロセスです。コンピューティングでは、キャッシュの原則はすべてのタイプのメモリおよびストレージ管理に適用されます。CDN テクノロジーでは、この用語は、静的なウェブサイトコンテンツをネットワーク内の複数のサーバーに保存するプロセスをいいます。 CDN でのキャッシュは次のように機能します。

  1. 地理的に離れたウェブサイトの訪問者が、サイトから静的ウェブコンテンツについて最初のリクエストを実行します。
  2. そのリクエストはウェブアプリケーションサーバーまたはオリジンサーバーに到達します。オリジンサーバーは、離れた場所にいる訪問者にレスポンスを送信します。同時に、その訪問者に地理的に最も近い CDN POP にレスポンスのコピーも送信します。
  3. CDN POP サーバーは、コピーをキャッシュファイルとして保存します。
  4. 次にこの訪問者、またはその場所に所在する他の訪問者が同じリクエストを行うと、オリジンサーバーではなくキャッシュサーバーがレスポンスを送信します。 

動的アクセラレーション

動的アクセラレーションは、ウェブアプリケーションとクライアント間の中間 CDN サーバーを通じた、動的ウェブコンテンツリクエストのサーバー応答時間の短縮です。動的ウェブコンテンツではキャッシュはうまく機能しません。これは、ユーザーのリクエストごとにコンテンツが変化する可能性があるからです。CDN サーバーは、動的なリクエストごとにオリジンサーバーに再接続する必要がありますが、CDN サーバーとオリジンサーバー間の接続を最適化することにより、プロセスを高速化します。

クライアントがインターネットを介して動的リクエストをウェブサーバーに直接送信する場合、ネットワークレイテンシーが原因となってリクエストが失われたり遅延したりする可能性があります。セキュリティ検証のために接続を開閉するのにも時間がかかる場合があります。一方、近くの CDN サーバーがリクエストをオリジンサーバーに転送する場合、それらのサーバーには、継続しており、かつ、信頼できる接続が既に確立されています。例えば、次の機能により、それらの間の接続をさらに最適化できます。

  •  インテリジェントなルーティングアルゴリズム
  • オリジンへの地理的近接性
  • サイズを縮小するクライアントリクエストを処理する機能

エッジロジックの計算

CDN エッジサーバーをプログラムして、クライアントとサーバー間の通信を簡素化する論理計算を実行できます。例えば、このサーバーは次のことを実行できます。

  • ユーザーリクエストを検査し、キャッシュ動作を変更します。
  • 誤ったユーザーリクエストを検証して処理します。
  • 応答する前にコンテンツを変更または最適化します。
 
ウェブサーバーとネットワークエッジ間でのアプリケーションロジックの分散は、デベロッパーがオリジンサーバーのコンピューティング要件をオフロードし、ウェブサイトのパフォーマンスを改善するのに役立ちます。

どのような目的のために CDN を使用しますか?

コンテンツ配信ネットワーク (CDN) は、通常のウェブサイト機能を改善し、顧客満足度を高めます。いくつかのユースケースの例を次に示します。

高速コンテンツ配信

静的および動的なインターネットコンテンツ配信を組み合わせることにより、CDN を使用して、グローバルで高性能なサイト全体のエクスペリエンスを顧客に提供できます。例えば、Reuters は、BBC、CNN、New York Times、Washington Post などのトップチャンネルにニュースを提供する企業としては世界最大の企業です。Reuters にとってのニュースメディアの課題は、世界中の顧客にニュースコンテンツを迅速に配信することです。Reuters は、Amazon の CDN サービスである Amazon CloudFront を Amazon Simple Storage Service (Amazon S3) と併用して、衛星リンク通信への依存を最小限に抑え、より安価で可用性が高く、安全なグローバル分散ネットワークプラットフォームを作成します。

リアルタイムストリーミング

CDN は、リッチで質の高いメディアファイルを確実かつコスト効率よく配信するのに役立ちます。動画と音声をストリーミングする企業は、帯域幅コストの削減、規模の拡大、配信時間の短縮という 3 つの課題を克服するために CDN を使用しています。例えば、Hulu は Walt Disney Company が所有するオンライン動画ストリーミングプラットフォームです。Amazon CloudFront を使用して、増大し続けている顧客ベースに対して、20 GBps を超えるデータを一貫してストリーミングします。

マルチユーザースケーリング

CDN は、多数の同時実行ユーザーをサポートするのに役立ちます。ウェブサイトのリソースは、一度に限られた数のクライアント接続しか管理できません。CDN は、アプリケーションサーバーから負荷の一部を取得することにより、この数を迅速にスケールできます。例えば、King は、いつでも、どこでも、どのデバイスからでもプレイできる、社会的なつながりのある、クロスプラットフォームのゲームを構築するゲーム企業です。King のプレイヤー数は常に 3 億 5,000 万人を超えており、プラットフォームでは 1 日に 106 億のゲームがプレイされています。

King のゲームアプリケーションは、ユーザーのゲームデータを中央データセンターに記録します。これにより、ユーザーは、最初からやり直すことなく、さまざまなデバイスでプレイできます。データセンターは、ユーザーが限られた帯域幅を使用して古いマシンでゲームに参加した場合でも、ユーザーに一貫したエクスペリエンスを提供することを目的としています。

King は、Amazon CloudFront を使用して、毎日数百テラバイトのコンテンツを配信します。新しいゲームをリリースしたり、大規模なマーケティングプログラムを開始したりすると、配信するコンテンツは 0.5 ペタバイト以上に急増します。

Amazon CloudFront とは

Amazon CloudFront は、高いパフォーマンス、セキュリティ、デベロッパーの利便性のために構築されたコンテンツ配信ネットワーク (CDN) サービスです。Amazon CloudFront を使用して、次のタスクを実行できます。

  • 自動化されたネットワークマッピングとインテリジェントなルーティングにより、275 以上のグローバルに分散した Point of Presence (POP) を介してデータを配信します。
  • トラフィックの暗号化やアクセスコントロールによりセキュリティを強化し、AWS Shield Standard を利用して追加料金なしで Distributed Denial of Service (DDoS) 攻撃から防御できます。
  • AWS のネットワークエッジで実行するコードを、サーバーレスコンピューティング機能を使ってカスタマイズし、コスト、パフォーマンス、セキュリティのバランスをとることができます。
  • 自動でスケールし、ソフトウェア、ゲームのパッチ、および IoT のアップデートを高速の転送で配信します。
 
12 か月間、50 GB の無料データ転送 (OUT) を利用して、 AWS CloudFront での構築を始めましょう。今すぐ 無料の AWS アカウントを作成しましょう。

AWS での CDN の次のステップ

Standard Product Icons (Features) Squid Ink
追加の製品関連リソースを確認する
AWS CloudFront の詳細 
Sign up for a free account
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。

サインアップ 
Standard Product Icons (Start Building) Squid Ink
コンソールで構築を開始する

AWS マネジメントコンソールで機械学習を使った構築を始めましょう。

サインイン