VDAとデリバリーコントローラー™間のウェブソケット通信

この記事では、WCF通信の代替として、VDAとDelivery Controller間の通信にWebSocket接続を設定する方法について説明します。これにより、VDAからDelivery Controllerへの通信にTLSポート443のみを使用できるという利点があります。

現在、これはエムシーエスによってプロビジョニングされたマシンでのみ利用できます。手動でプロビジョニングされたマシンはテクニカルプレビュー段階にあります。詳細については、[Enroll non-MCS provisioned VDAs using tokens (Preview)]/ja-jp/citrix-virtual-apps-desktops/2407/install-configure/machine-catalogs-manage#enroll-non-mcs-provisioned-vdas-using-tokens-preview)を参照してください。

仕組み

以下のセクションでは、Delivery ControllerとVDA間のWebSocket接続のワークフローについて説明します。

  1. シトリックス バーチャル アプリケーションズ アンド デスクトップス™ の管理者は、Machine Creation Service (MCS) を使用してVDAをプロビジョニングすることでプロセスを開始します。
  2. MCSプロビジョニングプロセス中に、MCSは各VDAの公開鍵と秘密鍵のペアを生成し、公開鍵をDelivery Controller上のFMAトラストサービスに登録します。MCSは、公開鍵と秘密鍵のペアをVDAのIDディスク下のファイルとして保存します。
  3. VDAマシンが起動すると、VDAマシンにインストールされているMCSエージェントは、IDディスクからキーペアを読み取り、この情報をVDAレジストリの場所に書き込みます。
  4. VDAにインストールされているブローカーエージェントは、レジストリからキーペアを読み取り、秘密鍵で署名されたサービスキーを使用して、SSL対応のWebSocketリクエストをDelivery Controllerに生成します。
  5. Delivery Controllerは、FMAトラストサービスからの公開鍵を使用して、署名されたサービスキー認証ヘッダーを検証します。
  6. 検証が完了すると、システムはVDAとDelivery Controller間のWebSocket接続を確立します。

ウェブソケットのサポート

はじめる前に

  1. サイトを構成します。詳細については、「サイトの作成」を参照してください。
  2. Delivery ControllerにTLS証明書をインストールします。詳細については、「ControllerにTLSサーバー証明書をインストールする」を参照してください。
  3. VDAにルートCAと中間CAをインストールして、Delivery Controllerを信頼します。

手順について

WebSocket接続を設定するには、以下の手順に従ってください。

  1. Delivery ControllerでWebSocket接続を有効にします。サイトにある各Delivery Controllerで次のコマンドを実行します。

    New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force

    注:

    WebSocketを有効にした後、必ずDelivery Controllerを再起動してください。

  2. MCSプロビジョニングを使用して、AD参加済みVDA用のマシンカタログを作成します。詳細については、「マシンカタログの作成」を参照してください。
  3. デリバリーグループを作成し、VDAを追加します。詳細については、「デリバリーグループの作成」を参照してください。
  4. 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

VDAとデリバリーコントローラー™間のウェブソケット通信