Microsoft Azure カタログの管理について

注:

2023年7月以降、マイクロソフトはアジュール アクティブ ディレクトリ (Azure AD) の名称をMicrosoft Entra IDに変更しました。本ドキュメントでは、アジュール アクティブ ディレクトリ、Azure AD、またはAADへの言及はすべてMicrosoft Entra IDを指します。

(/ja-jp/citrix-virtual-apps-desktops/2503/install-configure/machine-catalogs-manage.html)は、マシンカタログを管理するウィザードについて説明しています。以下の情報は、Microsoft Azure Resource Managerクラウド環境に固有の詳細を扱っています。

注:

Microsoft Azure カタログを管理する前に、Microsoft Azure カタログの作成を完了する必要があります。(/ja-jp/citrix-virtual-apps-desktops/2503/install-configure/machine-catalogs-create/create-machine-catalog-citrix-azure.html)を参照してください。

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

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

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

重要:

ディスクはVMが少なくとも一度起動されるまで存在しません。したがって、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 のシャットダウン時に既存の 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-->
    

    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ポータルの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. DiskEncryptionSetId を使用してカタログVMを更新するには、Set-ProvVM を実行します。

    注:

    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-->
    

    マシンプロファイルを使用する場合の例:

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

    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パラメーターに追加されました。このフィールドには、VMタイプ、OSディスク、ギャラリーイメージ情報、OSタイプ情報など、Azure固有の情報が含まれています。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がリソースに追加するタグです。表のタグは「”key”:”value”」として表されます。

リソース名 タグ
IDディスク “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
イメージ “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “Citrixリソース” : “内部”
NIC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
OSディスク “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “Citrixリソース” : “内部”
プレップVM “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “Citrixリソース” : “内部”
公開済みスナップショット “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
リソースグループ “CitrixResource” : “Internal”
  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リソース” : “内部利用”

注:

MCSによって作成されたリソースとして識別するためにCitrixResourceタグが追加されている場合、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はベースディスクスナップショットを含むすべてのスナップショットを削除します。

詳細情報