CDN とは?

コンテンツ配信ネットワーク (CDN) は、世界中に分散したサーバーのネットワークであり、ユーザーにコンテンツをより高速かつ効率的に配信することができます。

CDN サーバーのネットワークを示す世界地図

設定前の注意点

エッセンシャルガイドの「キャッシュとは?」を参照し、このガイドで使用される重要な概念や用語を理解しておくことをお勧めします。

CDN の仕組み

Web サイトやアプリケーションを運用している場合、ユーザーに可能な限り最高のエクスペリエンスを提供したいと考えるでしょう。最高のエクスペリエンスには、ユーザーがリクエストするコンテンツを迅速に配信することが欠かせません。コンテンツとユーザーの位置関係は、データの配信速度と、Web サイトやアプリケーションの読み込み速度を決定する重要な変数のひとつです。

ガイド「キャッシュとは?」では、ユーザーが Web サイトにアクセスすると、ブラウザと Web サイトのデータのホスト先の間で複数のリクエストとレスポンスが同時に送信されることが分かりました。コンテンツのホスト方法によっては、ユーザーがリクエストするアセットが、データセンター(またはホスティング施設)内のサーバー、またはサードパーティのサーバー上のクラウドサービスで実行されているアプリケーションに存在する場合があります。アセットがこれら2つの両方に存在することさえあります。このようなソースサーバー (「オリジン」、「バックエンド」、または「ホスト」とよく呼ばれ、これらは同じものを指しています) は、特定の地理的場所に存在し、ユーザーも同様です。しかし、オリジンサーバーとユーザーは、必ずしもお互いから近い場所に位置しているとは限りません。

ユーザーとオリジンサーバー間の物理的距離が長いほど、ユーザーがコンテンツを待つ時間が長くなります。これは レイテンシ と呼ばれます。送信先 (ユーザー) がオリジン (コンテンツ) に近いほど、レイテンシが短くなり、Web サイトの読み込み速度が向上します。

CDN を使うと、ユーザーの近くにあるキャッシュにコンテンツのコピーが一時的に保存され、レイテンシを短縮することができます。CDN サービスでは世界中にキャッシュがあるため、ユーザーがコンテンツをリクエストすると、CDN はユーザーの近くにあるキャッシュからコンテンツをインテリジェントに配信することができます。これにより、コンテンツの配信時間とサイトの読み込み時間を大幅に短縮することができます。

CDN サービスを使用するメリット

CDN には、レイテンシの削減とコンテンツ配信の加速以外にも、可用性、スケーラビリティ、セキュリティの向上などのメリットがあります。

CDN を使用すると、オリジンサーバーがダウンしても、リクエストされたコンテンツをを配信し続けることができます。これは、サービスが中断された場合でも、CDN によってキャッシュされたコンテンツを配信することができるためです。また、リクエストされたコンテンツを、オリジンではなく CDN から配信することで、コンテンツをストレージから送信する度にホスティングプロバイダーによって課金されるデータ送信コストを削減することができます。

さらに CDN は自動的にスケールアップしてトラフィックの大部分を処理できるため、インフラコストの削減にも役立ちます。トラフィック量が増加した際に Web サイトがダウンすることは避けたいですが、トラフィック量が少ないときに未使用のサーバーを維持するためにコストがかかるのは望ましくありません。CDN を使用すると、トラフィック量が多いときでも CDN が自動的にスケールアップして処理するため、インフラで必要なサーバーの数を減らすことができます。

しかし、すべてのトラフィックが望ましいとは限りません。DDoS 攻撃は、サイバー犯罪者が不要なトラフィックをサイトに送信するために使用する一般的な方法です。CDN を使用すると、オリジンがトラフィックに到達すしないようにできます。CDN は、攻撃をブロックし、ネットワーク全体で有効なトラフィックのルーティングを続けることで負荷を処理し、サイトをオンライン状態に維持することができます。

予測不能なトラフィックの急増、セキュリティイベント、他の要因の長いリストにより、コンテンツのレンダリング速度が低下したり、コンテンツが完全に利用できなくなる可能性があります。単一のオリジンではなく、CDN を利用することでこのようなリスクを低減し、プロセスのコストを削減することができます。

Fastly を選ぶ理由

Fastly の CDN サービスは、従来の CDN と同じくらい機能しますが、メリットがあります。

ほとんどの CDN サービスは、小さくて静的リソースを迅速に配信するように最適されています。画像、CSS ファイル、JavaScript ファイルなどのロジックは、サーバー上で実行する必要がなく、ファイルシステムに保存することがよくあります。たとえば、Webサイトには、ロゴ付きのヘッダー画像やユニバーサルスタイルシートなど、特定のブランディング要素が含まれている場合があります。静的コンテンツというものは、頻繁に変更することがないため、キャッシュが簡単です。

一方、イベント駆動型のコンテンツは予測不可能な間隔で変化するため、キャッシュが困難です。イベント駆動型のコンテンツは、スポーツスコア、天気予報、ニュース速報、現在のストアアイテム在庫などが含まれます。オリジンからイベント駆動型のコンテンツを配信する必要があると、サーバーに負担とコストがかかります。しかし、Fastly のアーキテクチャとパージ機能により、イベント駆動型のコンテンツをを一定期間キャッシュし、変更されたときにプログラムでパージすることができます。(通常、これは平均150ミリ秒で完了します。)

静的コンテンツとイベント駆動型コンテンツの両方をキャッシュできるため、ユーザーエクスペリエンスを高速化し、オリジンへの需要を削減することができます。これにより、安定性とコスト削減というメリットが得られます。

Fastly では、静的コンテンツとイベント駆動型コンテンツをキャッシュすることができます。Fastly は、サービスを配信する場所です。Fastly は、キーアクセスポイントから配信拠点 (POP) を介してインターネットまで CDN サービスを提供します。各 POP には、コンテンツのリクエストを受信して処理する Fastly キャッシュサーバーのクラスターがあります。Fastly は、一般的な CDN サービスと比較して戦略的場所に少数の強力な POP を配置することを選択しているため、オリジンよりもキャッシュから多くのサービスを提供することができます。オリジンへの負荷を軽減するのに役立つ、もう1つの独自のオプションは、オリジンシールドです。オリジンシールドを有効にすると、選択したシールド POP によってオリジンからコンテンツをプルし、他のキャッシュサーバーに分散します。POP のキャッシュから配信できないリクエストは、オリジンではなく、シールド POP に送信されます。

Fastly は、すべての CDN と同様に、オープンソースソフトウェアと独自のソフトウェアを組み合わせてテクノロジー機能させることができます。Fastly は、高速なスピードと、設定言語の Varnish Configuration Language (VCL) によって提供される柔軟性のため、Varnish を基盤となるテクノロジーとして使用しています。VCL をカスタマイズして、Fastly サービスへの変更を生成およびコンパイルすることで、VCL の柔軟性を拡張します。これらの変更は、メンテナンスウィンドウやサービスのダウンタイムなしで、世界中のすべての Fastly キャッシュに読み込み、有効化、および配信することができます。

今後の展望

Fastly を利用する前に、パージに関するガイドをご参照ください。アカウントを作成し、オリジンサーバーを接続してドメイン名を追加するだけで簡単に Fastly の使用を開始できます。これらの作業はすべてコントロールパネル、または Fastly API を使用して行うことができます。

Back to Top