Citrix Virtual Apps and Desktops

マイクロソフト アジュール カタログの管理

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

注:

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

VMシャットダウン時にストレージタイプを下位層に変更する

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

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

重要:

ディスクはVMが少なくとも1回起動されるまで存在しません。したがって、VMを最初に起動するときにストレージタイプを変更することはできません。

前提条件

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

制限事項

  • Microsoftによると、ディスクタイプは1日2回しか変更できません。Microsoftドキュメントを参照してください。Citrixによると、VMの開始または割り当て解除アクションがあるたびにStorageTypeの更新が行われます。したがって、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カスタムプロパティ
    • WBCディスクのWBCDiskStorageTypeカスタムプロパティ(CustomPropertiesで指定した場合のみ)。それ以外の場合は、StorageTypeに記載されているストレージタイプに戻ります。

既存のカタログにStorageTypeAtShutdownを適用する

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

既存のカタログにVMを追加するには、Set-ProvSchemeを使用します。この機能は、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のストレージタイプをシャットダウン時に下位層に変更することで、ストレージコストを節約できます。これを行うには、StorageTypeAtShutdownカスタムプロパティを使用します。

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

  1. PowerShellウィンドウを開きます。
  2. Citrix固有のPowerShellモジュールをロードするには、asnp citrix®*を実行します。
  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
  • 特定のVMのリスト、またはプロビジョニングスキームIDに関連付けられているすべての既存の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. Citrix固有のPowerShellモジュールをロードするには、asnp citrix*を実行します。
  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-->
    

    The 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-->
    
  • 以前CMEKが有効になっていなかったMCSマシンカタログとVMを、Set-ProvScheme および Set-ProvVMUpdateTimeWindow コマンドを使用して、顧客管理の暗号化キー(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. DiskEncryptionSetId を使用してカタログを更新するために Set-ProvScheme を実行します。

    注:

    DiskEcryptionSetIdCustomProperties または MachineProfile を介して構成できます。CustomPropertiesMachineProfile の両方で定義されている場合、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. 既存のカタログVMを更新するには、Set-ProvVMUpdateTimeWindow を実行します。例:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. VMを再起動すると、Azure portal の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 を実行して、カタログVMを DiskEncryptionSetId で更新します。

    注:

    DiskEcryptionSetId は、CustomProperties または 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一時ディスクを使用できます。既存のカタログとVMを更新するには、Set-ProvScheme PowerShellコマンドを使用します。

前提条件

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

注:

既存のカタログが以下の要件を満たしていない場合、WBCディスクは一時ディスク内に配置されません。

  • MCSIOが有効になっている:カスタムプロパティ WriteBackCacheMemorySizeWriteBackCacheDiskSize、および UseWriteBackCache が有効になっています。
  • エフェメラルOSディスクは有効になっていません。
  • WBCは非永続的です: PersistWBCfalse です。
  • UseTempDiskForWBC はヌルまたはフォールスです。
  • 一時ディスクサイズは、(ライトバックキャッシュディスクサイズ + ページングファイル用の予約領域 + 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イメージを表示および選択できます。PowerShellプロパティ TemplateIsWindowsTemplateAdditionDatafield パラメーターに追加されました。このフィールドには、Azure固有の情報(VMの種類、OSディスク、ギャラリーイメージ情報、OSの種類情報)が含まれています。TemplateIsWindowsTemplateTrue に設定するとOSの種類がWindowsであることを示し、TemplateIsWindowsTemplateFalse に設定するとOSの種類がLinuxであることを示します。

ヒント:

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

たとえば、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コマンドを使用して、既存のカタログプロビジョニングスキームを新しいカタログにクローンします。これにより、管理者は新しい役員カタログに専用のバックアップポリシーを適用しつつ、組織の他の部分の元の設定を維持できます。

適用範囲

  • アジュール環境
  • 永続的および非永続的なMCSカタログ
  • MCSでプロビジョニングされたCitrix Provisioningカタログ

制限事項

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

重要な考慮事項

  • リソースグループ (ターゲットロケーション):

    • 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でプロビジョニングスキームを特定のResource Groupにコピーする

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

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

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

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

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

注:

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

タグの削除

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

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

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

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

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

これを行うには:

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

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

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

    注:

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

詳細情報