MENU

ウェブサイトを高速化する CDN とは?

コンテンツ配信ネットワーク (CDN) は、ユーザーが要求するたびにファイルをダウンロードするのではなく、Web ドキュメントのキャッシュされたコピーをインターネット経由でユーザーに配布するサーバーのネットワークです。 CDN は 2000 年代の初期から一部の Web サイトで使用されていますが、この技術は2020年代現在、最新の Web 開発環境においても不可欠な仕組みになっています。

この記事では、CDN とは何か、およびそのしくみについて説明し、Web サイト用に独自の CDN の構築を開始する方法を示します。

目次

CDN (コンテンツ配信ネットワーク)

コンテンツ配信ネットワーク (CDN) は、分散コンテンツ配信ネットワークの一種です。 これは、従来の Web ホスティングを使用する代替手段であり、Web サイトのトラフィックの一部を独自のサーバーからオフロードして、アクセスするすべてのユーザーのページの読み込みを高速化できます。

オフロードとは、(積荷を)降ろす、解放する、などの意味を持つ英単語ですが、ITの分野ではあるシステムの負荷を他の機器などが肩代わりして軽減する仕組みを指して用いられています。

CDN は世界中の複数のエッジ サーバーを接続するため、ユーザーはいつでも世界中のどの場所に行っても同じコンテンツにアクセスできます。 これは、すべてのサーバーを 1 つの物理的な場所にまとめて収容するのではなく、複数のサーバーを戦略的に十分に近くに配置して、高品質の画像やビデオなどのメディアを迅速かつ効率的に配信できるようにすることを意味します。

CDN のアーキテクチャ

コンテンツ配信ネットワーク (CDN) は、コンテンツを 1 つのサーバーだけから提供するのではなく、世界中の複数のサーバーにキャッシュ(コピー)されたコンテンツに対して、ユーザー(Webブラウザ等のクライアント)が、自身の居場所に最も近いコピーにアクセスさせることによって行われます。

頂点となる1つだけのサーバーは、CDNの世界ではオリジンサーバーと呼ばれています。

Web を閲覧しているとき、ブラウザーは、ホストされている場所とそれらのサーバーの速度に応じて、さまざまなサーバーからページを要求します。 これらの 2 つのポイント間の接続が高速であるほど、コンピューターは画面に表示するために必要なものをより速くダウンロードできます。

エッジサーバーの役割

CDN の役割で重要なのがエッジ サーバーの存在です。

エッジ サーバーは、ユーザーが実際にアクセスする、ユーザーに最も近い場所に位置するサーバーです。エッジ(edge)は、一般には「端」や「刃物の刃」などの意味ですが、IT や IoT の分野では、端末と端末側のネットワークで収集したデータを回線に送り出すポイント(ネットワークの端末)という意味で「エッジ」と呼ばれます。

エッジ サーバーは世界中に分散しているため、独自のコンテンツを 1 か所でホストしている場合よりも応答時間が短縮されます。 エッジ キャッシュを使用すると、ページをすばやく読み込み、レイテンシを短縮できます。 これは、ユーザーがオンラインでサイトにアクセスしたときに、最小限の遅延でサイトが表示されることを意味します。

CDN を使用する利点

実際のところ、日本国内のサーバーから日本国内のユーザーに対してのみ提供する Web サイトの場合はそこまでシビアに考える必要はないとも言えますが、多くの CDN サービスは、単にレスポンスの改善だけではなくセキュリティ向上の役目も担うことが多いです。

利点を整理してみましょう。

  • CDN はウェブサイトを高速化します。もしあなたの提供するの Web サーバーが非常に非力だったとしても心配ありません。CDN が秒間あたり何万リクエストの処理でも受け取ることができます。これは、あなたの提供する Web サイト(または Web サービス)が多くのユーザーを抱えるほど、この効果は非常に協力なものになります。
  • できるだけユーザーの近くでアクセスできるため、レイテンシ(通信の遅延)が低くなります。 つまり、インターネット上の遠く離れたサーバーからのコンテンツへのアクセスに伴う読み込み時間の遅さやその他の問題について心配する必要はありません。日本からブラジルの Web サーバーへアクセスすることになっても、それがまるで日本国内にあるサーバーと同等の距離感で応答することができます。
  • インターネットでの定番攻撃手法である DDoS 攻撃に対して、エッジサーバーがその攻撃を集中的に受け取ることで、あなたのオリジンサーバーを保護し、セキュリティを向上させます。万が一 DDoS 攻撃により 1 つのサーバーに障害が発生したり到達不能になった場合にダウンタイムを最小限に抑えてくれます。

例えば 2022年末に盛り上がった FIFA ワールドカップ カタール 2022 を生中継した、インターネットテレビサービスの ABEMA は大成功を収めましたが、その裏でも CDN の技術が活躍しています。

サッカーW杯、ネット中継を支えるアカマイのCDN|大量アクセスでも落ちない舞台裏を聞いた | Web担当者Forum

まとめ

この記事では CDN の基本的な仕組みや特徴を整理しました。

CDNは、Web サイトにアクセスするエンド ユーザーには全く見えず、意識さえもしない存在ですが、実は世界中のインフラとして機能しています。CDN を利用するかどうかはさておき、CDN という存在を知っておくことで技術の選択肢が増えますので非常に有益です。ぜひ理解しておきましょう。

よかったらシェアしてね!

この記事を書いた人

2005年頃からインターネット文化を楽しむエンジニア。
本業では数十万人規模のユーザー向けシステムを提供。
アプリケーション(Typescript, Rails, Go)やインフラ(GCP, AWS, Kubernetes, Docker)等に感心を持つ。

目次