VDAとDelivery Controller™との間のウェブソケット通信
この記事では、WCF通信の代替として、VDAとDelivery Controller間の通信にWebSocket接続を設定する方法について説明します。これにより、VDAからDelivery Controllerへの通信にTLSポート443のみを使用するという利点が得られます。
仕組み
以下のセクションでは、Delivery ControllerとVDA間のWebSocket接続のワークフローについて説明します。
通常のブローカー操作中
- Citrix Virtual Apps and Desktops™ の管理者は、マシン作成サービス (MCS) を使用して VDA をプロビジョニングすることで、プロセスを開始します。
- MCSプロビジョニングプロセス中に、MCSは各VDAの公開鍵と秘密鍵のペアを生成し、公開鍵をDelivery Controller上のFMA信頼サービスに登録します。MCSは、公開鍵と秘密鍵のペアをVDAのIDディスク下のファイルとして保存します。
- VDAマシンが起動すると、VDAマシンにインストールされているMCSエージェントは、IDディスクからキーペアを読み取り、この情報をVDAレジストリの場所に書き込みます。
- VDAにインストールされているブローカーエージェントは、レジストリからキーペアを読み取り、秘密鍵で署名されたサービスキーを使用して、SSL対応のWebSocketリクエストをDelivery Controllerに生成します。
- Delivery Controllerは、FMA信頼サービスからの公開鍵を使用して、署名されたサービスキー認証ヘッダーを検証します。
- 検証が完了すると、システムはVDAとDelivery Controller間のWebSocket接続を確立します。
LHCモードがアクティブになったとき
LHCのWebSocketサポートを有効にすると、LHCモード中にVDAがHigh Availability ServiceとのWebSocket接続を確立しようとしたときに、High Availability Serviceはローカルデータベースからの公開鍵を使用して署名されたサービスキー認証ヘッダーを検証します。これによりWebSocket接続が認証され、LHCモードでもVDAとDelivery Controller間のWebSocket接続が成功します。
ウェブソケット サポート
始める前に
- サイトを構成します。詳細については、「サイトの作成」(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/install-configure/site-create.html)を参照してください。
- Delivery Controller に TLS 証明書をインストールします。詳細については、「Controller への TLS サーバー証明書のインストール」(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/secure/tls-ddc)を参照してください。
- Delivery Controller を信頼するために、VDA にルート CA および中間 CA をインストールします。
実施手順
WebSocket 接続をセットアップするには、以下の手順に従ってください。
-
Delivery Controller で WebSocket 接続を有効にします。サイトにある各 Delivery Controller で次のコマンドを実行します。
New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force - WebSocket を有効にした後、ブローカーサービスを再起動します。
-
LHC モードの WebSocket サポートを有効にします。サイトにある各 Delivery Controller で次のコマンドを実行します。
New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\LHC" -Name "WebSocketEnabledLhc" -PropertyType "DWord" -Value 1 -Force <!--NeedCopy--> - MCS プロビジョニングを使用して、AD 参加済み VDA のマシンカタログを作成します。詳細については、「マシンカタログの作成」(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/install-configure/machine-catalogs-create.html)を参照してください。
- デリバリーグループを作成し、VDA を追加します。詳細については、「デリバリーグループの作成」(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/install-configure/delivery-groups-create.html)を参照してください。
-
VDA で WebSocket 接続を有効にします。VDA で次の PowerShell コマンドを実行します。
New-ItemProperty "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket" -Name "Enabled" -PropertyType "DWord" -Value 1 -Force <!--NeedCopy-->-
WebSocket が有効になっているかを確認するには、次のレジストリキーの値をチェックします。
Enabledの値は 1 である必要があります。キー:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket <!--NeedCopy-->名前: 有効
レジストリのデータ型: REG_DWORD
値: 1
-