VDAとDelivery Controller™との間で行われるウェブソケット通信
この記事では、WCF通信を使用する代替手段として、VDAとDelivery Controller間の通信のためのWebSocket接続を設定する方法について説明します。これにより、VDAからDelivery Controllerへの通信にTLSポート443のみを使用するという利点が得られます。
現在、これはMCSでプロビジョニングされたマシンでのみ利用可能です。手動でプロビジョニングされたマシンはテクニカルプレビュー中です。詳細については、トークンを使用して非MCSプロビジョニングVDAを登録する(プレビュー)を参照してください。
仕組み
以下のセクションでは、Delivery ControllerとVDA間のWebSocket接続のワークフローについて説明します。
- Citrix Virtual Apps and Desktops™ の管理者は、Machine Creation Service (MCS) を用いてVDAのプロビジョニングを実施することにより、その一連のプロセスを開始します。
- MCSプロビジョニングプロセス中に、MCSは各VDAの公開鍵と秘密鍵のペアを生成し、Delivery Controller上のFMA信頼サービスに公開鍵を登録します。MCSは、公開鍵と秘密鍵のペアをVDAのIDディスク下のファイルとして保存します。
- VDAマシンが起動すると、VDAマシンにインストールされているMCSエージェントはIDディスクからキーペアを読み取り、この情報をVDAレジストリの場所に書き込みます。
- VDAにインストールされているブローカーエージェントは、レジストリからキーペアを読み取り、秘密鍵で署名されたサービスキーを使用して、Delivery Controllerに対してSSL対応のWebSocketリクエストを生成します。
- Delivery Controllerは、FMA信頼サービスからの公開鍵を使用して、署名されたサービスキー認証ヘッダーを検証します。
- 検証が完了すると、システムはVDAとDelivery Controller間のWebSocket接続を確立します。
ウェブソケットのサポート
開始する前に
- サイトを構成します。詳細については、サイトの作成を参照してください。
- Delivery ControllerにTLS証明書をインストールします。詳細については、ControllerにTLSサーバー証明書をインストールするを参照してください。
- VDAにルートCAと中間CAをインストールして、Delivery Controllerを信頼します。
手続き
WebSocket接続を設定するには、以下の手順に従います。
-
Delivery ControllerでWebSocket接続を有効にします。サイトにある各Delivery Controllerで次のコマンドを実行します。
New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force注:
WebSocketを有効にした後、必ずDelivery Controllerを再起動してください。
- MCSプロビジョニングを使用して、AD参加済みVDA用のマシンカタログを作成します。詳細については、「マシンカタログの作成」を参照してください。
- デリバリーグループを作成し、VDAを追加します。詳細については、「デリバリーグループの作成」を参照してください。
-
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
-