Citrix Virtual Apps and Desktops

Microsoft Azureカタログの管理

マシンカタログの管理は、マシンカタログを管理するウィザードについて説明しています。以下の情報は、Microsoft Azure Resource Managerクラウド環境に固有の詳細を扱っています。

注:

Microsoft Azureカタログを管理する前に、Microsoft Azureカタログの作成を完了する必要があります。Microsoft Azureカタログの作成を参照してください。

VMシャットダウン時のストレージタイプの下位層への変更

VMをシャットダウンする際に、管理ディスクのストレージタイプを下位層に切り替えることで、ストレージコストを節約できます。これを行うには、StorageTypeAtShutdownカスタムプロパティを使用します。

VMをシャットダウンすると、ディスクのストレージタイプは下位層(StorageTypeAtShutdownカスタムプロパティで指定されたもの)に変更されます。VMの電源をオンにすると、ストレージタイプは元の状態(StorageTypeカスタムプロパティまたはWBCDiskStorageTypeカスタムプロパティで指定されたもの)に戻ります。

重要:

ディスクは、VMが少なくとも一度電源オンになるまで存在しません。したがって、VMを最初に電源オンにしたときにストレージタイプを変更することはできません。

要件

  • 管理ディスクに適用されます。これは、カスタムプロパティUseManagedDisksをtrueに設定することを意味します
  • 永続OSディスクを持つ永続および非永続カタログに適用されます。これは、カスタムプロパティpersistOsDiskをtrueに設定することを意味します
  • 永続WBCディスクを持つ非永続カタログに適用されます。これは、カスタムプロパティpersistWBCをtrueに設定することを意味します

制限事項

  • Microsoftによると、ディスクタイプは1日に2回しか変更できません。Microsoftドキュメントを参照してください。Citrixによると、StorageTypeの更新は、VMの起動または割り当て解除アクションがあるたびに発生します。したがって、VMあたりの電源操作の数を1日2回に制限してください。たとえば、午前中にVMを起動するための電源操作を1回、夕方にVMを割り当て解除するための電源操作を1回行います。

ストレージタイプの下位層への変更

手順に進む前に、要件制限事項を参照してください。

  1. カスタムプロパティStorageTypeAtShutdownを追加し、値をStandard_LRS (HDD)に設定し、New-ProvSchemeを使用してカタログを作成します。PowerShellを使用してカタログを作成する方法については、https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/を参照してください。

    注:

    StorageTypeAtShutdownが空またはStandard_LRS (HDD)以外の値を持つ場合、操作は失敗します。

    永続カタログの作成中にカスタムプロパティを設定する例:

    $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="StorageType" Value="Premium_LRS" />
    <Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
    <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
    <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
    <Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
    <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
    </CustomProperties>'
    <!--NeedCopy-->
    

    非永続カタログの作成中にカスタムプロパティを設定する例:

    $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="StorageType" Value="Premium_LRS" />
    <Property xsi:type="StringProperty" Name="WbcDiskStorageType" Value="Standard_SSD_LRS" />
    <Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
    <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
    <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
    <Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
    <Property xsi:type="BooleanProperty" Name="persistWBC" Value=true />
    <Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true />
    <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
    </CustomProperties>'
    <!--NeedCopy-->
    

    注:

    マシンプロファイルを使用する場合、カスタムプロパティはMachineProfileで定義されたプロパティよりも優先されます。

  2. VMをシャットダウンし、AzureポータルでVMのストレージタイプを確認します。ディスクのストレージタイプは、StorageTypeAtShutdownカスタムプロパティで指定された下位層に変更されます。
  3. VMの電源をオンにします。ディスクのストレージタイプは、以下で指定されたストレージタイプに戻ります:
    • OSディスクのStorageTypeカスタムプロパティ
    • CustomPropertiesで指定した場合にのみWBCディスクのWBCDiskStorageTypeカスタムプロパティ。それ以外の場合は、StorageTypeで指定されたストレージタイプに戻ります

既存のカタログへのStorageTypeAtShutdownの適用

手順に進む前に、要件制限事項を参照してください。

Set-ProvSchemeを使用して、既存のカタログにVMを追加します。この機能は、Set-ProvSchemeの実行後に追加された新しいVMに適用されます。既存のマシンには影響しません。

既存のカタログにVMを追加する際にカスタムプロパティを設定する例:

$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="StorageType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="WbcDiskStorageType" Value="Standard_SSD_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
<Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
<Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
<Property xsi:type="BooleanProperty" Name="persistWBC" Value=true />
<Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true />
<Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
</CustomProperties>'

$ProvScheme = Get-Provscheme -ProvisioningSchemeName $CatalogName

Set-ProvScheme -ProvisioningSchemeName $ProvScheme.ProvisioningSchemeName -CustomProperties $customProperties
<!--NeedCopy-->

既存VMのシャットダウン時のストレージタイプの下位層への変更

手順に進む前に、要件制限事項を参照してください。

VMがシャットダウンされたときに、既存のVMのストレージタイプを下位層に変更することで、ストレージコストを節約できます。これを行うには、StorageTypeAtShutdownカスタムプロパティを使用します。

VMがシャットダウンされたときに、カタログ内の既存のマシンのストレージタイプを下位層に変更するには:

  1. PowerShellウィンドウを開きます。
  2. asnp citrix®*を実行して、Citrix固有のPowerShellモジュールをロードします。
  3. Get-Provscheme -ProvisioningSchemeName $CatalogNameを実行します。
  4. カスタムプロパティ文字列を変更します。

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
    </CustomProperties>'
    <!--NeedCopy-->
    
  5. 既存のカタログのプロビジョニングスキームを更新します。この更新は、Set-ProvSchemeの実行後に追加された新しいVMに適用されます。

    Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. 既存のVMを更新してStorageTypeAtShutdownを有効にします。

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName $CatalogName -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. 次回マシンを電源オンにすると、マシンのStorageTypeAtShutdownプロパティが更新されます。ストレージタイプは次回のシャットダウン時に変更されます。
  8. カタログ内の各VMのStorageTypeAtShutdown値を確認するには、次のコマンドを実行します。

    Get-ProvVM -ProvisioningSchemeName <catalog-name> | foreach { $vmName = $_.VMName; $storageTypeAtShutdown = ($_.CustomVmData | ConvertFrom-Json).StorageTypeAtShutdown.DiskStorageAccountType; return New-Object psobject -Property @{ "VMName" = $vmName; "StorageTypeAtShutdown" = $storageTypeAtShutdown } }
    <!--NeedCopy-->
    

プロビジョニング済みマシンの現在のプロビジョニングスキーム状態への更新

Set-ProvSchemeコマンドはプロビジョニングスキームを変更します。ただし、既存のマシンには影響しません。PowerShellコマンドSet-ProvVMUpdateTimeWindowを使用すると、現在のプロビジョニングスキームを既存の永続または非永続マシン、または一連のマシンに適用できます。既存のMCSプロビジョニング済みマシンの構成更新のために時間枠をスケジュールすることもできます。スケジュールされた時間枠中の電源オンまたは再起動は、スケジュールされたプロビジョニングスキームの更新をマシンに適用します。現在、Azureでは、ServiceOfferingMachineProfile、および以下のカスタムプロパティを更新できます。

  • StorageType
  • WBCDiskStorageType
  • IdentityDiskStorageType
  • LicenseType
  • DedicatedHostGroupId
  • PersistWBC
  • PersistOsDisk
  • PersistVm

注:

  • Azure環境で管理ディスクを使用するカタログの場合、StorageTypeWBCDiskStorageType、およびIdentityDiskStorageTypeカスタムプロパティのみを更新できます。
  • Set-ProvVMUpdateTimeWindowを2回実行した場合、最新のコマンドが有効になります。

更新できるもの:

  • 単一のVM
  • プロビジョニングスキームIDに関連付けられた特定のVMのリスト、またはすべての既存VM
  • プロビジョニングスキーム名(マシンカタログ名)に関連付けられた特定のVMのリスト、またはすべての既存VM

プロビジョニングスキームに以下の変更を加えると、Azureの永続カタログではVMインスタンスが再作成されます。

  • MachineProfileの変更
  • LicenseTypeの削除
  • DedicatedHostGroupIdの削除

注:

既存のマシンのOSディスクとそのすべてのデータはそのまま残り、新しいVMがディスクにアタッチされます。

既存のVMを更新する前に:

  1. 既存のマシンの構成を確認します。例:

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. プロビジョニングスキームを更新します。例:

    • マシンプロファイル入力としてのVMを使用:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<virtual-machine>.vm"
       <!--NeedCopy-->
      
    • マシンプロファイルの入力としてのテンプレート仕様:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog"
       -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<template-spec>.templatespec\<template-spec-version>.templatespecversion"
       -ServiceOffering "XDHyp:\HostingUnits\<hosting-unit>\serviceoffering.folder\<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
    • サービスオファリングのみの場合:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering "XDHyp:\HostingUnits\<hosting-unit>\serviceoffering.folder\<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
  3. VMの現在のプロパティが現在のプロビジョニングスキームと一致しているか、およびVMに保留中の更新アクションがあるかを確認します。例:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

    特定のバージョンのマシンを見つけることもできます。例:

    Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

既存のマシンに対する更新を次回の再起動時に適用するよう要求するには:

  1. 既存のマシンを更新し、次回の再起動時に更新を適用するには、次のコマンドを実行します。

    • すべての既存のマシンを更新する場合。例:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • 特定の複数のマシンのリストを更新する場合。例:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • Get-ProvVMの出力に基づいてマシンを更新する場合。例:

       Get-ProvVM -ProvisioningSchemeName "my-catalog" | Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      

    注:

    • StartsNow は、スケジュールされた開始時刻が現在時刻であることを示します。
    • 負の数(例: –1)の DurationInMinutes は、スケジュールの時間枠に上限がないことを示します。
  2. 更新がスケジュールされているマシンを見つけます。例:

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  3. マシンを再起動します。次回の電源投入時に、プロパティの変更が既存のマシンに適用されます。次のコマンドを使用して、更新されたステータスを確認できます。例:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

VMがスケジュールされた時間枠内で次回起動するときに、最新のプロビジョニング設定に更新されるようにスケジュールするには:

  1. 次のコマンドを実行します。

    • 開始時刻を現在時刻として更新をスケジュールする場合

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName vm1 -StartsNow -DurationInMinutes 120
       <!--NeedCopy-->
      
    • 週末に更新をスケジュールする場合

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1” -StartTimeInUTC “10/15/2022 9:00am” -DurationInMinutes (New –TimeSpan –Days 2).TotalMinutes
       <!--NeedCopy-->
      

    注:

    • VMName はオプションです。指定しない場合、カタログ全体に対して更新がスケジュールされます。
    • StartTimeInUTC の代わりに StartsNow を使用して、スケジュール開始時刻が現在時刻であることを示します。
    • DurationInMinutes はオプションです。デフォルトは120分です。負の数(例: –1)は、スケジュールの時間枠に上限がないことを示します。
  2. 更新ステータスを確認します。

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  3. VMの電源をオンにします。スケジュールされた時間枠の後にマシンの電源をオンにした場合、構成の更新は適用されません。スケジュールされた時間枠内にマシンの電源をオンにした場合:

    • マシンが電源オフの状態で、

      • マシンの電源をオンにしない場合、構成の更新は適用されません
      • マシンの電源をオンにする場合、構成の更新が適用されます
    • マシンが電源オンの状態で、

      • マシンを再起動しない場合、構成の更新は適用されません
      • マシンを再起動する場合、構成の更新が適用されます

構成の更新をキャンセルするには:

単一のVM、複数のVM、またはカタログ全体の構成更新をキャンセルすることもできます。構成の更新をキャンセルするには:

  1. Clear-ProvVMUpdateTimeWindow を実行します。例:

    • 単一のVMに対してスケジュールされた構成更新をキャンセルする場合:

        Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1”
        <!--NeedCopy-->
      
    • 複数のVMに対してスケジュールされた構成更新をキャンセルする場合:

       Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       <!--NeedCopy-->
      

      注:

      VMは同じカタログのものである必要があります。

個々のVMのプロパティ更新

永続的なMCSマシンカタログ内の個々のVMのプロパティは、PowerShellコマンド Set-ProvVM を使用して更新できます。ただし、更新はすぐに適用されません。更新を適用するには、PowerShellコマンド Set-ProvVMUpdateTimeWindow を使用して時間枠を設定する必要があります。

この実装により、マシンカタログ全体を更新することなく、個々のVMを効率的に管理できます。現在、この機能はAzure環境にのみ適用可能です。

現在、更新できるプロパティは次のとおりです。

  • CustomProperties
  • ServiceOffering
  • MachineProfile

この機能を使用すると、次のことができます。

VMのプロパティを更新する前に:

  1. PowerShell ウィンドウを開きます。
  2. asnp citrix* を実行して、Citrix固有のPowerShellモジュールをロードします。
  3. 既存のマシンカタログの構成を確認します。例:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    
  4. 更新を適用するVMの構成を確認します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

VMのプロパティの更新

VMのプロパティを更新するには、次の手順を実行します。

  1. 更新を適用するVMをシャットダウンします。
  2. VMのプロパティを更新します。たとえば、VMのストレージタイプ (StorageType) カスタムプロパティを更新する場合は、次を実行します。

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..."
    <!--NeedCopy-->
    

    マシンカタログ内の2つのVMのプロパティを同時に更新できます。例:

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..."
    <!--NeedCopy-->
    
    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine2 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    

    注:

    更新はすぐに適用されません。

  3. 更新が指定されているプロパティのリストと構成バージョンを取得します。例:

    Get-ProvVMConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Version のプロパティ値と、更新されるプロパティ (この場合は StorageType) を確認します。

  4. 構成バージョンを確認します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    ProvVMConfigurationVersion のプロパティ値を確認します。更新はまだ適用されていません。VMはまだ古い構成のままです。

  5. スケジュールされた更新を要求します。例:

     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    

    スケジュールされた更新の詳細については、「プロビジョニングされたマシンを現在のプロビジョニングスキームの状態に更新する」を参照してください。

    注:

    保留中のプロビジョニングスキームの更新も適用されます。

  6. VMを再起動します。例:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  7. 構成バージョンを確認します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    ProvVMConfigurationVersion のプロパティ値を確認します。更新が適用されました。VMは新しい構成になりました。

  8. VMにさらに構成更新を適用するには、VMをシャットダウンし、手順を繰り返します。

マシンカタログ更新後のVMで更新されたプロパティの保持

VMで更新されたプロパティを保持するには、次の手順を実行します。

  1. 更新を適用するVMをシャットダウンします。
  2. マシンカタログを更新します。たとえば、VMサイズ (ServiceOffering) とストレージタイプ (StorageType) を変更する場合は、次を実行します。

    Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    
  3. マシンカタログの構成詳細を取得します。例:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    

    ProvisioningSchemeVersion が1つ増えました。VMサイズとストレージタイプも更新されます。

  4. VMのプロパティを更新します。たとえば、VMにマシンプロファイルを提供します。

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<template-spec>.templatespec\<template-spec-version>.templatespecversion"
    <!--NeedCopy-->
    

    注:

    マシンプロファイルの入力には、タグと異なるVMサイズ (ServiceOffering) が指定されています。

  5. VMの構成更新とマシンカタログの更新をマージした後にVMが持つプロパティのリストを取得します。例:

    Get-ProvVMConfigurationResultantSet -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    注:

    VMに対する更新は、マシンカタログで行われた更新を上書きします。

  6. VMのスケジュールされた更新を要求します。例:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. VMを再起動します。例:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    

    VMは、マシンプロファイルから派生した更新されたVMサイズを保持します。マシンプロファイルで指定されたタグ値もVMに適用されます。ただし、ストレージタイプは最新のプロビジョニングスキームから派生します。

  8. VMの構成バージョンを取得します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    ProvisioningSchemeVersionProvVMConfigurationVersion は最新バージョンを表示します。

VMに適用された構成更新のロールバック

  1. VMに更新を適用した後、VMをシャットダウンします。
  2. VMに適用された更新を削除するには、次のコマンドを実行します。例:

    Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    
  3. VMのスケジュールされた更新を要求します。例:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. VMを再起動します。例:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  5. VMの構成バージョンを確認します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    ProvVMConfigurationVersion の値は、マシンカタログの構成バージョンになりました。

ディスク暗号化の変更

Azure仮想化環境でディスク暗号化を変更し、次の操作を実行できます。

  • New-ProvScheme コマンドを使用して、マスターイメージのDESとは異なるディスク暗号化セット (DES) を持つMCSマシンカタログを作成します。例:

     $customProperties = @"
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="DiskEncryptionSetId" Name="Zones" Value="/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/testrsg/providers/Microsoft.Compute/diskEncryptionSets/test-diskEncryptionSet"/>
     </CustomProperties>
     "@
     New-ProvScheme -CleanOnBoot `
     -ProvisioningSchemeName $provisioningSchemeName `
     -HostingUnitName $hostingUnitName `
     -IdentityPoolName $identityPoolName `
     -InitialBatchSizeHint $numberOfVms `
     -masterImagePath $masterImagePath `
     -NetworkMapping $networkMapping `
     -CustomProperties $customProperties
     <!--NeedCopy-->
    
  • Set-ProvScheme および Set-ProvVMUpdateTimeWindow コマンドを使用して、既存のMCSマシンカタログと既存のVMのディスク暗号化タイプをあるDESキーから別のDESキーに変更します。VMを再起動すると、更新されたDESキーを確認できます。例:

     $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/456c683e2ed7/resourceGroups/testrg/providers/Microsoft.Compute/diskEncryptionSets/diskEncryptionSet1" />
     </CustomProperties>'
     Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    
  • Set-ProvScheme および Set-ProvVMUpdateTimeWindow コマンドを使用して、以前CMEKが有効になっていなかったMCSマシンカタログとVMを、顧客管理暗号化キー (CMEK) 暗号化 (DES)、ホストでのディスク暗号化、または二重暗号化を持つように更新します。さまざまな暗号化タイプの詳細については、「Azureサーバー側暗号化」、「ホストでのAzureディスク暗号化」、および「マネージドディスクでの二重暗号化」を参照してください。

  • Set-ProvScheme および Set-ProvVMUpdateTimeWindow コマンドを使用して、以前暗号化されていた既存のMCSマシンカタログとVMを非暗号化に更新します。例:

     $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="" />
     </CustomProperties>'
     Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    
  • プライベートエンドポイントでのディスク暗号化を有効にします (ProxyHypervisorTrafficThroughConnector が有効なホスト接続を使用したMCSマシンカタログ)。プライベートエンドポイントでのディスク暗号化を有効にする方法については、「プライベートエンドポイントでのディスク暗号化の有効化」を参照してください。

プライベートエンドポイントでのディスク暗号化の有効化

Azureの制限により、現在、プライベートエンドポイントに対して顧客管理キーによるサーバー側暗号化を使用することはできません。ただし、既存のMCSマシンカタログとプライベートエンドポイントを持つVMをDESキーで暗号化するように更新することはできます。

プライベートエンドポイントを持つ既存のマシンカタログの更新

プライベートエンドポイントを持つ既存のマシンカタログを更新する詳細な手順は次のとおりです。

  1. ProxyHypervisorTrafficThroughConnector を介してディスク暗号化なしでカタログを作成します。
  2. Set-ProvScheme を実行して、DiskEncryptionSetId でカタログを更新します。

    注:

    DiskEcryptionSetIdCustomProperties または MachineProfile を介して構成できます。両方に定義されている場合、CustomProperties で定義されたプロパティが適用されます。

    CustomProperties を使用する場合の例:

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/456c683e2ed7/resourceGroups/testrg/providers/Microsoft.Compute/diskEncryptionSets/diskEncryptionSet1"/>
    </CustomProperties>'
    Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
    <!--NeedCopy-->
    

    MachineProfile を使用する場合の例: ディスク暗号化が有効なVM、またはディスク暗号化設定を持つテンプレート仕様を使用します。

    Set-ProvScheme -ProvisioningSchemeName azure-catalog -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\testrg.resourcegroup\new-template.vm"
    <!--NeedCopy-->
    

    または、Web Studioを使用してマシンプロファイルを更新することもできます。

  3. Set-ProvVMUpdateTimeWindow を実行して、既存のカタログVMを更新します。例:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. VMを再起動すると、AzureポータルのVMのディスクで更新されたディスク暗号化を確認できます。
  5. 新しいカタログVMを追加する前に、Set-ProvScheme を実行してディスク暗号化を解除します。

    注:

    プライベートエンドポイントカタログを更新しているため、この手順が必要です。この手順を実行しないと、新しいVMをカタログに追加しようとしたときにエラーが発生します。

    例:

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="" />
    </CustomProperties>'
    Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. カタログに新しいVMを追加します。

個々のカタログVMの更新

個々のカタログVMを更新する詳細な手順は次のとおりです。

  1. ProxyHypervisorTrafficThroughConnector を介してディスク暗号化なしでカタログを作成します。
  2. Set-ProvVM を実行して、DiskEncryptionSetId でカタログVMを更新します。

    注:

    DiskEcryptionSetIdCustomProperties または MachineProfile のいずれかを介して構成できます。

    CustomProperties を使用する場合の例:

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/456c683e2ed7/resourceGroups/testrg/providers/Microsoft.Compute/diskEncryptionSets/diskEncryptionSet1" />
    </CustomProperties>'
    Set-ProvVM -ProvisioningSchemeName azure-catalog  -VMName azu01 -CustomProperties $customProperties
    <!--NeedCopy-->
    

    MachineProfile を使用する場合の例:

    Set-ProvVM -ProvisioningSchemeName azure-catalog  -VMName azu01 -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\testrg.resourcegroup\new-template.vm"
    <!--NeedCopy-->
    
  3. Set-ProvVMUpdateTimeWindow を実行して、既存のカタログVMを更新します。例:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. VMを再起動すると、AzureポータルのVMのディスクで更新されたディスク暗号化を確認できます。
  5. カタログに新しいVMを追加します。

既存のカタログのWBCディスクとしてのテンポラリディスクの使用

既存のMCSマシンカタログのライトバックキャッシュディスク (WBC) ディスクとしてAzureテンポラリディスクを使用できます。Set-ProvScheme PowerShellコマンドを使用して、既存のカタログとVMを更新します。

前提条件

既存のカタログは、次の条件を満たしている必要があります。

注:

既存のカタログが次の要件を満たしていない場合、WBCディスクはテンポラリディスク内に配置されません。

  • MCSIOが有効になっていること: カスタムプロパティ WriteBackCacheMemorySizeWriteBackCacheDiskSize、および UseWriteBackCache が有効になっています。
  • エフェメラルOSディスクが有効になっていないこと。
  • WBCが非永続的であること: PersistWBCfalse です。
  • UseTempDiskForWBC がnullまたはfalseであること。
  • テンポラリディスクサイズが (ライトバックキャッシュディスクサイズ + ページングファイル用の予約済みスペース + 1 GBのバッファースペース) の合計サイズよりも大きいこと。

重要:

テンポラリディスクを持つサービスオファリングから持たないサービスオファリングへの変更、またはその逆は許可されていません。

既存のカタログの更新

既存のカタログを更新するには、次のコマンドを実行します。

  1. 既存のカタログで Set-ProvScheme を実行し、UseTempDiskForWBCtrue に更新します。例:

    Set-ProvScheme -ProvisioningSchemeName name -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"Standard_LRS`"/><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"True`"/><Property xsi:type=`"StringProperty`" Name=`"ManagedDisksPreview`" Value=`"False`"/><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"False`"/><Property xsi:type=`"StringProperty`" Name=`"UseTempDiskForWBC`" Value=`"True`"/><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"False`"/></CustomProperties>"
    <!--NeedCopy-->
    
  2. 新しいマシンをカタログに追加して電源をオンにします。新しい VM には、一時ディスク内に WBC ディスクがあります。

Azure VM、スナップショット、OSディスク、ギャラリーイメージ定義の情報の取得

Azure VM の情報 (OS ディスクと種類、スナップショット、ギャラリーイメージ定義を含む) を表示できます。この情報は、マシンカタログが割り当てられている場合、マスターイメージ上のリソースに対して表示されます。この機能を使用して、Linux または Windows イメージを表示および選択できます。TemplateIsWindowsTemplate という PowerShell プロパティが AdditionDatafield パラメーターに追加されました。このフィールドには、VM の種類、OS ディスク、ギャラリーイメージ情報、OS の種類情報など、Azure 固有の情報が含まれています。TemplateIsWindowsTemplateTrue に設定すると OS の種類が Windows であることを示し、TemplateIsWindowsTemplateFalse に設定すると OS の種類が Linux であることを示します。

ヒント:

TemplateIsWindowsTemplate PowerShell プロパティによって表示される情報は、Azure API から派生しています。このフィールドが空の場合があります。たとえば、データディスクからのスナップショットには TemplateIsWindowsTemplate フィールドが含まれていません。これは、OS の種類をスナップショットから取得できないためです。

たとえば、PowerShell を使用して、Windows OS の種類に対して Azure VM の AdditionData パラメーターを True に設定します。

PS C:\Users\username> (get-item XDHyp:\HostingUnits\mynetwork\image.folder\username-dev-testing-rg.resourcegroup\username-dev-tsvda.vm).AdditionalData
Key Value
ServiceOfferingDescription Standard_B2ms
HardDiskSizeGB 127
ResourceGroupName FENGHUAJ-DEV-TESTING-RG
ServiceOfferingMemory 8192
ServiceOfferingCores 2
TemplateIsWindowsTemplate True
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SupportedMachineGenerations Gen1,Gen2
<!--NeedCopy-->

MCS カタログのクローン作成

既存の永続的および非永続的 MCS カタログを複数のカタログに分割します。元のプロビジョニングスキームのクローンを作成することで、特定の VM サブセットに異なるカタログレベルのポリシーと構成を適用できます。この機能は、組織内の異なる機能ロール (財務部門や役員など) が、標準ユーザーと比較して異なるリソース構成 (たとえば、バックアップ制限) を必要とする場合に特に役立ちます。

使用例

管理者は大規模な VM カタログを管理しています。役員チームは、標準ポリシーで許可されているよりも多くのバックアップを必要とします。管理者は Copy-ProvScheme コマンドを使用して、既存のカタログプロビジョニングスキームを新しいカタログにクローンします。これにより、管理者は新しい役員カタログに専用のバックアップポリシーを適用しつつ、組織の残りの部分の元の設定を維持できます。

適用範囲

  • Azure 環境
  • 永続的および非永続的 MCS カタログ
  • MCS プロビジョニングされた Citrix Provisioning カタログ

制限事項

  • プロビジョニングスキーム: プロビジョニングスキームの最新バージョンのみがコピーされます。
  • バックアップスケジュール: バックアップスケジュールは新しいカタログにコピーされません。新しいカタログには独自のバックアップスケジュールを設定する必要があります。
  • ID プール: ID 関連のオブジェクトはクローンされず、同じ ADAccountIdentityPool を使用して共有されたままになります。
  • デリバリーグループ: デリバリーグループの操作とユーザー割り当ては、クローン作成プロセス中に変更または関連付けられません。

重要な考慮事項

  • リソースグループ (TargetLocation):

    • TargetLocation (Azure リソースグループ) を指定しない場合:
      • Citrix 管理のリソースグループの場合、新しい Citrix 管理のリソースグループが作成されます。
      • BYO (Bring Your Own) リソースグループの場合、新しいプロビジョニングスキームのリソースは同じリソースグループに作成されます。
    • TargetLocation を指定する場合:

      • リソースは指定されたリソースグループに作成されます。
      • 指定されたリソースグループは Azure にすでに存在している必要があります。
  • ベースディスクスナップショット: リソースグループの構成に関係なく、ベースディスクスナップショットのコピーが常に作成されます。

前提条件

  • 既存のプロビジョニングスキーム (ソースカタログ) が利用可能である必要があります。
  • ターゲットの場所を指定する場合、ターゲットの Azure リソースグループが存在している必要があります。

PowerShell を使用した構成

  1. PowerShell ウィンドウを開きます。
  2. 必要なパラメーター (SourceProvisioningSchemeName (または SourceProvisioningSchemeUid) および TargetProvisioningSchemeName) を使用して Copy-ProvScheme コマンドを実行します。

    例 1: 名前でプロビジョニングスキームをコピーします。

    この例では、「Backup」という名前のスキームを「TestCopy」という新しいスキームにコピーします。

    Copy-ProvScheme -SourceProvisioningSchemeName Backup -TargetProvisioningSchemeName TestCopy
    <!--NeedCopy-->
    

    例 2: Uid でプロビジョニングスキームを特定のリソースグループにコピーします。

    この例では、Uid を使用してスキームをコピーし、「TestRg」という名前のターゲットリソースグループを指定します。

    Copy-ProvScheme -SourceProvisioningSchemeUid 771e205d-1ee5-4ad2-b044-ecf3d7f24ec7 -TargetProvisioningSchemeName TestCopy -TargetLocation TestRg
    <!--NeedCopy-->
    

MCS によって作成されたリソースの識別

以下は、MCS がリソースに追加するタグです。表のタグは「キー」:「値」として表されます。

リソース名 タグ
ID ディスク “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
イメージ “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
NIC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
OS ディスク “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
PrepVM “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
公開済みスナップショット “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
リソースグループ “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
  CitrixSchemaVersion: 2.0
ストレージアカウント “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
カタログ内の VM “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
WBC ディスク “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”

注:

CitrixResource タグが MCS によって作成されたリソースとして識別するために追加されている場合、VM は Citrix インベントリに表示されません。タグを削除または名前変更することで、表示させることができます。

タグの削除

カタログまたは VM を作成すると、次のリソースにタグが作成されます。

  • リソースグループ
  • 仮想マシン
  • OS ディスク
  • ID ディスク
  • ネットワークインターフェイス
  • ストレージアカウント

Citrix データベースから VM とマシンカタログを削除し、タグを削除できます。次を使用できます。

  • ForgetVM パラメーターを指定した Remove-ProvVM を使用して、単一の VM またはマシンカタログから VM のリストから VM とタグを削除します。
  • ForgetVM パラメーターを指定した Remove-ProvScheme を使用して、Citrix データベースからマシンカタログを削除し、マシンカタログ全体からタグを削除します。

この機能は、永続的な VM にのみ適用されます。

これを行うには:

  1. PowerShell ウィンドウを開きます。
  2. asnp citrix* を実行して、Citrix 固有の PowerShell モジュールをロードします。
  3. Remove-ProvVM を実行して、Citrix データベースから VM を削除し、VM からタグを削除します。 例:

    Remove-ProvVM -ProvisioningSchemeName “ProvisioningSchemeName” -VMName “vmname” -ForgetVM
    <!--NeedCopy-->
    
  4. Remove-ProvScheme を実行して、Citrix データベースからマシンカタログを削除し、マシンカタログからタグを削除します。例:

    Remove-ProvScheme -ProvisioningSchemeName “ProvisioningSchemeName” -ForgetVM
    <!--NeedCopy-->
    

    注:

    Remove-ProvSchemeForgetVM パラメーターを使用すると、プロビジョニングスキームが BYORG (Bring Your Own Resource Group) または Citrix 管理のリソースグループのいずれかに存在する場合、MCS はベースディスクスナップショットを含むすべてのスナップショットを削除します。

詳細情報