Citrix Provisioning

Citrix StudioでのCitrix Provisioningカタログの作成

現在Citrixは、仮想マシンを作成するための2つのプロビジョニングソリューションとして、Citrix ProvisioningとMachine Creation Services(MCS)を提供しています。

Citrix Provisioningカタログを作成するには、Citrix Virtual Apps and Desktopsインストールウィザードを使用する必要がありました。 この機能により、Citrix Studio(完全構成インターフェイス(Citrix DaaS用)およびWeb Studio(オンプレミスのCitrix Virtual Apps and Desktops展開用))およびPowerShellを使用してCitrix Provisioningカタログを作成できるようになりました。

この機能の導入には、次のような利点があります:

  • MCSとCitrix Provisioningカタログの両方を管理できる単一の統合コンソール。
  • ID管理ソリューション、オンデマンドプロビジョニングなどのCitrix Provisioningカタログの新機能を利用できる。

現在、この機能はAzureおよびVMwareで使用できます。

この記事では、Citrix StudioユーザーインターフェイスとPowerShellコマンドを使用して、Azure Citrix Provisioningカタログを作成する方法について説明します。

注意事項

  • イメージ管理は、既存のCitrix Provisioningコンソールを使用して行われます。
  • Boot Device Manager(BDM)のみがサポートされています。
  • Citrix ProvisioningターゲットVMをプロビジョニングするときに、ターゲットVMのサイトを選択します。 このサイトが登録されていることを確認してください。

制限事項

次のAzureの制限を考慮してください:

  • 第2世代VMのみがサポートされます。
  • マシンプロファイルを使用してカタログを作成できます。 マシンプロファイルの入力で休止状態を有効にしないでください。
  • カタログの作成中に次のカスタムプロパティを設定することはできません:

    • StorageType
    • OsType
    • MachinesPerStorageAccount
    • StorageAccountsPerResourceGroup
    • UseSharedImageGallery
    • SharedImageGalleryReplicaRatio
    • SharedImageGalleryReplicaMaximum
    • UseEphemeralOsDisk
    • UseManagedDisks
    • StorageTypeAtShutdown

VMwareの次の制限を考慮してください:

  • VMテンプレートのセキュアブートはサポートされていません。 したがって、vSphere ClientインベントリのBoot Optionsの下にあるSecure Bootチェック ボックスを選択しないでください。

要件

Hypervisor CVADリリースが必要 サポートされているCitrix Provisioningバージョン
Azure 2311 2311以降
VMware 2402(カタログの作成はPowerShellでのみ) 例:これは、Azure上のCitrix Provisioning に使用されるものと同じ拡張機能のサンプルスクリプトです。

主な手順

  1. AzureでCitrix Provisioningをセットアップします。
  2. Citrix CloudまたはCitrix Virtual Apps and Desktopsサイトにファームを参加させる。 「Citrix CloudまたはCitrix Virtual Apps and Desktopsサイトへの参加」を参照してください。
  3. マスターターゲットデバイスを作成します。
  4. イメージ作成ウィザードを使用してvDiskを作成します。 「イメージ作成ウィザードによる新しい仮想ディスクの作成」を参照してください。
  5. ハイパーバイザーへの接続を追加します。 Citrix DaaSの「接続とリソースの作成と管理」およびCitrix Virtual Apps and Desktopsの 「接続とリソースの作成と管理」 を参照してください。
  6. Citrix Provisioningカタログを作成します。
  7. [サイト] のCitrix Provisioningコンソールでコレクションを確認します。

Citrix Studioインターフェイスを使用してCitrix Provisioningカタログを作成する

注:

現在、[完全な構成]インターフェイスまたはWeb Studioを使用して、Azure環境でのみCitrix Provisioningカタログを作成できます。 VMware環境では、現在PowerShellコマンドのみを使用してカタログを作成できます。

[完全な構成]インターフェイスを使用する場合:

  1. Citrix Cloudにサインインします。 左上のメニューで、[マイサービス]>[DaaS] を選択します。
  2. [管理]>[完全な構成] の左側ペインで [マシンカタログ] を選択します。

Web Studioを使用する場合:

  1. Sign in to Web Studio, select Machine Catalogs in the left pane.

[完全な構成]インターフェイスまたはWeb Studioを使用してCitrix Provisioningカタログを作成するには、以下の手順を実行します:

  1. [マシンカタログの作成] を選択します。 カタログ作成ウィザードが開きます。
  2. [マシンの種類] ページで、このカタログのマシンの種類(マルチセッションOSシングルセッションOSなど)を選択します。
  3. [マシン管理] ページで、次のように設定を選択します:

    1. 電源管理されているマシン(仮想マシン、ブレードPCなど) を選択します。
    2. Citrix Provisioningテクノロジを選択します。 次に、[Citrix Provisioning Services(PVS)] を選択します。
    3. [リソース] フィールドで、このカタログのAzureネットワークリソースを選択します。
  4. (シングルセッションOSカタログに対してのみ表示可能)[デスクトップエクスペリエンス] ページで、必要に応じてランダムまたは静的なデスクトップエクスペリエンスを選択します。
  5. [ターゲットデバイス] ページで、次を選択します:

    1. プロビジョニングするマシンのファームとサイトを選択します。

      注:

      • サイトフィールドには、Citrix Cloudに登録されているサイトのみが表示されます。
      • Citrix Provisioningカタログを作成するときに、[ターゲットデバイス] ページで、プロビジョニングするマシンのファームとサイトを選択するためのドロップダウンメニューに、存在しなくなったファームとサイトが表示されることがあります。 回避策として、PowerShellコマンドUnregister-HypPvsSiteを実行して、データベースから該当するファームとサイトを削除できます。 PowerShellコマンドについて詳しくは、「DaaS: Unregister-HypPvsSite」および「Citrix Virtual Apps and Desktops: Unregister-HypPvsSite」を参照してください。
    2. プロビジョニングされたマシンで使用するvDiskを選択します。
    3. プロビジョニングされたマシンのマシンプロファイルを選択します。
  6. [ストレージとライセンスの種類] ページで、このカタログに使用するストレージを選択し、Azureで仮想マシンをプロビジョニングするためのWindowsボリュームライセンスを選択します。
  7. [仮想マシン] ページで、仮想マシンの数、仮想マシンのサイズ、およびアベイラビリティ ゾーンを選択します。
  8. [NIC] ページで、仮想マシンで使用するNICを追加します。
  9. [ディスク設定] ページで、ライトバックキャッシュディスクのストレージの種類とサイズを選択します。
  10. [リソースグループ] ページで、リソースグループを作成するか、既存のグループを使用するかを選択します。 [マシンをプロビジョニングするリソースグループを作成する]を選択すると、 citrix-xd-<ProvSchemeId>-<Random5CharacterSuffix>の形式の名前でリソースグループが作成されます。

    注:

    カタログを削除すると、関連付けられたリソース グループも一緒に削除されます。

  11. [マシンID] ページで以下を実行します:

    1. IDの種類を選択します。 現在、Azure環境でのみ [ハイブリッドAzure Active Directory参加] を選択できます。
    2. [マシンID] ページで、[新しいActive Directoryアカウントを作成する] を選択します。 アカウントの名前付けスキームを指定します。
  12. [ドメイン資格情報] ページで、[資格情報の入力] をクリックします。 ドメイン資格情報を入力して、ターゲットのActive Directoryドメインでアカウント操作を実行します。
  13. [概要] ページで、マシンカタログの名前を入力し、[完了] をクリックします。

これで、Citrix Provisioningマシンカタログが作成されました。

顧客管理の暗号化キー対応カタログの作成

Azure環境で[完全な構成]インターフェイスとPowerShellコマンドを使用して、顧客管理の暗号化キー(CMEK)が有効になったCitrix Provisioningカタログを作成できます。

マシンプロファイルベースのカタログを作成できます。 重要な考慮事項は次のとおりです:

  • カスタムプロパティまたはマシンプロファイルにDES IDがあり、マスターイメージのDES IDと異なる場合は、常にマスターイメージが上書きされます。
  • マスターイメージにDES IDがない場合、カスタムプロパティのDES IDによってマシンプロファイルのDES ID値が上書きされます。
  • マスターイメージにDES IDがない場合は、既存のカタログのDES IDを変更できます。 新しい仮想マシンには新しいDES IDのみが含まれます。
  • 既存のカタログをCMEKを有効にしたカタログに更新できます。
  • DES IDの変更を既存の仮想マシンに適用することはできません。

Azureの顧客管理の暗号化キーについて詳しくは、「Azureの顧客が管理する暗号キー」を参照してください。

PowerShellコマンドを使用したCitrix Provisioningカタログの作成

  1. Citrix Provisioningサーバーを使用していない場合、またはCitrix Provisioningコンソールがインストールされているシステムを使用していない場合は、最新のRemote PowerShell SDKをダウンロードしてインストールします。 詳しくは、「Remote PowerShell SDKをインストールして使用する」を参照してください。
  2. PowerShellウィンドウを開きます。
  3. PowerShellコマンドを実行して、ブローカーカタログとIDプールを作成します。

    Azureでの例:

    New-AcctIdentityPool -IdentityPoolName $catName -NamingScheme "$($catName)##" -NamingSchemeType Numeric -Domain serenity.local
    <!--NeedCopy-->
    

    VMwareでの例:

    New-AcctIdentityPool `
    -IdentityPoolName $catName `
    -NamingScheme "$($catName)##" `
    -NamingSchemeType Numeric `
    -Domain $domain `
    -ZoneUid $zone.Uid
    <!--NeedCopy-->
    
  4. New-ProvSchemeコマンドを実行してカタログを作成します。

    Azureでの例:

    New-ProvScheme -AdminAddress "<address>" -CleanOnBoot `
    -ProvisioningSchemeType PVS `
    -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
    <Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" />
    <Property xsi:type=`"StringProperty`" Name=`"OsType`" Value=`"Windows`" />
    <Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Premium_LRS`" />
    <Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"true`" />
    <Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"false`" />
    <Property xsi:type=`"StringProperty`" Name=`"PersistVm`" Value=`"false`" />
    <Property xsi:type=`"StringProperty`" Name=`"WBCDiskStorageType`" Value=`"Premium_LRS`" />
    <Property xsi:type=`"StringProperty`" Name=`"UseTempDiskForWBC`" Value=`"false`" />
    <Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"acbdpvs`" />
    <Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Server`" />
    <Property xsi:type=`"StringProperty`" Name=`"Zones`" Value=`"1`" />
    </CustomProperties>" `
    -HostingUnitName "AzueRes"
    -IdentityPoolName $catName `
    -InitialBatchSizeHint 1 -LoggingId "854xxxxx-2xxx-42e0-axxx-8c6xxx406xxx" `
    -MachineProfile "XDHyp:\HostingUnits\AzueRes\machineprofile.folder\abcdpvs.resourcegroup\abvda.vm" `
    -NetworkMapping @{"0"="XDHyp:\HostingUnits\AzueRes\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\abcdpvs.resourcegroup\fbgv-vnet.virtualprivatecloud\default.network"} `
    -ProvisioningSchemeName $catName `
    -ServiceOffering "XDHyp:\HostingUnits\AzueRes\serviceoffering.folder\Standard_D2s_v3.serviceoffering" `
    -UseWriteBackCache -WriteBackCacheDiskSize 40 `
    -PVSSite 6556cxxx-fc88-45f6-8xxx-ea4b665e9xxx -PVSvDisk cf056xxx-f69b-xxxx-9a60-c41072b8xxxx
    <!--NeedCopy-->
    

    VMwareでの例:

    $ps = New-ProvScheme -CleanOnBoot  `
    -ProvisioningSchemeType PVS `
    -HostingUnitName $hostingUnit `
    -IdentityPoolName $catName `
    -MasterImageVM $machineProfile `
    -ProvisioningSchemeName $catName `
    -UseWriteBackCache -WriteBackCacheDiskSize 32
    -PVSSite $pvsSite.SiteId `
    -PVSvDisk $vDisk.DiskLocatorId
    <!--NeedCopy-->
    
  5. ブローカーカタログを作成します。

    Azureでの例:

    New-BrokerCatalog -AllocationType Random -Name $catName -PersistUserChanges Discard -ProvisioningType MCS -ProvisioningSchemeId $ps.ProvisioningSchemeUid -SessionSupport MultiSession
    <!--NeedCopy-->
    

    VMwareでの例:

    New-BrokerCatalog `
    -AllocationType Random `
    -Name $catName `
    -PersistUserChanges Discard `
    -ProvisioningType MCS `
    -ProvisioningSchemeId $ps.ProvisioningSchemeUid `
    -SessionSupport MultiSession `
    -MinimumFunctionalLevel L7_34
    <!--NeedCopy-->
    
  6. Studio UIまたは次のPowerShellコマンドを使用して、仮想マシンをカタログに追加します。 例:

    $adId = New-AcctADAccount -Count 1 -IdentityPoolName $catName
    New-ProvVM -ProvisioningSchemeName $catName -ADAccountName $adId.SuccessfulAccounts.ADAccountName
    <!--NeedCopy-->
    

[サイト]のCitrix Provisioningコンソールでコレクションを確認

Citrix Provisioningカタログが作成されると、Citrix Provisioningコンソールの [サイト] の下に2種類のコレクションが表示されます:

  • PVSプロビジョニングコレクション:サイト内のPVSによってプロビジョニングされたすべてのコレクション
  • Studioプロビジョニングコレクション:サイト内のStudioによってプロビジョニングされたすべてのコレクション

Studioプロビジョニングコレクションでは、Studioカタログと同じ名前のコレクションが表示されます。

サイトのCitrix Provisioningコンソールのコレクションの画像

サイトとvDiskの情報を取得するためのCitrix Provisioning PowerShell SDK

  • Citrix Provisioningサイトの一覧を取得して、サイトごとのCitrix Provisioningサーバー一覧を表示するには、PowerShell コマンドGet-HypPvsSiteを実行します。 例:

     Get-HypPvsSite -SiteId 00000000-0000-0000-0000-000000000000 -SiteName "exampleSite" -FarmId 00000000-0000-0000-0000-000000000000 -FarmName "exampleFarm" -ResourceLocation 00000000-0000-0000-0000-000000000000
     <!--NeedCopy-->
    

    注:

    Get-HypPvsSiteコマンドではすべてのパラメーターはオプションです。 パラメーターを入力しない場合は、登録されているすべてのサイトの一覧が取得されます。

  • 各vDiskにそのvDiskで使用できるサイトが一覧表示されているvDiskの一覧を取得するには、PowerShellコマンドGet-HypPvsDiskInfoを実行します。 たとえば、次のいずれかを実行できます:

    • Get-HypPvsDiskInfo -FarmId 00000000-0000-0000-0000-000000000000
    • Get-HypPvsDiskInfo -SiteId 00000000-0000-0000-0000-000000000000 -StoreId 00000000-0000-0000-0000-000000000000
    • Get-HypPvsDiskInfo -SiteId 00000000-0000-0000-0000-000000000000 -DiskLocatorId 00000000-0000-0000-0000-000000000000

    注:

    このコマンドは、FarmIdが指定されていない場合、SiteIdを使用して登録済みサイトからFarmIdをクエリを実行します。