マイクロソフト Azure カタログを管理する

注:

Since July 2023, Microsoft has renamed Azure Active Directory (Azure AD) to Microsoft Entra ID. In this document, any reference to Azure Active Directory, Azure AD, or AAD now refers to Microsoft Entra ID.

マシンカタログの管理では、マシンカタログを管理するウィザードについて説明します。以下の情報は、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によると、VMの開始または割り当て解除アクションがあるたびにStorageTypeが更新されます。したがって、VMあたりの電源アクションの数を1日2回に制限してください。たとえば、午前中にVMを開始するための電源アクションを1回、夕方にVMを割り当て解除するための電源アクションを1回実行します。

ストレージの種類を下位層に変更する

手順に進む前に、(#requirements)と(#restriction)を参照してください。

  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
  • プロビジョニングスキーム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. Citrix固有のPowerShellモジュールをロードするためにasnp citrix*を実行します。
  3. 既存のマシンカタログの構成を確認します。例:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    
  4. 更新を適用しようとしている仮想マシンの構成を確認してください。例えば、

    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 server side encryptionAzure disk encryption at host、および Double encryption on managed disk を参照してください。

  • 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マシンカタログ)。プライベートエンドポイントを使用したディスク暗号化を有効にする方法については、Enable disk encryption with private endpoint を参照してください。

プライベートエンドポイントを使用したディスク暗号化を有効にする

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. Set-ProvVM を実行して、DiskEncryptionSetId でカタログVMを更新します。

    注:

    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. 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が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イメージを表示および選択します。PowerShellプロパティTemplateIsWindowsTemplateAdditionDatafieldパラメーターに追加されました。このフィールドには、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 がリソースに追加するタグは次のとおりです。表のタグは「”key”:”value”」として表されます。

リソース名 タグ
ID ディスク “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “Citrixリソース” : “内部”
イメージ “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “Citrixリソース” : “内部”
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”
  “CitrixResource” : “Internal”
リソースグループ “CitrixResource” : “Internal”
  CitrixSchemaVersion: 2.0
  “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
ストレージアカウント “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
カタログ内のVM “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “内部で使用されるもの”
WBCディスク “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”

注:

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

詳細情報