NSX Edge ロード バランサはネットワーク トラフィックを複数のサーバに分散することにより、リソースの最適な使用、冗長性を実現し、リソースを分散して使用できるようにします。
NSX ロード バランサは、レイヤー 4 およびレイヤー 7 のロード バランシング エンジンをサポートします。レイヤー 4 のロード バランサは接続ベースで高速パス処理を行います。一方、レイヤー 7 ロード バランサは HTTP ソケット ベースです。バックエンド サービスで高度なトラフィック処理を実現し、DDoS を緩和します。
接続ベースのロード バランシングは、TCP および UDP レイヤーに実装されます。接続ベースのロード バランシングは、接続の停止や要求全体のバッファの作成は行わず、パケット処理後に選択されたサーバに直接パケットを送信します。TCP および UDP セッションはロード バランサで維持され、これによって単一セッションのパケットが同一サーバに送信されます。接続ベースのロード バランシングは、アクセラレーションが無効になっている TCP と UDP の仮想 IP アドレスか、アクセラレーションが有効になっている TCP の仮想 IP アドレスによって実行されます。
ソケット ベースのロード バランシングは、ソケット インターフェイスの上位に実装されます。1 つの要求について、クライアント方向とサーバ方向の 2 つの接続が確立されます。サーバ方向の接続は、サーバを選択した後に確立されます。HTTP ソケット ベースの実装では、オプションの L7 処理を使用して選択されたサーバに送信される前に、すべての要求が受信されます。HTTPS ソケット ベースの実装については、クライアント方向の接続またはサーバ方向の接続のいずれかで、認証情報が交換されます。ソケット ベースのロード バランシングは、TCP、HTTP、および HTTPS 仮想サーバのデフォルトのモードです。
NSX ロード バランサの重要な概念は次のとおりです。
- 仮想サーバ
- アプリケーション サービスを抽象化したもので、IP アドレス、ポート、プロトコル、およびアプリケーション プロファイル(TCP、UDP など)の一意の組み合わせで表されます。
- サーバ プール
- バックエンド サーバのグループです。
- サーバ プール メンバー
- プール内のメンバーとしてのバックエンド サーバです。
- サービス モニター
- バックエンド サーバの健全性ステータスの検証方法を定義します。
- アプリケーション プロファイル
- 特定のアプリケーションの TCP、UDP、セッション維持、および証明書設定が含まれます。
バックエンド サーバを効率的に管理および共有するため、ロード バランサにグローバル オプションを設定して、バックエンド サーバ メンバーのサーバ プールを作成し、サービス モニターとプールを関連付けます。
次に、アプリケーション プロファイルを作成して、クライアント SSL、サーバ SSL、x-forwarded-for、セッション維持など、アプリケーションの共通の動作をロード バランサに定義します。セッション維持を設定すると、送信元の IP アドレスや Cookie などの特性が類似する後続の要求は、ロード バランシング アルゴリズムを実行せずに、同じプール メンバーに送信されます。アプリケーション プロファイルは、仮想サーバ全体で再利用できます。
次に、オプションのアプリケーション ルールを作成して、アプリケーション固有のトラフィック処理を設定します。たとえば、特定の URL やホスト名との一致により、異なる要求を異なるプールで処理するように定義します。次に、アプリケーション固有のサービス モニターを作成するか、以前に作成したサービス モニターを使用します。
必要に応じて、L7 仮想サーバの高度な機能をサポートするアプリケーション ルールを作成することもできます。アプリケーション ルールは、コンテンツの切り替え、ヘッダの操作、セキュリティ ルール、DOS 保護などに使用できます。
最後に、サーバ プール、アプリケーション プロファイル、あらゆる潜在的なアプリケーション ルールを関連付ける仮想サーバを作成します。
仮想サーバが要求を受信するとき、ロード バランシング アルゴリズムではプール メンバーの設定とランタイム ステータスが考慮されます。次に、アルゴリズムは適切なプールを計算して、1 つ以上のメンバーにトラフィックを分散します。プール メンバーの設定には、重み、最大接続数、状態ステータスなどの設定が含まれます。ランタイム ステータスには、現在の接続、応答時間、健全性チェックのステータス情報などが含まれます。計算方法としては、ラウンド ロビン、重み付きラウンド ロビン、最小接続数、ソース IP アドレス ハッシュ、重み付き最小接続数、URL、URI、HTTP ヘッダを使用できます。
各プールは、関連付けられたサービス モニターで監視されます。ロード バランサがプール メンバーの問題を検出すると、メンバーの状態は「切断」とマークされます。サーバ プールからプール メンバーを選択するときには、状態が「接続中」のサーバのみが選択されます。サーバ プールにサービス モニターが設定されていない場合は、すべてのメンバーが「接続中」であるとみなされます。
ロード バランサのトラブルシューティング情報については、『NSX トラブルシューティング ガイド』を参照してください。