Horizon Cloud on Microsoft Azure は、仮想デスクトップと仮想アプリケーションの提供を簡素化します。単一のソリューションにより、組織はクラウド リソースを活用しながら、Microsoft Azure 上の仮想アプリケーションや仮想デスクトップを簡単に展開および管理できます。IT 部門は、簡単な展開プロセス、簡素化された管理、クラウド用に構築されたアーキテクチャにより、起動と実行にかかる時間を節約できます。
Horizon Cloud on Azure は、BYO (Bring-your-own) サブスクリプション モデルで提供されます。この特長は次のとおりです。
VMware は、プロビジョニングや全コンポーネントのライフサイクル管理など、Azure 上の Horizon Cloud 環境を管理します。
プロビジョニングはユーザー所有で行われますが、Azure サブスクリプションは VMware が管理します。
Horizon Cloud の詳細については、「Horizon Cloud - A Cloud-Native Virtual Desktop Platform」を参照してください。
Microsoft Azure での NSX Advanced Load Balancer
NSX Advanced Load Balancer は、エンタープライズ クラスのフル機能を備えたロード バランシング、100% の REST API 自動化を実現した WAF、および Microsoft Azure に展開できる分析機能を提供します。
詳細については、『VMware NSX Advanced Load Balancer インストール ガイド』の「Microsoft Azure への NSX Advanced Load Balancer のインストール」トピックを参照してください。
Horizon Cloud on Azure 用の NSX Advanced Load Balancer
NSX Advanced Load Balancer を使用して、Horizon Cloud on Azure 環境に、アプリケーション提供機能(ロード バランシング、WAF、GSLB)を提供できます。
NSX Advanced Load Balancer を使用する主なメリットは次のとおりです。
オンプレミス ポッドからパブリック クラウド ポッドにまたがるマルチクラウド Horizon 環境で、一貫したアプリケーション提供ポリシーを実現。
メトリックや要求ごとのログなどの NSX Advanced Load Balancer 分析機能を活用して、可視性を高め、トラブルシューティングを向上。
必要に応じて、ロード バランシング キャパシティを柔軟にスケールアウト。
リファレンス設計
現在、NSX Advanced Load Balancer は、Horizon Cloud on Azure についてはユーザー管理のインストールとして提供されています。
このシナリオには次の特長があります。
VMware は、プロビジョニングや全コンポーネントのライフサイクル管理など、Azure 上の Horizon Cloud 環境を管理します。
プロビジョニングはユーザー所有で行われますが、Azure サブスクリプションは VMware が管理します。
さらに、次の特長もあります。
NSX Advanced Load Balancer は、同じサブスクリプションでユーザーによって展開され、Azure Virtual Network (VNet) を Horizon Cloud オブジェクトと共有します。
クラウド ポッドのプロビジョニングでは、含める必要がある、または変更する必要がある構成がいくつかあります。これについては、この後のガイドで説明します。
NSX Advanced Load Balancer を使用した Horizon ポッドのプロビジョニング
新しい展開の場合は、次の手順で、NSX Advanced Load Balancer を使用して Horizon ポッドをプロビジョニングします。
NSX Advanced Load Balancer Controller を展開し、Controller で Azure クラウドを構成する
Horizon Cloud ポッドを作成する
Azure 上の外部 UAG のネットワーク セキュリティ グループを変更する
NSX Advanced Load Balancer Controller で仮想サービスを構成する
Azure での NSX Advanced Load Balancer Controller の展開と構成
『VMware NSX Advanced Load Balancer インストール ガイド』の「Microsoft Azure への NSX Advanced Load Balancer のインストール」トピックにある手順に従って、NSX Advanced Load Balancer Controller Cluster をインストールおよび構成します。
NSX Advanced Load Balancer Controller のインストール
NSX Advanced Load Balancer Controller の詳細なインストール手順については、『VMware NSX Advanced Load Balancer インストール ガイド』の「Microsoft Azure への NSX Advanced Load Balancer のインストール」トピックを参照してください。
NSX Advanced Load Balancer Controller は制御プレーン エンティティです。オペレータは、Controller に接続して、構成、操作、分析を行うことができます。
Controller は、サブスクリプション内の別のリソース グループでインスタンス化し、Horizon Cloud に使用されているのと同じ VNet から IP アドレスを指定できます。
NSX Advanced Load Balancer Controller は、オンプレミスにインストールすることも、別のサブスクリプションや VNet にインストールすることもできます。このような場合、Controller には Azure エンドポイントへの IP 接続と、Horizon Cloud Pod VNet へのピアリングが必要です。
Azure クラウドの構成
Controller を初期化し、Controller 内で Azure クラウドを構成して NSX Advanced Load Balancer サービス エンジンをプロビジョニングできるようにする方法の詳細については、『NSX Advanced Load Balancer インストール ガイド』の「Microsoft Azure への VMware NSX Advanced Load Balancer のインストール」トピックを参照してください。
構成する Azure クラウド コネクタには、別のリソース グループを使用することをお勧めします。
VNet は、Horizon Cloud で使用されているものと同じである必要があります。
専用の管理ネットワークを有効にする必要があります。これにより、Controller とサービス エンジン間の通信に個別の NIC が使用されます。
NSX Advanced Load Balancer 仮想サービスを作成する前に、次の Azure 関連の手順を実行する必要があります。
Horizon Cloud ポッドの展開
Horizon Cloud ポッドは、Horizon アプリケーションのホーム ページからプロビジョニングできます。
Horizon Cloud ポッドを展開する手順については、「VMware Horizon のドキュメンテーション」を参照してください。
デフォルトでは、Horizon Cloud on Azure は、外部 UAG のロード バランシングのために Azure IP アドレス空間から新しいパブリック IP アドレスをプロビジョニングします。この IP アドレスは、標準のポッド展開の一環としてプロビジョニングされる Azure Load Balancer で構成されます。この IP アドレスは UAG でも PCoIP URL として構成されます。
代わりに NSX Advanced Load Balancer を使用するには、ポッドの展開中に自動割り当てを無効にし、代わりにパブリック IP アドレス(NSX Advanced Load Balancer 仮想サービスでホストされる)を指定します。
外部 UAG 構成設定で、次の手順を実行します。
[パブリック IP アドレスを有効にする] オプションを無効にします。
未使用の IP アドレスを入力します。
注:仮想サービスが作成されたら、この IP アドレスを NSX Advanced Load Balancer 仮想サービスの実際の仮想サービス IP アドレスに置き換えます。
外部 UAG のネットワーク セキュリティ グループの変更
外部 UAG に関連付けられている Azure ネットワーク セキュリティ グループを変更します。Horizon Cloud は、UAG へのアクセスを制限するように Azure ネットワーク セキュリティ グループ (NSG) を構成します。外部 UAG のデフォルトの NSG では、インターネットから送信される制御ポートとデータ ポートからのトラフィックが許可されます。同じポートだが DMZ サブネットを送信元とする受信トラフィックを許可するように、NSG を変更します。
NSX Advanced Load Balancer での仮想サービスの作成
Azure で、UAG のロード バランシングのために NSX Advanced Load Balancer を展開するオプションは 2 つあります。
2 つの仮想サービスを備えた単一の VIP
単一の L4 仮想サービス
これらの設計オプションの詳細については、「Horizon のリファレンス アーキテクチャ」を参照してください。
2 つの仮想サービスを備えた単一の VIP
2 つの仮想サービスを使用して単一の VIP を構成するには、次の手順を実行します。
UAG をメンバーとして使用して IP グループを作成する
UAG 用のカスタム健全性モニターの作成
プールを作成する
SSL プロファイルを作成し、SSL 証明書をインストールする
L7 仮想サービスの作成
L7 仮想サービスを共有 VIP として使用して L4 仮想サービスを作成し、セカンダリ プロトコルに必要なすべてのポートを指定する
手順については、以降のセクションで詳しく説明します。
IP グループの作成
IP グループは、プロファイル、ポリシー、およびログから参照される可能性のある IP アドレスのカンマ区切りのリストです。同じ UAG サーバが 2 つの異なるプールのプール メンバーとして使用されているため、サーバをプールに直接接続するのではなく、IP グループをプールに接続できます。サーバの追加や削除など、プール メンバーに対する構成変更はすべて、IP グループ レベルで実行する必要があります。
IP グループを作成するには、次の手順を実行します。
NSX Advanced Load Balancer ユーザー インターフェイスで、 の順に移動します。
[IP グループを作成] をクリックします。
[新しい IP グループ] 画面で、[IP グループ名] を入力します。
[IP アドレスで選択] オプションをクリックします。
トラフィックのロード バランシングを行う UAG サーバの IP アドレスを入力します。
[保存] をクリックします。
UAG の IP アドレスは、UAG が展開されると Azure ポータルで使用できるようになります。
Horizon 用のカスタム健全性モニターの作成
カスタム健全性モニターを作成するには、次の手順を実行します。
NSX Advanced Load Balancer ユーザー インターフェイスで、 の順に移動します。
[作成] をクリックします。
Horizon 用に作成された Azure クラウドを選択します。
[新しい健全性モニター] 画面で、次の詳細を入力します。
-
フィールド
値
送信間隔
30
受信タイムアウト
10
クライアント要求データ
GET /favicon.ico HTTP/1.0
応答コード
2xx
-
[保存] をクリックします。
UAG プール用の SSL プロファイルの作成
次の構成を使用して、UAG プールの SSL プロファイルを作成します。
の順に移動します。
[アプリケーション プロファイル] を選択します。
次のように詳細を入力します。
[承諾済みバージョン]:1.2
[暗号] タブをクリックし、暗号リストから次を選択します。
[TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
[TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256]
[TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
[TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384]
[保存] をクリックします。
プールの作成
プールは、割り当てられたサーバのリストを保持し、健全性監視、ロード バランシング、パーシステンス、および NSX Advanced Load Balancer とサーバ間の相互作用を伴う機能を実行します。
プールには、UAG サーバ(UAG server01 と UAG server02)の IP アドレスが含まれます。プールを 2 つ作成します。
L7 (HTTPS) 用の Horizon-L7-pool
セカンダリ プロトコル用の Horizon-L4-pool
これら 2 つのプールは、作成される 2 つの仮想サービスに接続する必要があります。
送信元 IP アドレスをキーとして使用するコンシステント ハッシュは、送信元 IP アドレスのアフィニティを維持するためのハッシュ アルゴリズムとして構成する必要があります。
プールを作成するには、次の手順を実行します。
の順に移動します。
[クラウドの選択] サブ画面から、作成された Azure クラウドを選択します。
[次へ] をクリックします。
[プールの作成] をクリックします。
[新しいプール] 画面の [手順 1: 設定] で、[ロード バランシング] アルゴリズムとして [コンシステント ハッシュ] を選択し、[送信元 IP アドレス] をハッシュ キーとして選択します。
モニターをバインドするには、[アクティブ モニターの追加] をクリックし、作成されたカスタム健全性モニター を選択します。
[次へ] をクリックします。
[SSL の有効化] をクリックし、適切な SSL プロファイルを選択します。
[次へ] をクリックします。
[手順 2: サーバ] タブの [サーバの選択] で [IP グループ] オプションをクリックします。
先ほど作成した UAG サーバの IP グループを選択します。
[次へ] をクリックします。
の順に移動します。
[次へ] および [保存] をクリックします。
Horizon L4 プールの作成
Horizon L7 プールを作成する場合と同じ手順で、Horizon-l4-pool という名前の別のプールを作成します。
デフォルトのサーバ ポートを 443 に設定し、ロード バランシング アルゴリズムを送信元 IP アドレスを使用したコンシステント ハッシュとして構成します。
[手順 2: サーバ] タブで、先ほど作成した UAG サーバの IP グループを追加します。
[手順 3: 詳細] タブで [ポート変換の無効化] を選択して、トラフィックの宛先ポートが、最初のペインで設定されたデフォルトのサーバ ポート (443) に変更されないようにします。
L7 VIP に必要な SSL 証明書のインストール
SSL 接続の終端は NSX Advanced Load Balancer 仮想サービスです。そのため、SSL 証明書が仮想サービスに割り当てられている必要があります。自己署名証明書を使用するのではなく、有効な認証局によって署名された証明書をインストールすることをお勧めします。
NSX Advanced Load Balancer に証明書をインストールし、CA 証明書がインポートおよびリンクされていることを確認します。手順については、『VMware NSX Advanced Load Balancer インストール ガイド』の「SSL 証明書」トピックを参照してください。
この設定では、Horizon_Certificate という名前の証明書がインストールされています。
新しい SE グループの作成
外部 UAG のロード バランシングを行うための新しい SE グループを作成します。
の順に移動し、作成した Azure クラウドを選択します。
[サービス エンジン グループの作成] をクリックします。
[基本設定] タブで、次のように構成します。
[詳細] タブをクリックします。
[データ ネットワークのオーバーライド] で、外部 UAG が配置されているデータ サブネットを選択します。
[保存] をクリックします。
Azure Standard ALB の有効化
標準の ALB フラグ オーバーライドを使用してサービス エンジン グループを構成するには、次の手順を実行します。
[admin:10-52-0-71]: > configure serviceenginegroup ExternalUAGs [admin:10-52-0-71]: serviceenginegroup> use_standard_alb [admin:10-52-0-71]: serviceenginegroup> save
仮想サービスの SSL プロファイルの作成
次の構成を使用して、仮想サービスの SSL プロファイルを作成します。
の順に移動します。
[アプリケーション プロファイル] を選択します。
次の詳細を入力します。
[承認済みバージョン]:TLS 1.1、1.2
[暗号] タブをクリックし、暗号リストから次を選択します。
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
[保存] をクリックします。
L7 仮想サービスの作成
新しい L7 仮想サービスを作成するには、次の手順を実行します。
NSX Advanced Load Balancer ユーザー インターフェイスから、 の順に移動します。
の順にクリックします。
[System-Secure-HTTP-VDI] を [アプリケーション プロファイル] として使用します。
次に示すように、仮想サービスを構成します。
[次へ] をクリックします。
[詳細] タブに移動します。
[外部 UAG] に [SE グループ] を選択します。
[次へ] および [保存] をクリックします。
L4 仮想サービスの作成
L7 VIP と同じ IP アドレスを共有する別の仮想サービスを作成します。これにより、プライマリ プロトコルとセカンダリ プロトコルの両方について必要な仮想 IP アドレスが 1 つのみになります。L7 仮想サービスはプライマリ プロトコルとトンネルを処理し、L4 仮想サービスはもう一方のセカンダリ プロトコルを処理します。
L4 仮想サービスを作成するには、次の手順を実行します。
の順にクリックします。
[新しい仮想サービス] 画面で、[VIP アドレス] の [詳細に切り替え] をクリックします。
[VIP 共有のための仮想サービス] として作成された L7 仮想サービスを選択します。
[詳細に切り替え] をクリックします。
で、次に示すように、セカンダリ プロトコル用に次のポート番号を追加します。
443 UDP(TCP/UDP をオーバーライドし、プロファイルとして System-UDP-Fast-Path-VDI を使用する場合)
8443(Blast の場合)
8443 UDP(TCP/UDP をオーバーライドし、System-UDP-Fast-Path-VDI をプロファイルとして使用する場合)
4172(PCoIP の場合)
4172 UDP(TCP/UDP をオーバーライドし、System-UDP-Fast-Path-VDI をプロファイルとして使用する場合)
[プール] に [Horizon-L4-Pool] を選択します。
[次へ] をクリックし、[手順 4: 詳細] タブに移動します。
[外部 UAG] に [SE グループ] を選択します。
[保存] をクリックします。
NSX Advanced Load Balancer を使用した内部 UAG のロード バランシング
内部 UAG がポッドに展開されている場合は、これらの UAG のロード バランシングに、別の NSX Advanced Load Balancer 仮想サービスのセットを使用する必要があります。内部 UAG の NSX Advanced Load Balancer サービス エンジンを外部 UAG から隔離するには、別のサービス エンジン グループを作成し、内部 UAG 仮想サービスに使用する必要があります。
さらに、内部 UAG のフロントエンド IP アドレスは、(外部 UAG の場合の DMZ サブネットではなく)データ サブネットに存在するため、SE グループのプロパティを変更してこれを反映する必要があります。
次に示すように、内部 UAG 用の新しい SE グループを作成します。
内部 UAG のプール、健全性モニター、および仮想サービスの作成方法は、外部 UAG の場合の方法と似ています。詳細については、「新しい SE グループの作成」を参照してください。
ベスト プラクティス
セキュリティ評価を高めるには、デフォルトの SSL プロファイルを使用するのではなく、新しい SSL プロファイルを作成して仮想サービスにバインドすることをお勧めします。
新しい SSL プロファイルを作成するには、次の手順を実行します。
の順に移動します。
[新しい SSL/TLS プロファイル] 画面で、[暗号] と [TLS バージョン] を選択します。
[TLS 1.1] と [TLS 1.2] を有効にして、古い Horizon Client との後方互換性を有効にします。
[保存] をクリックします。
このプロファイルにより、古いクライアントとの後方互換性が問題なく行われ、セキュリティ関連の問題を回避できます。
NSX Advanced Load Balancer での単一の L4 仮想サービスの構成
この設計では、L4 プロファイルを使用する単一の仮想サービスが、すべてのプロトコルに対応します。
NSX Advanced Load Balancer での L4 仮想サービスの構成
NSX Advanced Load Balancer での L4 仮想サービスの構成は、次の手順で行います。
UAG 用のカスタム健全性モニターを作成します。
プールの作成
L4 仮想サービスの作成
プールの作成
NSX Advanced Load Balancer ユーザー インターフェイスから の順に移動します。
[プール] をクリックします。
必要な詳細を追加して、プールを構成します。
[健全性モニターの追加] をクリックし、作成された [Horizon HTTPS モニター] を選択します。
[手順 3: 詳細] に移動します。
[ポート変換の無効化] を選択します。
[次へ] および [保存] をクリックします。
L4 仮想サービスの作成
NSX Advanced Load Balancer ユーザー インターフェイスから、 の順に移動します。
の順にクリックします。
[新しい仮想サービス] 画面で、仮想サービスの名とその他の詳細を入力します。
[サービス ポート] で、[詳細に切り替え] をクリックします。
プライマリ プロトコルとセカンダリ プロトコルの両方に、次のポート番号を追加します。
443(プライマリ HTTPS プロトコルの場合)
443 UDP(TCP/UDP をオーバーライドし、プロファイルとして System-UDP-Fast-Path-VDI を使用する場合)
8443(Blast の場合)
8443 UDP(TCP/UDP をオーバーライドし、プロファイルとして System-UDP-Fast-Path-VDI を使用する場合)
4172(PCoIP の場合)
4172 UDP(TCP/UDP をオーバーライドし、プロファイルとして System-UDP-Fast-Path-VDI を使用する場合)
注:アプリケーション プロファイルとプール (Horizon-L4-pool) は仮想サービスにバインドされます。
[次へ] をクリックし、[手順 4: 詳細] タブに移動します。
[外部 UAG] に [SE グループ] を選択します。
[保存] をクリックします。
これにより、構成が完了し、Horizon 用の NSX Advanced Load Balancer を使用する準備が整いました。
Horizon Cloud ポッドの UAG 構成設定での NSX Advanced Load Balancer VIP の構成
NSX Advanced Load Balancer 仮想サービスのパブリック IP アドレスをメモし、Horizon Cloud ポッドの UAG 構成設定で、パブリック IP アドレスと同じ IP アドレスを構成します。UAG の Blast と PCoIP の URL が仮想 IP アドレスを参照するように、Horizon ポッド構成を保存します。
Horizon FQDN が NSX Advanced Load Balancer 仮想 IP アドレスに解決するように、DNS サーバが適切に構成されていることを確認します。
VMware Horizon の運用チームと協力して、作成した VS の NSX Advanced Load Balancer 仮想サービス IP アドレスを提供します。運用チームは、この IP アドレスを PCoIP URL として構成します。
PCoIP URL が、内部 VS の NSX Advanced Load Balancer VS IP で更新されていない場合、内部クライアントを介した PCoIP 接続は失敗します。Blast プロトコルは影響を受けません。