クラウドプラットフォームが停止した場合、それは単に理論上の問題ではなく、実際に収益、SLA、顧客からの信頼が危険にさらされます。最近発生した大規模な障害の事例は、単一ベンダーへの依存が現実的な運用リスクをもたらし得ることを企業に再認識させました。ビジネスがグローバルに拡大し、ダウンタイムが収益や信頼に直結する中、レジリエンスとパフォーマンスを向上させる重要なアーキテクチャ戦略として、マルチ CDN が注目を集めています。
マルチ CDN 戦略は、冗長性、パフォーマンス最適化、コスト効率を組み合わせることで、より高速でレジリエントなコンテンツ配信レイヤーの構築に役立ちます。複数の CDN にトラフィックを分散させることで、企業は障害や地域的なボトルネックをよりシームレスに回避でき、ダウンタイムのリスクとコストを抑えながら可用性を維持できます。インテリジェントなトラフィック配分により、ユーザーに対して常に利用可能な最速経路でサービスを提供し、世界中で一貫して高パフォーマンスの体験を実現できます。単一ベンダーのリスクを軽減し、リンク、ノード、サイトなどさまざまなインシデントシナリオに対応してトラフィックを維持するため、設計のベストプラクティスとしてマルチ CDN を採用する企業が増えています。プロバイダー間でリクエストを分散させることで、冗長性、パフォーマンスのコントロール、コスト管理の柔軟性を向上させることができます。
Fastly プラットフォームは当初からあらゆるマルチ CDN の複雑性に対応できるよう設計されており、単一の運用方法を前提とすることなく、シンプルな導入モデルから高度な導入モデルまでサポートします。軽量な DNS 構成を選択する場合でも、高度なトラフィックエンジニアリングを採用する場合でも、Fastly はマルチ CDN を円滑に機能させるために必要な柔軟性を提供します。このブログでは、企業が自社のビジネスに必要なレジリエントなアーキテクチャを構築し始めるためのさまざまな設計オプションを簡単に解説します。
マルチ CDN の設計手法
マルチ CDN アーキテクチャへの移行は、難しく感じられるかもしれません。理解と導入の両方を簡素化するため、マルチ CDN への移行に使用できる設計手法をいくつかのカテゴリーに分類しました。
DNS ベースのステアリング (トラフィック分割)
レイヤー7トラフィック管理
CDNチェーニング(オリジンシールド)
クライアントサイドステアリング
それぞれの手法の詳細と、Fastly がどのように独自の立場でこれらを支援・実現できるのかを見ていきましょう。
DNS ベースのステアリング (トラフィック分割)
これはマルチ CDN アーキテクチャを実装する最も基本的かつ一般的な方法です。クライアントが HTTP 接続を確立しようとする前の段階で、どの CDN プロバイダーに接続するかを決定するトラフィックスイッチとして、ドメインネームシステム (DNS) を利用します。
ユーザーが blog.fastly.com のようなホスト名にアクセスしようとする場合、そのリクエストは最終的に DNS プロバイダーが管理する権威ネームサーバーに送られます。このネームサーバーがトラフィックステアリングの重要なポイントであり、リクエストのメタデータを処理してトラフィックの送信先を決定します。権威ネームサーバーは、重み付けや地域ベースの手法など選択されたトラフィック分割戦略に基づいて CNAME レコードを返します。このレコードは、Fastly や他の CDN エンドポイントなど、選択された CDN プロバイダーのホスト名を指します。一般的な地域ベースの分割手法では、送信元 IP の分析やエニーキャストの活用により、ユーザーの地理的な位置やコンテキストを推定し、その情報をルーティングロジックに反映します。
以下の疑似コードは、地理的な場所をパラメータとして使用した DNS ベースのトラフィック分割ロジックの簡単な例を示しています。
country = getCountry(request) | // リゾルバー IP からユーザーの国を推定 |
if country == "FR": route_to("CDN_FR") | // ユーザーがフランスにいる場合 // フランスに最適化された CDN へルーティング |
elif country == "DE": route_to(「CDN_DE」) | // ユーザーがドイツにいる場合 // ドイツに最適化された CDN へルーティング |
else: route_to("CDN_DEFAULT") | // その他のすべての場所 // グローバル/デフォルト CDN へルーティング |
企業によっては、割り当てられた重みに基づくランダム分配方式や、単純なラウンドロビン方式でトラフィックを分割することもあります。以下の疑似コードは、ランダム分配を使用した DNS ベースの分割ロジックを示しています。ランダム選択ではなくラウンドロビン方式を選択することも可能です。
// パーセント単位の重み | |
|---|---|
CDN_A = 70 | // CDN_A に割り当てるトラフィック割合 |
CDN_B = 30 | // CDN_B に割り当てるトラフィック割合 |
r = ランダム(1, 100) | // 1~100の乱数を用いて確率的に CDN を選択 |
if r <= CDN_A: route_to("CDN_A") | // 約70%の確率 // CDN_A を指す DNS レスポンスを返す |
else: route_to("CDN_B") | // 残り約30%の確率 // CDN_B を指す DNS レスポンスを返す |
システムが対応している場合、DNS プロバイダーが CDN に割り当てる重みは API を用いて動的に調整できます。この調整は通常、クライアント RUM (リアルユーザーモニタリング) やシンセティックテストツール (例 : Catchpoint) から得られる結果に基づき、CDN の健全性やパフォーマンスを評価して行われます。
DNS レベルでトラフィックを分離するもう1つの一般的な方法は、コンテンツタイプに基づくものです。画像、JavaScript、CSS などのキャッシュ効率の高い静的アセットは、あるサブドメインから配信し、リアルタイムのエッジロジック、エッジコンピュート、きめ細かなキャッシュコントロール、即時パージ機能などを備えていない基本的なキャッシュ用途向け CDN へルーティングすることができます。一方、より複雑またはパーソナライズされた動的コンテンツは、別のサブドメインから配信し、高度な CDN プロバイダーへ送ることが可能です。これが、マルチ CDN 構成において Fastly が明確な差別化を実現しているポイントです。Fastly は即時パージ機能により、キャッシュされたコンテンツをほぼ瞬時にグローバルで無効化できるため、更新、修正、削除が即座にユーザーへ反映されます。この特長により、従来の CDN では効率的に処理が難しい動的コンテンツのキャッシュにも高い効果を発揮します。特に、レスポンスが頻繁に変わり、古いデータがエラーの原因となり得る API において有効です。
DNS ベースのトラフィック分割を活用したマルチ CDN の導入は比較的容易であり、多くの企業にとって取り組みやすい出発点となります。権威 DNS を利用して重み、地理情報、コンテンツタイプに基づきリクエストをステアリングすることで、アプリケーションレイヤーで複雑な統合を行うことなく、複数の CDN 間でトラフィックを即座に分散できます。ただし、すべての DNS プロバイダーが重み付け分散や地域ベースルーティングなどのトラフィック分割機能をサポートしているわけではありません。マルチ CDN 戦略を実装する前に、これらの機能が利用可能かどうかを DNS プロバイダーに確認し、対応していない場合はその機能を提供するベンダーを選択することが重要です。
レイヤー7トラフィック管理
IP アドレスやホスト名を用いるネットワークレイヤー (OSI レイヤー3/4) で動作する DNS ベースのトラフィックステアリングとは異なり、レイヤー7ステアリングはアプリケーションレイヤーで機能します。このアプローチでは、DNS は意思決定エンジンとして機能するトラフィックコントローラーの IP を返します。このコントローラーは、専用のトラフィックコントローラーや、リクエストを解析して最適な CDN へクライアントを誘導するエッジコンピュートインスタンスである場合があります。TCP および TLS ハンドシェイクが完了すると、コントローラーは HTTP リクエストを復号し、詳細に検査できます。これには、HTTP ヘッダー (User-Agent、Referer、X-Forwarded-For)、URL パス (例: /api/ と /vod/ の区別)、Cookie、セッション維持のためのクエリパラメータの確認が含まれます。これにより、ヘッダー、URL、Cookie、さらにはセッション固有の情報まで考慮したルーティング判断が可能となり、DNS のみの分割と比較してはるかにきめ細かなトラフィックコントロールが実現されます。
トラフィックコントローラーがリクエストを完全に可視化すると、リアルタイムの意思決定ロジックが適用されます。ネットワーク状況のライブデータベースを参照したり、RUM (リアルユーザーモニタリング) データを活用したり、ハンドシェイク中のクライアント接続レイテンシを測定したりして、即座にルーティングの判断を下すことができます。
コントローラーからのトラフィックステアリングは、主に次の2つの方法で実現されます。
HTTP リダイレクト : この方法では、特定の CDN に再接続するようクライアントに指示します。ただし、追加のラウンドトリップと DNS 再解決が発生するため、レイテンシが増加する可能性があります。
リバースプロキシ : この方法では、コントローラーが選択した CDN からコンテンツを取得し、初期接続を維持したままクライアントへストリーミングします。この戦略は、WASM サーバーレス関数を用いてエッジロジックを効率的に実行する Fastly Compute 環境で頻繁に採用されています。
レイヤー7トラフィックコントローラーを使用するより一般的な代替方法として、DNS パス上に直接配置するのではなく、API 更新を通じて DNS に影響を与え、L7 層と DNS 層の間にフィードバックループを形成する方法があります。このシナリオでは、レイヤー7コントローラーが RUM データ、シンセティックテスト、または CDN ヘルス API から指標を継続的にポーリングします。しきい値やトレンドに基づいて、最近クライアントトラフィックがコントローラーに到達していない場合でも、DNS の重みを定期的に更新します。トラフィック分割の最終的な判断は DNS プロバイダー側が行います。
このように、レイヤー7トラフィックコントロールを使用すれば、単独でも、DNS ベースの分割と組み合わせる場合でも、高度で非常にきめ細かなトラフィックエンジニアリングが可能になります。組織がマルチ CDN 戦略を採用する際、多くの場合は DNS のみの分割から開始し、その後トラフィックコントロール機能を統合してアーキテクチャを高度化していきます。
CDN チェーニング (オリジンシールド)
このアーキテクチャは、従来のマルチ CDN 構成とは異なり、主に CDN 間でトラフィックを分割することを目的としません。代わりに、CDN を連鎖 (スタック) させて、オリジンサーバーを過剰負荷から保護します。その考え方は、エッジ CDN とオリジンの中間に集約型 CDN レイヤーを導入し、バッファとして機能させるというものです。
クライアントがコンテンツをリクエストすると、DNS ベースのトラフィック分割で説明したとおり、権威 DNS がエッジ CDN の1つを選択します。そのエッジ CDN でキャッシュミスが発生した場合、即座に顧客のオリジンから取得するのではなく、シールド CDN をオリジンとして利用するよう設定されています。このシールドレイヤーは、自身のキャッシュ (通常、エッジキャッシュより大規模かつ集約型) を確認し、オリジンへ到達する前にリクエストを集約します。
Fastly Media Shield は、CDN チェーニング構成を通じて効果的なマルチ CDN アーキテクチャを構築するためによく導入されています。Media Shield は、強力な集約型のオリジンレイヤーとして機能し、オリジン負荷を大幅に軽減しながら高いパフォーマンスを維持するよう設計されています。CDN の背後に Media Shield を配置し、インフラストラクチャへ接続することで、同一リクエストを統合 (リクエスト共有) し、キャッシュミスをキャッシュヒットに変換し、オリジンの帯域幅、処理、エグレスコストを大幅に削減できます。指定された Fastly POP を通じてシールドとして機能するため、トラフィックスパイク (Thundering Herd) からオリジンを保護し、キャッシュヒット率を向上させ、高トラフィック時やライブイベント時の可用性を確保できます。また、オリジン障害を防ぐことでユーザー体感品質を向上させ、迅速なトラブルシューティングのためのリアルタイムログを提供し、ミリ秒単位での即時グローバルパージを可能にします。これにより、チームはより厳密なコントロール、優れたパフォーマンス、そしてコスト効率の高いマルチ CDN 環境を実現できます。

CDN チェーニング構成では、企業は Media Shield をエッジ CDN のオリジンとして使用します。ただし、シールドの障害という稀な事態に備え、オリジンサーバーもセカンダリオリジンとして指定され、フォールバックとして機能します。
クライアントサイドステアリング
クライアントサイドステアリングは最も決定論的なトラフィックステアリング手法であり、マルチ CDN のコントロールプレーンをユーザーのデバイスへ直接移します。これは、権威 DNS やトラフィックコントローラーといったリモートの意思決定ポイントで事前に決定された分割ではなく、その瞬間におけるクライアントの実際のネットワーク状況に基づいて判断が行われるためです。クライアントサイドステアリングは、選択の権限をユーザーのデバイスに直接委ねます。
このマルチ CDN 戦略では、アプリケーションやページに直接組み込まれる軽量なクライアントサイド SDK (Web ブラウザ向けの JavaScript ライブラリやモバイルアプリ向けのフル SDK など) を採用します。その役割は、事前定義されたリストから指定された基準に基づいて特定の CDN を選択し、クライアントのトラフィックをそこへ誘導することです。この方法は運用上の複雑さを伴いますが、決定論的かつ予測可能な結果が保証されます。
クライアントサイドステアリングは、特にメディアおよびストリーミングプロバイダーの間で広く採用されており、高品質で信頼性の高い動画配信を実現しています。動画プレイヤー内に組み込まれた小さなコードにより、ネットワーク状況を継続的に監視し、リアルタイムのパフォーマンスに基づいて CDN を動的に切り替えることで、バッファリングを削減し、コストを最適化します。
ここまで見てきたとおり、マルチ CDN アーキテクチャを設計する際、企業には幅広い選択肢があります。固定割合でトラフィックを分割する単純な DNS 方式から、レイヤー7トラフィック管理、CDN チェーニング、クライアントサイドステアリングを組み合わせた高度な構成まで可能です。いずれの配信方法を選択する場合でも、重要な検討事項となるのが、エッジネットワークを流れるトラフィックのセキュリティです。
マルチ CDN のセキュリティを確保する
セキュリティ管理は、マルチ CDN 戦略において最も複雑な側面と見なされることがよくあります。エッジネットワークに高度なセキュリティコントロールや柔軟な導入モデルが欠けている場合、プラットフォーム間でセキュリティポリシーが一貫しないという重大なリスクが生じます。この不整合により、あるネットワークでは防御できる攻撃を、別のネットワークでは見逃してしまう可能性があります。Fastly は、導入モデルの卓越した柔軟性と高度なセキュリティコントロールを提供し、このリスクの軽減において際立った選択肢となります。
マルチ CDN 環境では、セキュリティも配信アーキテクチャと同様に柔軟でなければなりません。重みや CNAME を用いた基本的な DNS ベースのトラフィック分割を使用している場合、各 CDN が独自に WAF、ボット対策、DDoS 対策などのエッジセキュリティコントロールを実行することを選ぶかもしれません。しかし、その場合、プロバイダー間でポリシーを整合させ、一貫して適用する責任は自社にあります。ルールが増えるたびに複雑性は連鎖的に拡大します。攻撃を受けている状況では、単純さ、緩和所要時間 (TTM)、そして確信が極めて重要です。断片化された環境は、攻撃者に悪用される可能性があります。
より合理化された選択肢として、複数の CDN を使用している場合でも、Fastly を用いてセキュリティを一元化する方法があります。CDN チェーン内で Fastly Media Shield を活用すれば、Fastly エッジセキュリティを利用してすべてのトラフィックを統合的に保護できます。このアプローチでは、エッジ CDN 全体にレート制限や DDoS 防御を分散させつつ、Next-Gen WAF (NGWAF)、API Protection、Bot Management といった主要なセキュリティ機能を Media Shield POP 上に集約できます。

アプリケーションにより近い場所での保護を重視する組織の場合、NGWAF をオリジンインフラストラクチャに直接導入することで、どの CDN がリクエストを処理しているかに関係なく、さらにはエッジ障害や CDN のバイパス攻撃時でも、統一されたセキュリティ体制と共通ルールセットを維持できます。Fastly NGWAF は、コンテナや仮想マシン内でアプリケーションと並行してエージェントを実行することで、オリジンに直接導入できます。この配置により、WAF はアプリケーションに可能な限り近い場所でトラフィックを検査できます。その結果、トラフィックがさまざまな CDN エッジを経由する場合でも、詳細な可視性と保護が提供されます。また、この配置は横方向トラフィックの検査も可能にし、CDN を使用しない内部アプリケーションやエンドポイントの監視を可能にするため、開発チームにとっても大きな利点があります。
この強力な導入方法は Fastly 独自のものであり、サイドカー構成で他のエッジプラットフォームのコンピュート上に Fastly NGWAF エージェントを直接展開することも可能です。これにより、これらのプラットフォームは Fastly 内でセキュリティ体制を統一できます。いずれの導入オプションを採用する場合でも、Fastly は単一の管理画面からすべての導入モデルを管理できる統合コンソールを提供します。
マルチ CDN 戦略を始める
CDN ベンダーの障害による影響を軽減したい場合や、最大限のパフォーマンスとコスト効率を実現するために配信およびセキュリティを強化したい場合、今こそマルチ CDN 戦略を検討する理想的なタイミングです。マルチ CDN への取り組みにおいて、Fastly は最先端かつ柔軟な配信およびセキュリティ機能を提供しており、その多くは他に類を見ないものです。高度なマルチ CDN アーキテクチャの構築、よりレジリエントなインフラストラクチャの実現、あるいは基本的な DNS 構成による「万が一に備える」保険的な対策まで、Fastly はあらゆるニーズをサポートします。
ぜひ当社にご連絡ください。当社の専門家がお客様と協力して、お客様のビジネスニーズに最適なソリューションを決定いたします。

