Citrix Provisioning

インストール前の作業

Citrix Provisioningをインストールして構成する前に、以下のタスクを完了します。

重要:

Citrix Provisioningコンポーネントをインストールする前に、すべてのWindows更新プログラムが最新であることを確認してください。CitrixではすべてのWindows更新プログラムをインストールしてから再起動することをお勧めします。

Microsoft SQLデータベースの選択と構成

各PVSファームには単一のデータベースがあります。次のいずれかでデータベースを提供できます:

  • 既存のSQL ServerまたはSQL Server Expressインスタンス
  • SQL ServerまたはSQL Server Expressを実行している新しいサーバー

ファーム内のすべてのPVSサーバーがデータベースサーバーと通信できる必要があります。

実稼働環境では、負荷分散のパフォーマンス低下を回避するため、データベースとCitrix Provisioningサーバーソフトウェアを異なるサーバーにインストールすることをお勧めします。

PVS構成ウィザードでデータベースを作成できます。または、データベースを作成する権限がない場合は、DbScript.exeユーティリティを使用して、データベース管理者がPVSデータベースを作成するために実行するSQLスクリプトを作成できます。このユーティリティはプロビジョニングソフトウェアとともにインストールされます。

DbScript.exeユーティリティを実行してデータベースを作成または更新

データベースを作成する権限がない場合は、DbScript.exeを使用して、データベース管理者がPVSデータベースを作成または更新するために実行するSQLスクリプトを生成できます。C:\Program Files\Citrix\Provisioning ServicesのWindowsコマンドプロンプトからスクリプトを実行します。

データベースを作成するためのスクリプトを生成するには、次の構文を使用します:

DbScript.exe -new <databaseName> <farmName> <siteName> <collectionName> <farmAdminGroup> <adGroupsEnabled> <scriptName> <is2012orHigher>

データベースを更新するためのスクリプトを生成するには、次のように入力します:

DbScript.exe -upgrade <databaseName> <scriptName>

コマンドは次の引数を使用します:

  • <databaseName> — 作成または更新するデータベースの名前。
  • <farmName> — 新しいデータベースのファーム名。
  • <siteName> — 新しいデータベースのサイト名。
  • <collectionName> — 新しいデータベースのコレクション名
  • <farmAdminGroup> — 完全なパスで指定されたファーム管理者グループ。

    注: 構成ウィザードを実行する場合、PVSサーバーをデータベースに追加するには、このグループ(Active Directoryグループ)のメンバーである必要があります。

  • <adGroupsEnabled> —ブール値として指定されたADグループを有効または無効にします。ここでtrueはADグループを有効にし、falseはADグループを無効にします。
  • <scriptName> — 生成するスクリプトの名前。完全なパスで指定されます。
  • <is2012orHigher> — 新しいデータベースの対象リリース。ブール値で指定されます。trueは2012以降、falseは2008です。

DbScript.exeの例

この例では、db1-2という名前の空のCitrix Provisioningデータベースを作成するスクリプトを生成します。スクリプトはnewDb.sqlという名前で、C:にあります。

C:\Program Files\Citrix\Provisioning Services> DbScript.exe -new db1-2 Farm1 Site1 Collection1 "test.local/Users/Domain Users" true c:\newDb.sql true

この例では、Citrix Provisioningデータベースtest1をアップグレードするスクリプトを生成します。スクリプトはupgrade.sqlという名前で、パスが指定されていないため、スクリプトが実行されたディレクトリ(C:\Program Files\Citrix\Provisioning Services)にあります。

C:\Program Files\Citrix\Provisioning Services>DbScript.exe -upgrade test1 upgrade.sql

データベースのサイズ評価

詳しくは、データベースのサイズ評価を参照してください。

データベースの作成時には、初期サイズとして20MB、拡張サイズとして10MBが設定されます。データベースログの初期サイズは10MBで拡張サイズは10%です。

基本データに必要な容量は112KBで、このサイズは変更されません。基本イメージには以下の項目が含まれます:

  • DatabaseVersionレコード。約32KBが必要です。
  • Farmレコード。約8KBが必要です。
  • DiskCreateレコード。約16KBが必要です。
  • Notifications。約40KBが必要です。
  • ServerMappedレコード。約16KBが必要です。

オブジェクトに基づいて必要な容量は次のようになります。

  • アクセスとグループ
    • システムにアクセス権を持つ各ユーザーグループに約50KBが必要です。
    • 各Siteレコードに約4KBが必要です。
    • 各コレクションに約10KBが必要です。
  • FarmView
    • 各FarmViewに約4KBが必要です。
    • 各FarmView/Deviceリレーションシップに約5KBが必要です。
  • SiteView
    • 各SiteViewに約4KBが必要です。
    • 各SiteView/Deviceリレーションシップに約5KBが必要です。
  • ターゲットデバイス
    • 各ターゲットデバイスに約2KBが必要です。
    • DeviceBootstrapに約10KBが必要です。
    • Device:Diskのリレーションシップに約35KBが必要です。
    • Device:Printerのリレーションシップに約1KBが必要です。
    • DevicePersonalityに約1KBが必要です。
    • デバイスの起動時の各DeviceStatusに約1KBが必要です。
    • DeviceCustomPropertyに約2KBが必要です。
  • ディスク
    • 各一意のディスクに約1KBが必要です。
    • DiskVersionに約3KBが必要です。
    • DiskLocatorに約10KBが必要です。
    • DiskLocatorCustomPropertyに約2KBが必要です。
  • Provisioningサーバー
    • 各サーバーに約5KBが必要です。
    • ServerIPに約2KBが必要です。
    • サーバーの起動時の各ServerStatusに約1KBが必要です。
    • ServerCustomPropertyに約2KBが必要です。
  • ストア
    • 各Storeに約8KBが必要です。
    • 各Store:Serverリレーションシップに約4KBが必要です。
  • ディスク更新
    • VirtualHostingPoolに約4KBが必要です。
    • UpdateTaskに約10KBが必要です。
    • DiskUpdateDeviceに約2KBが必要です。
    • DiskUpdateDevice:Diskリレーションシップに約35KBが必要です。
    • Disk:UpdateTaskのリレーションシップに約1KBが必要です。

変更が発生するにつれて大きくなるレコードは以下のとおりです。

  • 各タスク処理(例:仮想ディスクバージョンのマージ)に約2KBが必要です。
  • 監査機能が有効な場合、Citrix Provisioningコンソール、MCLI、またはPowerShellインターフェイスで管理者が加える変更ごとに、約1KBが必要です。

データベースのミラーリング

Citrix ProvisioningでMicrosoft SQL Serverのデータベースミラーリングをサポートするには、データベースを 監視付きの高い安全性モード(同期) で構成する必要があります。

データベースミラーリング機能を使用する場合は、サーバーにSQL Native Clientが必要です。SQL Native Clientが存在しない場合は、SQLのインストール時にSQLネイティブクライアントx64またはx86のインストールオプションが表示されます。

必ずSQLネイティブクライアントをTLS 1.2をサポートするバージョンに更新してください。詳細については、KB3135244 - Microsoft SQL ServerのTLS 1.2サポートの「Client component downloads(クライアントコンポーネントのダウンロード)」を参照してください。

データベースのミラーリングの構成および使用方法について詳しくは、「データベースのミラーリング」を参照してください。

データベースのクラスター化

データベースのクラスター化を実装するには、Microsoft社の手順に従い、さらにCitrix Provisioning構成ウィザードを実行します。クラスター化したサーバーはウィザードにより単一のSQL Serverとして認識されるため、これ以上の手順は不要です。

認証の構成

Citrix Provisioningでは、データベースへのアクセスにWindows認証が使用されます。構成ウィザードの実行時を除き、Microsoft SQL Server認証はサポートされません。

構成ウィザードのユーザーアクセス許可

構成ウィザードを実行するユーザーには、Microsoft SQL Serverの次のアクセス許可が必要です。

  • dbcreator:データベースの作成に必要です。
  • securityadmin:Stream ServiceとSOAP ServerのSQLログインの作成に必要です。

テスト環境でMicrosoft SQL Expressを使用する場合は、構成ウィザードを実行するユーザーにsysadmin特権(データベースの最高レベル)を与えることを選択できます。

データベース管理者がDbScript.exeユーティリティを実行して空のデータベースを作成した場合は、構成ウィザードを実行するユーザーはそのデータベースの所有者であり、VIEW ANY DEFINITION権限を持っている必要があります。この権限は、データベース管理者が空のデータベースを作成するときに設定します。

サービスアカウントの権限

Stream ServiceとSOAP Serverのユーザーコンテキストには次のデータベースアクセス許可が必要です。

  • db\_datareader
  • db\_datawriter
  • ストアドプロシージャの実行権限

構成ウィザードでは、Stream ServiceとSOAP ServerのユーザーアカウントにDatareaderおよびDatawriterのデータベース役割が自動的に構成されます。ユーザーがsecurity adminアクセス許可を持っている場合は、構成ウィザードによりこれらのアクセス許可が割り当てられます。さらに、サービスユーザーには次のシステム特権が必要です。

  • サービスとして実行する
  • レジストリの読み取りアクセス
  • Program Files\Citrix\Citrix Provisioningへのアクセス
  • すべての仮想ディスクの場所への読み取りおよび書き込みアクセス

Stream ProcessおよびSOAP Serverを実行するアカウントを、以下のアカウントから選択します。

  • Network Serviceアカウント

    最小限の特権を持つローカルアカウントで、ドメインコンピューターアカウントとしてネットワーク上で認証を受けるアカウントです。

  • 指定ユーザーアカウント(Windows共有を使用する場合に必要)で、ワークグループまたはドメインのユーザーアカウントにできます。

Citrix Provisioningでキーマネージメントサーバーライセンスをサポートするには、SOAP ServerのユーザーアカウントがローカルのAdministratorsグループのメンバーである必要があります。

ヒント:

ワークグループ環境では認証はあまり使用されないため、最小限の特権を持つユーザーアカウントを各サーバーに作成し、各インスタンスで資格情報を同一にする必要があります。

このファームで使用する適切なセキュリティオプションを決定します。ファームごとに選択できるオプションは1つのみであり、ここで選択したオプションは役割に基づく管理機能に反映されます。セキュリティのオプションには以下があります:

  • セキュリティ保護にActive Directoryグループを使用する(デフォルト):Active Directoryが動作するWindowsドメインにインストールする場合はこのオプションをクリックします。このオプションでは、Citrix Provisioningの管理役割の割り当てにActive Directoryを利用できます。

    注:

    Windows 2,000のドメインはサポートされません。

  • セキュリティ保護にWindowsグループを使用する。単一のサーバーまたはワークグループにインストールする場合はこのオプションをクリックします。このオプションでは、Citrix Provisioningの管理役割の割り当てに特定サーバー上のローカルユーザーまたはグループを利用できます。

コンソールユーザーは直接データベースにアクセスしません。

その他のプロビジョニング機能に必要な最小限の権限は、次のとおりです:

  • Citrix Virtual Apps and Desktopsセットアップウィザード、ストリーム配信仮想マシンセットアップウィザード、およびImageUpdateサービス
    • vCenter、SCVMM、およびCitrix Hypervisorの最小限の権限
    • 既存のCitrix Virtual Apps and Desktops Controllerの現在のユーザーの権限
    • Citrix ProvisioningコンソールのユーザーアカウントがCitrix Virtual Apps and Desktops管理者として構成されていて、Provisioning SiteAdminまたはそれより上位のグループに追加されている
    • コンソールでアカウントを作成するActive Directory作成アカウント権限。既存のアカウントを使用するには、選択する既知の組織単位にActive Directoryアカウントが存在している必要があります。
    • Citrix Virtual Apps and DesktopでPersonal vDiskを使用している場合、SOAP Serverユーザーアカウントには、Citrix Virtual Apps and Desktopsの完全な管理者権限が必要です。
  • ADアカウント同期:作成、リセット、および削除のアクセス許可
  • 仮想ディスク:ボリュームの保守タスクを実行する特権

SQL Serverでのリモート接続の有効化

このセクションを参考に、SQL Serverへのリモート接続を確立します。

  1. SQL Management Studioを使用してSQL Serverにログインします。
  2. オブジェクトエクスプローラーウィンドウで、SQL Serverを右クリックし、[プロパティ] を選択します。

    MS SQL Serverオブジェクトエクスプローラー

  3. オブジェクトエクスプローラーウィンドウで、[接続] ノードを選択します。[リモートサーバー接続] で、[このサーバーへのリモート接続を許可する] チェックボックスをオンまたはオフにします。

MS SQL Serverの接続

リモートサーバー接続を更新した後、次の手順を実行します:

  1. [スタート] メニューで 、[スタート]>[Microsoft SQL Server_バージョン_]>[SQL Server_バージョン_Configuration Manager] の順にクリックします。[SQL Server Configuration Manager] ウィンドウが表示されます。
  2. [SQL Serverネットワーク構成] オプションを展開します。[(サーバー名)のプロトコル] を選択します。[TCP/IP] を選択して右クリックします。コンテキストメニューで、[有効化] を選択します。[OK] をクリックしてサービスを再起動します。

MS SQL Server TCP/IP

サービスを再起動した後、開始モードを変更します。[SQL Server Configuration Manager] ウィンドウで、次の手順を実行します:

  1. [SQL Serverのサービス] を選択します。右側のウィンドウで、[SQL Server Browser] オプションを右クリックしてコンテキストメニューを表示します。
  2. [プロパティ] を選択します。
  3. [サービス] タブで、[開始モード][自動] に変更します。
  4. [OK] をクリックします。

MS SQL Server Browserのプロパティ

  1. [SQL Server Browser] を選択して右クリックし、コンテキストメニューを表示します。[開始] をクリックします。
  2. [SQL Server(インスタンス名)] を選択して右クリックし、コンテキストメニューを表示します。[再起動] をクリックします。

WindowsファイアウォールでのSQL Serverの例外の作成

このセクションを参考に、Windowsファイアウォールを使用する環境でSQL Serverの例外を作成します。

  1. コントロールパネルを開き、[システムとセキュリティ] を選択します。
  2. [Windows Defenderファイアウォール] を選択します。

    MS SQL Server Windows Defenderファイアウォール

  3. [Windows Defenderファイアウォールを介したアプリまたは機能を許可] をクリックします。Windowsファイアウォールをオンにします。

    MS SQL ServerでWindows Defenderファイアウォールを有効にします

  4. [アプリにWindows Defenderファイアウォール経由の通信を許可する] ウィンドウで、[別のアプリの許可…] をクリックします。

    MS SQL Serverはファイアウォールアプリを許可します

  5. [アプリの追加] 画面で、[参照] をクリックします。
  6. SQLサービスsqlserver.exeを選択し、[開く] をクリックします。sqlserver.exe へのデフォルトのパスは次のとおりです:

    • SQL 2019 – C:\Program Files\Microsoft SQL Server\MSSQL15.<SQL Instance Name>\MSSQL\Binn
    • SQL 2017 – C:\Program Files\Microsoft SQL Server\MSSQL14.<SQL Instance Name>\MSSQL\Binn
  7. [追加] をクリックします。

MS SQL Serverはファイアウォールアプリを許可します

  1. 手順4〜7を繰り返して、次のアプリを許可します:C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.
  2. [OK] をクリックします。

Kerberosセキュリティ

Active Directory環境でSOAP Serviceと通信するとき、Citrix Provisioningコンソール、イメージ作成ウィザード、PowerShellスナップイン、およびMCLIでは、デフォルトでKerberos認証が使用されます。Kerberosアーキテクチャの一部として、サービスはドメインコントローラー(Kerberosキー配布センター)に登録される、つまりSPN(Service Principal Name:サービスプリンシパル名)が作成されます。この登録処理により、SOAP Serviceを実行するアカウントをActive Directoryで識別できるようになるため、この処理は不可欠です。登録処理を実行しないとKerberos認証に失敗し、Citrix ProvisioningはNTLM認証にフォールバックします。

Citrix ProvisioningのSOAP Serviceは、サービスを開始するたびに登録され、サービスを停止するたびに登録が解除されます。ただし、SOAP Serverのユーザーアカウントに権限がない場合、登録に失敗します。デフォルトでは、Network Serviceアカウントとドメイン管理者にはアクセス許可がありますが、通常のドメインユーザーアカウントにはありません。

この権限の問題の発生を防ぐには、次のいずれかを実行します。

  • アクセス許可を持つ別のアカウントを使用してSPNを作成します。

  • サービスを実行するアカウントに権限を割り当てます。

||| |アカウントの種類|権限| |—|—| |コンピューターアカウント|サービスプリンシパル名への検証された書き込み| |ユーザーアカウント|パブリックインフォメーションの書き込み|

インストール前の作業