はじめに
ロードバランシングはアプリケーションの可用性やレジリエンスにとって重要ですが、既存のソリューションはインフラストラクチャやサービスアーキテクチャの進歩に対応していません。ロードバランサーの市場は、アプライアンスベースのアプリケーション・デリバリー・コントローラー (ADC) とクラウドベースのソリューションで溢れています。ADC は初期のロードバランサーを進化させたもので、リアルタイムで柔軟にスケーリングできない、メンテナンスとサポートの費用が高いという問題がありながらも、現在最も広く使用されているロードバランサーです。一方、クラウドベースのロードバランサーはパフォーマンスとコストの両方において ADC よりも優れていますが、まだ多くの欠点を抱えています。
大半のクラウドベースのロードバランサーは DNS 上に構築されているため、IP アドレスに基づいたトラフィックのルーティングしかできません。こうしたソリューションではリクエストの中身を確認できないため、マイクロサービスアーキテクチャで単一の統一されたサービスを提供できません。さらに DNS ベースのソリューションは有効期限 (TTL) に依存します。TTL とは DNS ルックアップからのレスポンスをサーバーが指定した期間、キャッシュする仕組みです。このため、即応性とコントロールが失われます。瞬時のコンバージェンスが不可能であるというデメリットは、オリジンサーバーの障害発生時に特に大きな問題となります。TTL が DNS リゾルバで期限切れになり、リクエストが再ルーティングされるまで、ユーザーにエラーが返されます。
主要な差別化要因
きめ細かいコントロールのための任意の数のカスタムルールを適用して行う、コンテンツに応じたルーティング
高可用性と冗長性を実現するマルチクラウドおよびハイブリッドクラウド
サーバーへのトラフィックやサーバーからのトラフィックを瞬時にプログラムで制御
数テラビット (Tbps) まで即時に拡張し、サンダリングハード (雷鳴の群れ) 問題を軽減
コンテナと仮想インスタンスでご利用可能
Fastly を選ぶ理由
Fastly のクラウドベースのロードバランサーでは、こうした課題を解決できます。DNS レイヤーではなくレイヤー 7 でロードバランシングの決定を行うため、すべてのリクエストに対して個々のアプリケーションに応じた決定が可能になります。フェイルオーバーの決定も、DNS キャッシュの期限が切れたときだけではなく、すべてのリクエストに対して実行されます。これにより、プライマリサーバーが利用できなくなった場合、フォールバックサーバーに迅速かつ自動的にフェイルオーバーできます。
Fastly のロードバランサーは Fastly エッジクラウドプラットフォーム上に構築されているため、詳細なコントロール、瞬時のスケーリング、リアルタイムの可視性といったメリットも得られます。コア配信、DDoS、WAF など、他の Fastly のサービスも簡単に追加できるので、アプリケーション全体で統合型アーキテクチャを提供することが可能です。Fastly のプラットフォームは IPv6 および HTTP/2 によるクライアントリクエストに対応しています。
コンテンツ対応ルーティング
Fastly は DNS ベースのソリューションとは異なり、コンテンツ対応ルーティング機能により、きめ細かいルーティング条件に基づいて HTTP/HTTPS リクエストをバランスよく振り分けることができます。いくつものカスタムルールを作成し、クライアントの位置情報、ユーザーのログインステータス、デバイスの種類、Cookie、URL パス、HTTP ヘッダーなど多様なリクエスト要素に基づいてトラフィックをルーティングすることが可能です。これによりアプリケーションアーキテクチャをより柔軟にサポートし、配信前にクライアントへのレスポンスを最適化できます。
Fastly のロードバランサーは、ランダム、ラウンドロビン、重み付きラウンドロビン、スティッキーセッションのハッシュなどさまざまな分散方式を利用し、サーバーへの負担を効率的に分散します。
インフラストラクチャに依存しない配信
Fastly は複数の IaaS (Infrastructure-as-a-Service)、データセンター、ハイブリッドクラウドにわたるトラフィックを効率的に管理します。Fastly をグローバル・サーバー・ロードバランサー (GSLB) として利用することで、地理的に分散したインフラストラクチャのデプロイ全体にわたってトラフィックをルーティングできます。また、各データセンターやクラウドリージョン内のローカル・サーバー・ロードバランサー (LSLB) としても機能します。

Fastly を使用してインフラストラクチャ全体でグローバルまたはローカルに負荷を分散
即時コントロール
Fastly の Dynamic Server 機能により、VCL のバージョン管理なしでも、プログラムでサーバーを追加、削除、変更できます。また、カスタムルーティングルールは追加、削除、または変更することもできます。ルーティング設定に対する変更は5秒以内にグローバルに反映されます。ロードバランサーサーバーの設定変更をプログラムによって実施できるので、CI/CD のワークフローにロードバランシングを組み込むことが可能になります。
瞬時のコンバージェンスとフェイルオーバーによって、TTL の期限が切れるのを待つことなく、リクエストが適切なサーバーから即座に送信されるようになります。HTTP ベースの自動ヘルスチェックでは、健全かつレスポンスが正常なサーバーだけにリクエストが送信されることを確認できます。リクエストの処理中にプライマリサーバーが利用できなくなった場合、別の利用可能なサーバーへのフェイルオーバーを行うかどうかを定義することもできます。
トラフィックのスケーラビリティ
Fastly のアーキテクチャでは、ロードバランサーは瞬時に1秒あたり数テラビット (Tbps) にスケーリングできるので費用対効果と透明性が向上します。Thundering Herd 問題の影響を受けやすい ADC や多くのエラスティックロードバランサーとは異なり、時間ベースのスケーリング制限や容量の制約はありません。つまり、予期せぬ大量のリクエストが発生しても、ロードバランサーに可用性の問題やパフォーマンス低下が生じることはありません。
お客様のユースケース
位置情報ベースのロードバランシングと瞬時の自動フェイルオーバー。Fastly では、位置情報に基づくルーティングルールの実装が可能です。オリジンサーバーのひとつが応答しなくなった場合、設定済みのフォールバックサーバーにリクエストが自動的に再ルーティングされます。
インフラストラクチャ内で容易にデータを移行。複数のロケーションでコンテンツを探すように Fastly を設定して迅速にシームレスな移行を実現し、満足度の高いユーザー体感品質を維持することができます。
本番環境でも安心してソフトウェアのカナリアテストを実施。Fastly では、リクエストの任意の要素またはランダムな選択に基づいて、ごく一部のトラフィックを使用してソフトウェアをテストできます。Fastly のリアルタイムログはトラフィック全体を完全に可視化できるので、自信の度合いに基づいてサーバーへのトラフィックの割合を柔軟に増減させることができます。


