NSX Advanced Load Balancer は、Unified Access Gateway (UAG)、Connection Server、App Volumes Manager などの前面に必要に応じて展開できます。このセクションでは、VMware Horizon 環境で UAG サーバへのトラフィックをロード バランシングするための、推奨される NSX Advanced Load Balancer の構成方法について説明します。また、Connection Server と App Volumes Manager のロード バランシングの手順についても説明します。
サンプル トポロジ
このサンプル トポロジのような要求フローがあるとします。
![](images/GUID-49F855EE-119E-4365-8778-E471811C2B49-high.png)
このサンプル トポロジは、DMZ ネットワークでの UAG の展開を示しています。ただし、NSX Advanced Load Balancer は DMZ ネットワークと非 DMZ ネットワークの両方での展開をサポートします。
FQDN |
エンティティの説明 |
エンティティの説明 |
実際の IP アドレス |
---|---|---|---|
uagvip.site1.com |
NSX Advanced Load Balancer LB VIP の FQDN |
VIP 1 |
10.10.5.200 |
uag1.site1.com |
サイト 1 にある UAG サーバ 1 の FQDN |
VIP 1 |
10.58.17.163 |
uag2.site1.com |
サイト 1 にある UAG サーバ 2 の FQDN |
VIP 1 |
10.58.17.164 |
この例で使用されている IP アドレスと FQDN は、図示のみを目的としています。これは、実際の環境の詳細情報と置き換えてください。
要求フロー
この環境の要求フローは次のとおりです。
ユーザーは、インターネット経由で uagvip.site1.com にアクセスする要求を送信します。
要求は NSX Advanced Load Balancer に送信されます。
NSX Advanced Load Balancer はロード バランシングを実行し、バックエンド UAG サーバのいずれかに要求を送信します。この場合、NSX Advanced Load Balancer が UAG サーバ 1 (uag1.site1.com) に要求を送信したと仮定します。
UAG は、uag1.site1.com の FQDN を使用してクライアントに 307 リダイレクトを送信します。UAG サーバは、「HTTP ホスト リダイレクトの Unified Access Gateway のサポート」で説明されているように、307 機能を使用して構成する必要があります。UAG 構成の例は、「このソリューションについて UAG で確認すべき重要な構成」で説明しています。
クライアントは場所ヘッダーを検索し、場所ヘッダーにあるホスト (uag1.site1.com) をクエリします。
作成された DNS エントリ(上の表を参照)を使用すると、FQDN (uag1.site1.com) は NSX Advanced Load Balancer VIP IP に解決されます。
307 リダイレクトから、以降のすべてのフローには Host ヘッダーが設定されます。
クライアントは、新しい UAG FQDN (uag1.site1.com) で認証を開始します。
要求が NSX Advanced Load Balancer に送信されると、NSX Advanced Load Balancer 仮想サービスは Host ヘッダーを解析し、HTTP ポリシーを使用して、Host ヘッダー (uag1.site1.com) に基づいて UAG に転送します。
UAG1.site1.com は認証を実行し、資格を検証して、プロトコルの外部 URL を含むセカンダリ プロトコル情報と構成済みのカスタム ポートを返します。
クライアントがアプリケーションを起動すると、L4 仮想サービスは DataScript を使用して、受信宛先ポート(カスタム ポート)に基づいて UAG サーバを修正する要求を送信します。
ロード バランシングの構成
UAG のロード バランシングを構成する手順は次のとおりです。
HTTP 要求ポリシーを追加するには、上記で作成した仮想サービスで [ポリシー] タブをクリックします。
[HTTP 要求] タブをクリックします。
[+] プラス アイコンをクリックして、HTTP 要求ルールを追加します。
構成を保存します。
注:要求フローで説明したように、NSX Advanced Load Balancer L7 仮想サービスは、クライアントからの受信要求にある Host ヘッダーを探します。Host ヘッダーに基づいて、要求はいずれかの UAG サーバに送信されます。
上記の http ポリシーでは、Host ヘッダーを検索し、Host ヘッダーに基づいてバックエンド UAG サーバのいずれかに要求をルーティングするルールが作成されます。
たとえば、Host ヘッダーが uag1.site1.com の場合は、UAG1 サーバに要求を送信します。Host ヘッダーが uag2.site1.com の場合は、UAG2 サーバに要求を送信します。
-
注:
ここで、カスタム ポートの 4001 と 4002 が Blast に使用され、5001 と 5002 が PCoIP に使用されます。これらは UAG で構成されます。使用できるポート番号はこれらに限定されていません。ここでは非標準ポート番号も使用できますが、それらのポート番号の構成が、UAG と NSX Advanced Load Balancer で同じであることを確認する必要があります。
構成の例は、「このソリューションについて UAG で確認すべき重要な構成」で説明しています。
-
注:
この DataScript は、特定のポートに送信された要求が適切な UAG サーバにルーティングされるようにします。ポート (4001/4002/5001/5002) は、この DataScript を使用してパーシステンス ロジックを確立するために使用されます。NSX Advanced Load Balancer は、いずれかの UAG サーバに要求を送信するときに、ポートを標準の Blast/PCoIP ポート (8443/4172) に確実に変換します。UAG サーバは Blast と PCoIP についてポート 8443 と 4172 でそれぞれ待機するため、これは重要です。UAG サーバはカスタム ポート (4001/4002/5001/5002) を認識しません。
他にも UAG サーバがある場合は、DataScript を作成する前に、「サーバ IP:ポート」のすべてのペアが L4 プールに追加されていることを確認します。
このソリューションについて UAG で確認すべき重要な構成
Blast URL は、次のように、正しいポート番号を持つ UAG ホスト名/FQDN を参照する必要があります。
サイト 1 – UAG1 - https://<UAG1 FQDN>:4001/
サイト 1 – UAG2 - https://<UAG2 FQDN>:4002/
同様に、PCoIP は、正しいポート番号を持つ NSX Advanced Load Balancer VIP を指す必要があります。
サイト 1 – UAG1 - https://<サイト 1 の NSX Advanced Load Balancer VIP IP>:5001/
サイト 1 – UAG2 - https://<サイト 1 の NSX Advanced Load Balancer VIP IP>:5002/
ホスト リダイレクト マッピングは、すべての UAG で構成する必要があります。
ソース ホストが LB FQDN である。(例:uagvip.site1.com)
リダイレクト ホストが UAG の FQDN である。(例:uag1.site1.com)
すべての UAG サーバに、NSX Advanced Load Balancer VS 証明書をアップロードします。
その他の留意事項
すべてのホスト名または FQDN は SAML IDP に追加する必要があります。
NSX Advanced Load Balancer に、同じ証明書とキーのペアをインストールし、UAG L7 VS にバインドします。
場合によっては、VMware Horizon Client にアクセスするときに、同じサイトの複数のアイコンが次のように表示されることがあります。
この問題は、Horizon Client の今後のリリースで解決される予定です。
UAG トラフィック用の WAF の有効化
詳細については、「UAG トラフィック用の WAF の有効化」を参照してください。
Connection Server のロード バランシング
Connection Server へのトラフィックのロード バランシングでは、L4 と L7 の仮想サービスが両方ともサポートされています。ただし、L7 仮想サービスを使用することをお勧めします。
L7 仮想サービスを使用して Connection Server へのトラフィックのロード バランシングを行う方法については、「Connection Server へのトラフィックのロード バランシング」を参照してください。