CDN とは?
最終更新日 2022-05-02
コンテンツ配信ネットワーク (CDN) は、世界中に分散したサーバーのネットワークであり、ユーザーにコンテンツをより高速かつ効率的に配信することができます。
設定前の注意点
エッセンシャルガイドのWhat is caching?1を参照し、このガイドで使用される重要な概念や用語を理解しておくことをお勧めします。
CDN の仕組み
Web サイトやアプリケーションを運用している場合、ユーザーに可能な限り最高のエクスペリエンスを提供したいと考えているかと思います。最高のエクスペリエンスには、ユーザーがリクエストするコンテンツを迅速に配信することが欠かせません。コンテンツとユーザーの位置関係は、データの配信速度と、Web サイトやアプリケーションの読み込み速度を決定する重要な変数のひとつです。
キャッシュとは? ガイドでは、ユーザーが Web サイトにアクセスすると、ブラウザと Web サイトのデータのホスト先の間で複数のリクエストとレスポンスが同時に送信されることが分かりました。コンテンツのホスト方法によっては、ユーザーがリクエストするアセットが、データセンター (またはホスティング施設) 内のサーバー、またはサードパーティのサーバー上のクラウドサービスで実行されているアプリケーションに存在する場合があります。アセットがこれら2つの両方に存在することさえあります。このようなソースサーバー (オリジン、バックエンド、またはホストとよく呼ばれ、これらは同じものを指しています) は、特定の地理的場所に存在し、ユーザーも同様です。しかし、オリジンサーバーとユーザーは、必ずしもお互いから近い場所に位置しているとは限りません。
ユーザーとオリジンサーバー間の物理的距離が長いほど、ユーザーがコンテンツを待つ時間が長くなります。これはレイテンシと呼ばれます。送信先 (ユーザー) がオリジン (コンテンツ) に近いほど、レイテンシが短くなり、Web サイトの読み込み速度が向上します。
CDN を使うと、ユーザーの近くにあるキャッシュにコンテンツのコピーが一時的に保存され、レイテンシを短縮することができます。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 では、ビデオコンテンツをキャッシュすることもできます。ビデオコンテンツには、ライブビデオストリームと VODコンテンツライブラリが含まれます。
Fastly では、静的コンテンツとイベント駆動型コンテンツをキャッシュすることができます。Fastly は、サービスを配信する場所です。Fastly は、キーアクセスポイントから配信拠点 (POP) を介してインターネットまで CDN サービスを提供します。各 POP には、コンテンツのリクエストを受信して処理する Fastly キャッシュサーバーのクラスターがあります。Fastly は、一般的な CDN サービスと比較して戦略的場所に少数の強力な POP を配置することを選択しているため、オリジンよりもキャッシュから多くのサービスを提供することができます。オリジンへの負荷を軽減するのに役立つ、もう1つの独自のオプションはオリジンシールドです。オリジンシールドを有効にすると、選択したシールド POP によってオリジンからコンテンツをプルし、他のキャッシュサーバーに分散します。POP のキャッシュから配信できないリクエストは、オリジンではなく、シールド POP に送信されます。
Fastly は、すべての CDN と同様に、オープンソースソフトウェアと独自のソフトウェアを組み合わせてテクノロジー機能させることができます。Fastly は、高速なスピードと、設定言語の VCL によって提供される柔軟性のため、Varnish を基盤となるテクノロジーとして使用しています。VCL をカスタマイズして、Fastly サービスへの変更を生成およびコンパイルすることで、VCL の柔軟性を拡張します。これらの変更は、メンテナンスウィンドウやサービスのダウンタイムなしで、世界中のすべての Fastly キャッシュに読み込み、有効化、および配信することができます。
今後の展望
Fastly を利用する前に、purgingに関するガイドをご参照ください。アカウントを作成し、オリジンサーバーを接続してドメイン名を追加するだけで簡単に Fastly を使い始めることができます。これらの作業はすべてweb インターフェースまたはFastly APIを使用して行うことができます。