ロード バランサーは、ユーザーに対してロードの分散が透過的に行われるように、受信サービス リクエストを複数のサーバに均等に分散します。ロード バランシングは、リソース使用の最適化、スループットの最大化、応答時間の最小化、過負荷の回避に役立ちます。

NSX ロード バランサは、2 つのロード バランシング エンジンをサポートします。レイヤー 4 ロード バランサーはパケット ベースであり、高速パス処理を提供します。レイヤー 7 ロード バランサーはソケット ベースであり、バックエンド サービスの高度なトラフィック管理戦略と DDOS 緩和をサポートします。

NSX Data Center for vSphere Edge Gateway は外部ネットワークからの受信トラフィックのロード バランシングを行うため、Edge Gateway のロード バランシングを外部インターフェイスで設定します。ロード バランシング用の仮想サーバを構成する場合、組織仮想データセンターにある使用可能な IP アドレスのいずれかを指定します。

ロード バランシングの戦略と概念

パケット ベースのロード バランシング戦略は TCP および UDP レイヤーに実装されます。パケット ベースのロード バランシングでは、接続の停止または要求全体のバッファリングを行いません。代わりに、パケットの操作後に、選択したサーバに直接パケットを送信します。1 つのセッションのパケットが同じサーバに送信されるように TCP および UDP セッションはロード バランサー内で維持されます。グローバル構成および関連する仮想サーバ構成の両方で [アクセラレーションが有効] を選択し、パケット ベースのロード バランシングを有効にできます。

ソケット ベースのロード バランシング戦略はソケット インターフェイス上に実装されます。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 ヘッダーを使用できます。

各プールは、関連付けられたサービス モニターで監視されます。ロード バランサーがプール メンバーの問題を検出すると、メンバーは DOWN としてマークされます。サーバ プールからサーバを選択するときは、UP のサーバのみが選択されます。サーバ プールがサービス モニターと共に構成されていない場合、すべてのプール メンバーが UP とみなされます。