VDA登録
はじめに
注:
オンプレミス環境では、VDAはDelivery Controllerに登録します。Citrix Cloudサービス環境では、VDAはCloud Connectorに登録します。ハイブリッド環境では、一部のVDAはDelivery Controllerに登録し、他のVDAはCloud Connectorに登録します。
VDAを使用する前に、サイト上の1つ以上のControllerまたはCloud Connectorに登録(通信を確立)する必要があります。VDAは、ListofDDCsと呼ばれるリストを確認してControllerまたはConnectorを見つけます。VDA上のListOfDDCsには、そのVDAをサイト上のControllerまたはCloud ConnectorにポイントするDNSエントリが含まれています。ロードバランシングのために、VDAはリスト内のすべてのControllerまたはCloud Connectorに接続を自動的に分散します。
VDA登録がなぜそれほど重要なのでしょうか?
- セキュリティの観点から見ると、登録は機密性の高い操作です。ControllerまたはCloud ConnectorとVDA間の接続を確立します。このような機密性の高い操作では、すべてが完璧な状態でない場合、接続を拒否することが期待される動作です。VDAからControllerまたはCloud Connectorへ、およびControllerまたはCloud ConnectorからVDAへの2つの別々の通信チャネルを効果的に確立しています。接続にはKerberosが使用されるため、時刻同期やドメインメンバーシップの問題は容赦されません。Kerberosはサービスプリンシパル名(SPN)を使用するため、ロードバランスされたIP\ホスト名は使用できません。
- Controller(またはCloud Connector)を追加および削除する際に、VDAに正確で最新のControllerまたはCloud Connector情報がない場合、VDAはリストにないControllerまたはCloud Connectorによって仲介されるセッション起動を拒否する可能性があります。無効なエントリは、仮想デスクトップシステムソフトウェアの起動を遅らせる可能性があります。VDAは、不明で信頼できないControllerまたはCloud Connectorからの接続を受け入れません。
ListofDDCsに加えて、ListOfSIDs(セキュリティID)は、ListofDDCs内のどのマシンが信頼されているかを示します。ListofSIDsは、Active Directoryへの負荷を軽減したり、侵害されたDNSサーバーからの潜在的なセキュリティ脅威を回避したりするために使用できます。詳細については、ListOfSIDsを参照してください。
ListofDDCsが複数のControllerまたはCloud Connectorを指定している場合、VDAはランダムな順序でそれらに接続を試みます。オンプレミス展開では、ListofDDCsにControllerグループを含めることもできます。VDAは、ListofDDCs内の他のエントリに移動する前に、グループ内の各Controllerに接続を試みます。
Citrix Virtual Apps and Desktops™は、VDAのインストール中に、構成されたControllerまたはCloud Connectorへの接続を自動的にテストします。ControllerまたはCloud Connectorに到達できない場合はエラーが表示されます。ControllerまたはCloud Connectorに連絡できないという警告を無視した場合(またはVDAのインストール中にControllerまたはCloud Connectorのアドレスを指定しなかった場合)、メッセージで通知されます。
コントローラーまたはクラウドコネクタのアドレスを構成する方法
管理者は、VDAが初めて登録する際(初回登録)に使用する構成方法を選択します。初回登録中に、VDA上に永続キャッシュが作成されます。その後の登録では、構成の変更が検出されない限り、VDAはこのローカルキャッシュからControllerまたはCloud Connectorのリストを取得します。
その後の登録中にそのリストを取得する最も簡単な方法は、自動更新機能を使用することです。自動更新はデフォルトで有効になっています。詳細については、「自動更新」を参照してください。
VDA上でControllerまたはCloud Connectorアドレスを構成する方法はいくつかあります。
- ポリシーベース (LGPO または GPO)
- レジストリベース (手動、グループポリシー設定 (GPP)、VDAインストール時に指定)
- アクティブディレクトリの組織単位ベース (レガシー組織単位検出)
- マシン作成サービスベース (personality.ini)
VDAをインストールする際に、初期登録方法を指定します。(自動更新を無効にすると、VDAインストール時に選択した方法が以降の登録に使用されます。)
次の図は、VDAインストールウィザードのDelivery Controllerページを示しています。
VDAインストールウィザードのデリバリーコントローラーページ(/ja-jp/citrix-virtual-apps-desktops/2203-ltsr/media/vda-install-controllers-all.png)
ポリシーベース (LGPO\GPO)
Citrix®は、初期VDA登録にGPOを使用することを推奨しています。これは最も高い優先順位を持ちます。(自動更新が最も高い優先順位としてリストされていますが、自動更新は初期登録後にのみ使用されます。) ポリシーベースの登録は、構成にグループポリシーを使用することによる一元化の利点を提供します。
この方法を指定するには、次の両方の手順を完了します。
- VDAインストールウィザードのDelivery Controllerページで、後で実行 (詳細設定) を選択します。ウィザードは、VDAインストール中にコントローラーアドレスを指定しない場合でも、コントローラーアドレスを指定するよう何度も通知します。(VDA登録はそれほど重要です。)
- Citrixポリシーを使用して、
Virtual Delivery Agent Settings > Controllers設定でポリシーベースのVDA登録を有効または無効にします。(セキュリティが最優先事項である場合は、Virtual Delivery Agent Settings > Controller SIDs設定を使用してください。)
この設定はHKLM\Software\Policies\Citrix\VirtualDesktopAgent (ListOfDDCs)の下に保存されます。
レジストリベース
この方法を指定するには、次のいずれかの手順を完了します。
- VDAインストールウィザードのDelivery Controllerページで、手動で実行を選択します。次に、インストールされているControllerのFQDNを入力し、追加をクリックします。複数のControllerをインストールしている場合は、それらのアドレスを追加します。
- コマンドラインVDAインストールの場合、/controllersオプションを使用して、インストールされているControllerまたはCloud ConnectorのFQDNを指定します。
この情報は、レジストリキーHKLM\Software\Citrix\VirtualDesktopAgentまたはHKLM\Software\Wow6432Node\Citrix\VirtualDesktopAgentの下のレジストリ値ListOfDDCsに保存されます。
このレジストリキーは手動で構成することも、グループポリシー設定(GPP)を使用することもできます。この方法は、ポリシーベースの方法よりも推奨される場合があります(たとえば、異なるControllerまたはCloud Connectorの条件付き処理が必要な場合、XDW-001-で始まるコンピューター名にはXDC-001を使用するなど)。
サイト内のすべてのControllerまたはCloud ConnectorのFQDNをリストするListOfDDCsレジストリキーを更新します。(このキーはActive DirectoryサイトOUに相当します。)
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent\ListOfDDCs (REG_SZ)
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgentレジストリの場所にListOfDDCsとFarmGUIDの両方のキーが含まれている場合、ControllerまたはCloud Connectorの検出にはListOfDDCsが使用されます。VDAインストール中にサイトOUが指定された場合、FarmGUIDが存在します。(これはレガシー展開で使用される場合があります。)
必要に応じて、ListOfSIDsレジストリキーを更新します(詳細については、ListOfSIDsを参照してください)。
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent\ListOfSIDs (REG_SZ)
注意:Citrixポリシーを通じてポリシーベースのVDA登録も有効にすると、VDAインストール時に指定した設定は上書きされます。これは、ポリシーベースの方法がより優先度の高い方法であるためです。
アクティブディレクトリ OUベース(レガシー)
この方法は主に下位互換性のためにサポートされており、推奨されません。まだ使用している場合は、Citrixは別の方法に変更することを推奨します。
この方法を指定するには、次の両方の手順を完了します。
- VDAインストールウィザードのDelivery Controllerページで、Active Directoryから場所を選択を選択します。
-
Set-ADControllerDiscovery.ps1スクリプト(すべてのControllerで利用可能)を使用します。また、各VDAでFarmGuidレジストリエントリを構成して、適切なOUを指すようにします。この設定はグループポリシーを使用して構成できます。
詳細については、「Active Directory OUベースの検出」を参照してください。
MCSベース
MCSを使用してVMをプロビジョニングする場合、MCSはControllerまたはCloud Connectorのリストを設定します。この機能は自動更新で動作します。カタログの作成時に、MCSは初期プロビジョニング中にControllerまたはCloud ConnectorのリストをPersonality.iniファイルに挿入します。自動更新により、リストは常に最新の状態に保たれます。
この方法を指定するには、VDAインストールウィザードのDelivery Controllerページで、Machine Creation Services™に任せるを選択します。
レビューと推奨事項
ベストプラクティスとして:
- 初期登録にはグループポリシー登録方法を使用します。
- Controllerのリストを最新の状態に保つには、自動更新(デフォルトで有効)を使用します。
- マルチゾーン展開では、初期構成にグループポリシーを使用します(少なくとも2つのControllerまたはCloud Connectorを使用)。VDAを、そのゾーン内のローカルなControllerまたはCloud Connectorにポイントします。自動更新を使用して、それらを最新の状態に保ちます。自動更新は、サテライトゾーンのVDAの
ListofDDCsを自動的に最適化します。 -
Controllerが利用できない場合の登録の問題を防ぐため、
ListOfDDCsレジストリキーに複数のControllerをスペースまたはコンマで区切ってリストします。例:DDC7x.xd.local DDC7xHA.xd.local 32-bit: HKEY_LOCAL_MACHINE \Software\Citrix\VirtualDesktopAgent\ListOfDDCs HKEY_LOCAL_MACHINE \Software\Citrix\VirtualDesktopAgent\ListOfDDCs (REG_SZ) <!--NeedCopy--> - 起動時の登録遅延を防ぐため、
ListofDDCsの下にリストされているすべての値が有効な完全修飾ドメイン名にマッピングされていることを確認してください。
自動更新
自動更新(XenAppおよびXenDesktop 7.6で導入)はデフォルトで有効になっています。これは、VDA登録を最新の状態に保つための最も効率的な方法です。初期登録には使用されませんが、自動更新ソフトウェアは、初期登録時にListofDDCsをダウンロードし、VDA上の永続キャッシュに保存します。このプロセスは各VDAに対して行われます。キャッシュにはマシンポリシー情報も保持され、ポリシー設定が再起動後も保持されるようにします。
自動更新は、MCSまたはCitrix Provisioning™を使用してマシンをプロビジョニングする場合にサポートされますが、Citrix Provisioningサーバー側キャッシュは例外です。サーバー側キャッシュは、自動更新キャッシュ用の永続ストレージがないため、一般的なシナリオではありません。
この方法を指定するには:
- Citrixポリシーを介して自動更新を有効または無効にします。このポリシーには設定
Virtual Delivery Agent Settings > Enable auto update of Controllersが含まれています。この設定はデフォルトで有効になっています。
仕組み:
- VDAが再登録されるたび(たとえば、マシンの再起動後)、キャッシュが更新されます。各ControllerまたはCloud Connectorも90分ごとにサイトデータベースをチェックします。前回のチェック以降にControllerまたはCloud Connectorが追加または削除された場合、あるいはVDA登録に影響するポリシー変更が発生した場合、ControllerまたはCloud Connectorは登録済みのVDAに更新されたリストを送信し、キャッシュが更新されます。VDAは、最新のキャッシュされたリストにあるすべてのControllerまたはCloud Connectorからの接続を受け入れます。
- VDAが、自身が登録されているControllerまたはCloud Connectorが含まれていないリストを受け取った場合(つまり、そのControllerまたはCloud Connectorがサイトから削除された場合)、VDAは
ListofDDCsにあるControllerまたはCloud Connectorの中から選択して再登録します。
例:
- 展開には3つのController(A、B、C)があります。VDAはController Bに登録されます(これはVDAのインストール時に指定されました)。
- その後、2つのController(DとE)がサイトに追加されます。90分以内に、VDAは更新されたリストを受け取り、Controller A、B、C、D、Eからの接続を受け入れます。(VDAが再起動されるまで、負荷はすべてのControllerに均等に分散されません。)
- さらにその後、Controller Bが別のサイトに移動されます。90分以内に、元のサイトのVDAは、前回のチェック以降にControllerの変更があったため、更新されたリストを受け取ります。元々Controller Bに登録されていたVDA(リストにはもうありません)は、現在のリスト(A、C、D、E)にあるControllerの中から選択して再登録します。
マルチゾーン展開では、サテライトゾーンでの自動更新は、まずすべてのローカルControllerを自動的にキャッシュします。プライマリゾーンのすべてのControllerはバックアップグループにキャッシュされます。サテライトゾーンにローカルControllerが利用できない場合、プライマリゾーンのControllerとの登録が試行されます。
次の例に示すように、キャッシュファイルにはホスト名とセキュリティIDのリスト(ListofSIDs)が含まれています。VDAはSIDを照会しないため、Active Directoryの負荷が軽減されます。

WMI呼び出しでキャッシュファイルを取得できます。ただし、SYSTEMアカウントのみが読み取り可能な場所に保存されています。
重要:
この情報は情報提供のみを目的としています。このファイルを変更しないでください。このファイルまたはフォルダーへの変更は、サポートされていない構成になります。
Get-WmiObject -Namespace “Root\Citrix\DesktopInformation” -Class “Citrix_VirtualDesktopInfo” -Property “PersistentDataLocation”
セキュリティ上の理由からListofSIDsを手動で構成する必要がある場合(Active Directoryの負荷を軽減する場合とは異なります)、自動更新機能は使用できません。詳細については、ListOfSIDsを参照してください。
自動更新の優先順位の例外
通常、自動更新はすべてのVDA登録方法の中で最も高い優先順位を持ち、他の方法の設定を上書きしますが、例外があります。キャッシュ内のNonAutoListOfDDCs要素は、最初のVDA構成方法を指定します。自動更新はこの情報を監視します。最初の登録方法が変更された場合、登録プロセスは自動更新をスキップし、次に高い優先順位で構成された方法を使用します。このプロセスは、VDAを別のサイトに移動する際(たとえば、ディザスターリカバリー中)に役立ちます。
構成に関する考慮事項
一般的なVDA登録構成を表示します。
VDA登録手順を表示します。
VDA登録に影響を与える可能性のある項目を構成する際は、以下を考慮してください。
コントローラーまたはCloud Connectorのアドレス
コントローラーまたはCloud Connectorを指定するためにどの方法を使用するかにかかわらず、CitrixはFQDNアドレスを使用することを推奨します。IPアドレスは信頼できる構成とは見なされません。DNSレコードよりもIPを侵害する方が簡単だからです。ListofSIDsを手動で入力する場合、ListofDDCsでIPを使用できます。ただし、FQDNが引き続き推奨されます。
ロードバランシング
前述のとおり、VDAはListofDDCs内のすべてのコントローラーまたはCloud Connectorに接続を自動的に分散します。フェールオーバーとロードバランシング機能はCitrix Brokering Protocol (CBP) に組み込まれています。構成で複数のコントローラーまたはCloud Connectorを指定した場合、必要に応じて登録はそれらの間で自動的にフェールオーバーします。自動更新では、すべてのVDAで自動フェールオーバーが自動的に発生します。
セキュリティ上の理由から、Citrix ADCなどのネットワークロードバランサーを使用することはできません。VDA登録はKerberos相互認証を使用します。この認証では、クライアント (VDA) はサービス (コントローラー) に自身のIDを証明する必要があります。しかし、コントローラーまたはCloud ConnectorもVDAに自身のIDを証明する必要があります。これは、VDAとコントローラーまたはCloud Connectorが同時にサーバーとクライアントとして機能していることを意味します。この記事の冒頭で述べたように、VDAからコントローラー/Cloud Connectorへ、およびコントローラー/Cloud ConnectorからVDAへの2つの通信チャネルがあります。
このプロセスにおけるコンポーネントの1つは、Active Directoryコンピューターオブジェクトのプロパティとして保存されるサービスプリンシパル名 (SPN) と呼ばれます。VDAがコントローラーまたはCloud Connectorに接続する際、通信したい相手を指定する必要があります。このアドレスはSPNです。ロードバランスされたIPを使用すると、Kerberos相互認証は、そのIPが予期されたコントローラーまたはCloud Connectorに属していないことを正しく認識します。
詳細については、以下を参照してください。
自動更新によるCNAMEの置き換え
自動更新機能は、XenAppおよびXenDesktop 7.xより前のバージョンにおけるCNAME(DNSエイリアス)機能を置き換えます。CNAME機能は、XenAppおよびXenDesktop 7以降では無効になっています。CNAMEの代わりに自動更新を使用してください。(CNAMEを使用する必要がある場合は、CTX137960を参照してください。DNSエイリアスを常に機能させるには、自動更新とCNAMEを同時に使用しないでください。)
コントローラー/クラウドコネクタ グループ
特定のシナリオでは、ControllerまたはCloud Connectorをグループで処理したい場合があります。その際、一方のグループを優先し、すべてのController/Cloud Connectorが失敗した場合に備えてもう一方のグループをフェイルオーバーに使用します。ControllerまたはCloud Connectorはリストからランダムに選択されるため、グループ化することで優先的な使用を強制するのに役立ちます。
これらのグループは、単一のサイト内での使用を目的としています(複数のサイトではありません)。
Controller/Cloud Connectorのグループを指定するには、かっこを使用します。たとえば、4つのController(プライマリ2つとバックアップ2つ)がある場合、グループ化は次のようになります。
(XDC-001.cdz.lan XDC-002.cdz.lan) (XDC-003.cdz.lan XDC-004.cdz.lan)
この例では、最初のグループ(001と002)のControllerが最初に処理されます。両方が失敗した場合、2番目のグループ(003と004)のControllerが処理されます。
XenDesktop 7.0以降の場合、登録グループ機能を使用するには、追加の手順を実行する必要があります。Citrix StudioからControllerの自動更新を有効にするポリシーを禁止する必要があります。
SIDのリスト
VDAが登録のために連絡できるControllerのリストはListofDDCsです。VDAはどのControllerを信頼すべきかも知っておく必要があります。VDAはListofDDCs内のControllerを自動的に信頼しません。ListofSIDs(セキュリティID)は、信頼されたControllerを識別します。VDAは信頼されたControllerとのみ登録を試みます。
ほとんどの環境では、ListofSIDsはListofDDCsから自動的に生成されます。ListofSIDsを読み取るには、CDFトレースを使用できます。
通常、ListofSIDs を手動で変更する必要はありません。いくつかの例外があります。最初の2つの例外は、新しいテクノロジーが利用可能になったため、もはや有効ではありません。
-
Controller の役割の分離: XenAppおよびXenDesktop 7.7でゾーンが導入される前は、Controller の一部のみが登録に使用される場合、
ListofSIDsは手動で構成されていました。たとえば、XDC-001とXDC-002をXMLブローカーとして使用し、XDC-003とXDC-004をVDA登録に使用する場合、すべてのControllerをListofSIDsに指定し、XDC-003とXDC-004をListofDDCsに指定しました。これは一般的な構成でも推奨される構成でもありません。新しい環境では使用しないでください。代わりにゾーンを使用してください。 -
Active Directory の負荷軽減: XenAppおよびXenDesktop 7.6で自動更新機能が導入される前は、
ListofSIDsはドメインコントローラーの負荷を軽減するために使用されていました。ListofSIDsを事前に設定することで、DNS名からSIDへの解決をスキップできます。しかし、この永続キャッシュにはSIDが含まれているため、自動更新機能はこの作業の必要性をなくします。Citrixは自動更新機能を有効にしておくことを推奨します。 - セキュリティ: 一部の高度に保護された環境では、侵害されたDNSサーバーからの潜在的なセキュリティ脅威を回避するために、信頼されたControllerのSIDが手動で構成されていました。ただし、これを行う場合は、自動更新機能も無効にする必要があります。そうしないと、永続キャッシュからの構成が使用されます。
したがって、特別な理由がない限り、ListofSIDs を変更しないでください。
ListofSIDs を変更する必要がある場合は、HKLM\Software\Citrix\VirtualDesktopAgent の下に ListOfSIDs (REG_SZ) という名前のレジストリキーを作成します。値は信頼されたSIDのリストで、複数ある場合はスペースで区切ります。
次の例では、1つのControllerがVDA登録に使用され (ListofDDCs)、2つのControllerがブローカー処理に使用されます (List OfSIDs)。
登録とブローカー処理に使用される異なるControllerの例を示す画像 (/ja-jp/citrix-virtual-apps-desktops/2203-ltsr/media/vda-registration-listofsids.png)
VDA登録中のコントローラー検索
VDAが登録を試みるとき、Broker AgentはまずローカルドメインでDNSルックアップを実行し、指定されたControllerに到達できることを確認します。
最初のルックアップでControllerが見つからない場合、Broker AgentはADでフォールバックのトップダウンクエリを開始できます。このクエリはすべてのドメインを検索し、頻繁に繰り返されます。Controllerアドレスが無効な場合(たとえば、管理者がVDAのインストール時に誤ったFQDNを入力した場合)、そのクエリのアクティビティがドメインコントローラー上で分散型サービス拒否(DDoS)状態を引き起こす可能性があります。
以下のレジストリキーは、Broker Agentが最初の検索中にControllerを見つけられない場合に、フォールバックのトップダウンクエリを使用するかどうかを制御します。
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent
- 名前:
DisableDdcWildcardNameLookup - 種類:
DWORD - 値:
0(デフォルト) またはゼロ以外の値
0に設定すると、フォールバック検索が有効になります。Controllerの初期検索が失敗した場合、フォールバックのトップダウン検索が開始されます。これはデフォルトの動作です。ただし、ゼロ以外の値に設定すると、フォールバック検索は無効になります。Controllerの初期検索が失敗した場合、Broker Agentは検索を停止します。
VDA登録の問題のトラブルシューティング
前述のとおり、仲介セッションを起動する際に考慮されるためには、VDAはDelivery ControllerまたはCloud Connectorに登録されている必要があります。未登録のVDAは、利用可能なリソースの活用不足につながる可能性があります。VDAが登録されない理由はさまざまあり、その多くは管理者がトラブルシューティングできます。Studioは、カタログ作成ウィザードおよびデリバリーグループ作成後にトラブルシューティング情報を提供します。
-
マシンカタログ作成中の問題の特定: カタログ作成ウィザードで既存のマシンを追加した後、コンピューターアカウント名のリストは、各マシンがカタログに追加するのに適しているかどうかを示します。各マシンの横にあるアイコンにカーソルを合わせると、そのマシンに関する情報メッセージが表示されます。
メッセージが問題のあるマシンを特定した場合、そのマシンを削除する(削除ボタンを使用)か、マシンを追加することができます。たとえば、マシンに関する情報が取得されなかった(おそらく一度も登録されていなかったため)ことを示すメッセージが表示された場合でも、そのマシンを追加することを選択できます。
カタログの機能レベルは、カタログ内のマシンで利用できる製品機能を制御します。新しい製品バージョンで導入された機能を使用するには、新しいVDAが必要になる場合があります。機能レベルを設定すると、そのバージョンで導入されたすべての機能(および機能レベルが変更されない場合はそれ以降のバージョン)がカタログ内のマシンで利用可能になります。ただし、以前のVDAバージョンを持つカタログ内のマシンは登録できません。
-
デリバリーグループ作成後の問題の特定: デリバリーグループを作成すると、Studioはそのグループに関連付けられているマシンの詳細を表示します。
デリバリーグループの詳細ペインには、登録されるべきだが登録されていないマシンの数が表示されます。言い換えれば、電源が入っていてメンテナンスモードではないが、現在Controllerに登録されていないマシンが1台以上存在する可能性があります。「未登録だが登録されるべき」マシンを表示する際は、詳細ペインのトラブルシューティングタブで考えられる原因と推奨される是正措置を確認してください。
VDA登録のトラブルシューティングに関する詳細情報
-
機能レベルの詳細については、「VDAバージョンと機能レベル」を参照してください。
-
VDA登録のトラブルシューティングの詳細については、「CTX136668」を参照してください。
-
Citrix Scoutのヘルスチェックを使用して、VDA登録とセッション起動のトラブルシューティングを行うこともできます。詳細については、「ヘルスチェックについて」を参照してください。