Microsoft Azureカタログを管理する
マシンカタログの管理では、マシンカタログを管理するウィザードについて説明しています。以下の情報は、Microsoft Azure Resource Managerクラウド環境に固有の詳細を扱っています。
注:
Microsoft Azureカタログを管理する前に、Microsoft Azureカタログの作成を完了する必要があります。「Microsoft Azureカタログの作成」(/ja-jp/citrix-virtual-apps-desktops/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回とします。
ストレージタイプを下位層に変更する
-
カスタムプロパティ
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で定義されたプロパティよりも優先されます。 - VMをシャットダウンし、AzureポータルでVMのストレージタイプを確認します。ディスクのストレージタイプは、
StorageTypeAtShutdownカスタムプロパティで指定された下位層に変更されます。 - VMをオンにします。ディスクのストレージタイプは、以下に記載されているストレージタイプに戻ります。
- OSディスクの
StorageTypeカスタムプロパティ - WBCディスクの
WBCDiskStorageTypeカスタムプロパティ(CustomPropertiesで指定した場合のみ)。それ以外の場合は、StorageTypeに記載されているストレージタイプに戻ります。
- OSディスクの
既存のカタログに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がシャットダウンされたときに下位層に変更するには:
- PowerShellウィンドウを開きます。
- Citrix固有のPowerShellモジュールをロードするために
asnp citrix®*を実行します。 -
Get-Provscheme -ProvisioningSchemeName $CatalogNameを実行します。 -
カスタムプロパティ文字列を変更します。
$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--> -
既存のカタログのプロビジョニングスキームを更新します。この更新は、
Set-ProvSchemeの実行後に追加された新しいVMに適用されます。Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties <!--NeedCopy--> -
既存のVMを更新して
StorageTypeAtShutdownを有効にします。Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName $CatalogName -StartsNow -DurationInMinutes -1 <!--NeedCopy--> - 次回マシンを起動すると、マシンの
StorageTypeAtShutdownプロパティが更新されます。ストレージタイプは次回のシャットダウン時に変更されます。 -
カタログ内の各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では、ServiceOffering、MachineProfile、および以下のカスタムプロパティを更新できます。
StorageTypeWBCDiskStorageTypeIdentityDiskStorageTypeLicenseTypeDedicatedHostGroupIdPersistWBCPersistOsDiskPersistVmZones
注:
- Azure環境でマネージドディスクを使用するカタログの場合、
StorageType、WBCDiskStorageType、およびIdentityDiskStorageTypeのカスタムプロパティのみを更新できます。Set-ProvVMUpdateTimeWindowを2回実行した場合、最新のコマンドが有効になります。- VMが
Set-ProvVMUpdateTimeWindowで更新され、Zonesカスタムプロパティによって提供される現在の可用性ゾーンリストが、VMが現在使用しているゾーンを含まないように変更された場合、そのVMの永続ディスクは新しいゾーンにコピーされ、元のディスクは削除されます。例えば、ゾーン3でプロビジョニングされ、Zonesカスタムプロパティが「1,2」に設定されて更新されたVMは、ゾーン1と2の間でマシンをバランスさせるために、どちらかのゾーンのマシンが少ないかに応じて、VMとそのディスクをゾーン1または2のいずれかに移動します。- Zonesカスタムプロパティが完全にクリアされた場合(空の値に設定された場合)、VMのゾーンアフィニティは削除され、Azureは容量に基づいてVMを任意の可用性ゾーンに配置できるようになります。この場合、VMの永続ディスクは元のゾーンに残り、移動されません。
以下を更新できます。
- 単一のVM
- 特定のVMのリスト、またはプロビジョニングスキームIDに関連付けられているすべての既存のVM
- 特定のVMのリスト、またはプロビジョニングスキーム名(マシンカタログ名)に関連付けられているすべての既存のVM
プロビジョニングスキームに以下の変更を加えると、Azureの永続カタログに対してVMインスタンスが再作成されます。
-
MachineProfileを変更する -
LicenseTypeを削除する -
DedicatedHostGroupIdを削除する
注:
既存のマシンのOSディスクとそのすべてのデータはそのまま残り、新しいVMがディスクに接続されます。
既存のVMを更新する前に、次のことを行います。
-
既存のマシンの構成を確認します。例:
Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion <!--NeedCopy--> -
プロビジョニングスキームを更新します。例:
-
マシンプロファイル入力として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-->
-
-
VM の現在のプロパティが現在のプロビジョニングスキームと一致するか、および VM に保留中の更新アクションがあるかを確認します。例:
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion <!--NeedCopy-->特定のバージョンのマシンを見つけることもできます。例:
Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion <!--NeedCopy-->
既存のマシンに次回の再起動時に適用される更新を要求するには:
-
既存のマシンを更新し、次回の再起動時に更新が適用されるようにするには、次のコマンドを実行します。
-
すべての既存のマシンを更新するには。例:
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は、スケジュールの時間枠に上限がないことを示します。
-
-
更新がスケジュールされているマシンを見つけます。例:
Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter <!--NeedCopy--> -
マシンを再起動します。次回の電源投入時に、プロパティの変更が既存のマシンに適用されます。次のコマンドを使用して、更新されたステータスを確認できます。例:
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion <!--NeedCopy-->
VM がスケジュールされた時間枠内で次回起動するときに、最新のプロビジョニング設定に更新されるようにスケジュールするには:
-
次のコマンドを実行します。
-
現在時刻を開始時刻として更新をスケジュールするには
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)は、スケジュールの時間枠に上限がないことを示します。
-
-
更新ステータスを確認します。
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion <!--NeedCopy--> -
VMの電源を入れます。スケジュールされた時間枠の後にマシンの電源を入れた場合、構成の更新は適用されません。スケジュールされた時間枠内にマシンの電源を入れた場合、,
-
マシンの電源がオフの場合、かつ
- マシンの電源を入れない場合、構成の更新は適用されません
- マシンの電源を入れる場合、構成の更新が適用されます
-
マシンの電源がオンの場合、かつ
- マシンを再起動しない場合、構成の更新は適用されません
- マシンを再起動する場合、構成の更新が適用されます
-
構成の更新をキャンセルするには:
単一のVM、複数のVM、またはカタログ全体の構成更新をキャンセルすることもできます。構成更新をキャンセルするには:
-
Clear-ProvVMUpdateTimeWindowを実行します。例:-
単一のVMに対してスケジュールされた構成更新をキャンセルするには:
Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1” <!--NeedCopy--> -
複数のVMに対してスケジュールされた構成更新をキャンセルするには:
Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2" <!--NeedCopy-->注:
VMは同じカタログのものである必要があります。
-
個々のVMのプロパティを更新する
PowerShellコマンド Set-ProvVM を使用して、永続的なMCSマシンカタログ内の個々のVMのプロパティを更新できます。ただし、更新はすぐに適用されません。更新を適用するには、PowerShellコマンド Set-ProvVMUpdateTimeWindow を使用して時間枠を設定する必要があります。
この実装により、マシンカタログ全体を更新することなく、個々のVMを効率的に管理できます。現在、この機能はAzure環境にのみ適用されます。
現在、更新できるプロパティは次のとおりです。
CustomPropertiesServiceOfferingMachineProfile
この機能を使用すると、次のことができます。
- VMのプロパティを更新する
- マシンカタログの更新後にVMで更新されたプロパティを保持する(#retain-the-properties-updated-on-a-vm-after-the-machine-catalog-is-updated)
- VMに適用された構成の更新を元に戻す(#revert-the-configuration-updates-applied-to-a-vm)
VMのプロパティを更新する前に:
- PowerShellウィンドウを開きます。
-
asnp citrix*を実行して、Citrix固有のPowerShellモジュールをロードします。 -
既存のマシンカタログの構成を確認します。例:
Get-ProvScheme -ProvisioningSchemeName AzureCatalog <!--NeedCopy--> -
更新を適用するVMの構成を確認します。例:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
VMのプロパティを更新する
VMのプロパティを更新するには、次の手順を実行します。
- 更新を適用するVMをシャットダウンします。
-
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-->注:
更新はすぐに適用されません。
-
更新が指定されているプロパティのリストと構成バージョンを取得します。例:
Get-ProvVMConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->Versionのプロパティ値と、更新するプロパティ(この場合はStorageType)を確認します。 -
構成バージョンを確認します。例:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->ProvVMConfigurationVersionのプロパティ値を確認します。更新はまだ適用されていません。VM はまだ古い構成のままです。 -
スケジュールされた更新を要求します。例:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -StartsNow -DurationInMinutes -1 <!--NeedCopy-->スケジュールされた更新の詳細については、「プロビジョニングされたマシンを現在のプロビジョニングスキームの状態に更新する」を参照してください。
注:
保留中のプロビジョニングスキームの更新も適用されます。
-
VM を再起動します。例:
New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn <!--NeedCopy--> -
構成バージョンを確認します。例:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->ProvVMConfigurationVersionのプロパティ値を確認します。更新が適用されました。VM は新しい構成になりました。 - VM にさらに構成の更新を適用するには、VM の電源をオフにして、手順を繰り返します。
マシンカタログの更新後に VM で更新されたプロパティを保持する
VM で更新されたプロパティを保持するには、次の操作を行います。
- 更新を適用する VM の電源をオフにします。
-
マシンカタログを更新します。たとえば、VM サイズ (
ServiceOffering) とストレージの種類 (StorageType) を変更する場合は、次を実行します。Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..." <!--NeedCopy--> -
マシンカタログの構成詳細を取得します。例:
Get-ProvScheme -ProvisioningSchemeName AzureCatalog <!--NeedCopy-->ProvisioningSchemeVersionは1つ増分されます。VMサイズとストレージタイプも更新されます。 -
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) が指定されています。 -
VMの構成更新とマシンカタログの更新をマージした後にVMが持つプロパティのリストを取得します。例:
Get-ProvVMConfigurationResultantSet -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->注:
VMに対する更新は、マシンカタログで行われた更新を上書きします。
-
VMのスケジュールされた更新を要求します。例:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1 <!--NeedCopy--> -
VMを再起動します。例:
New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn <!--NeedCopy-->VMは、マシンプロファイルから派生した更新されたVMサイズを保持します。マシンプロファイルで指定されたタグ値もVMに適用されます。ただし、ストレージタイプは最新のプロビジョニングスキームから派生します。
-
VMの構成バージョンを取得します。例:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->ProvisioningSchemeVersionとProvVMConfigurationVersionは最新バージョンを表示します。
VMに適用された構成更新を元に戻す
- VMに更新を適用した後、VMをオフにします。
-
VMに適用されている更新プログラムを削除するには、次のコマンドを実行します。例:
Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy--> -
VMのスケジュールされた更新を要求します。例:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1 <!--NeedCopy--> -
VMを再起動します。例:
New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn <!--NeedCopy--> -
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キーで暗号化するように更新することはできます。
プライベートエンドポイントを持つ既存のマシンカタログを更新する
既存のプライベートエンドポイントを持つマシンカタログを更新する詳細な手順は次のとおりです。
-
ProxyHypervisorTrafficThroughConnectorを介してディスク暗号化なしでカタログを作成します。 -
DiskEncryptionSetIdを使用してカタログを更新するには、Set-ProvSchemeを実行します。注:
DiskEcryptionSetIdはCustomPropertiesまたはMachineProfileを介して構成できます。CustomPropertiesと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 を使用してマシンプロファイルを更新することもできます。
-
既存のカタログVMを更新するには、
Set-ProvVMUpdateTimeWindowを実行します。例:Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1 <!--NeedCopy--> - VMを再起動すると、Azure portalでVMのディスクに更新されたディスク暗号化が表示されます。
-
新しいカタログ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--> - カタログに新しいVMを追加します。
個々のカタログVMを更新する
個々のカタログVMを更新するための詳細な手順は次のとおりです。
-
ProxyHypervisorTrafficThroughConnectorを介してディスク暗号化なしでカタログを作成します。 -
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-->MachineProfile を使用する場合の例:
Set-ProvVM -ProvisioningSchemeName azure-catalog -VMName azu01 -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\testrg.resourcegroup\new-template.vm" <!--NeedCopy--> -
既存のカタログVMを更新するには、
Set-ProvVMUpdateTimeWindowを実行します。例:Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01 -StartsNow -DurationInMinutes -1 <!--NeedCopy--> - VMを再起動すると、Azure portal のVMディスクで更新されたディスク暗号化を確認できます。
- カタログに新しいVMを追加します。
既存のカタログで一時ディスクをWBCディスクとして使用する
既存のMCSマシンカタログでは、Azure一時ディスクをライトバックキャッシュディスク (WBC) ディスクとして使用できます。既存のカタログとVMを更新するには、Set-ProvScheme PowerShellコマンドを使用します。
前提条件
既存のカタログは、次の条件を満たしている必要があります。
注:
既存のカタログが次の要件を満たしていない場合、WBCディスクは一時ディスク内に配置されません。
- MCSIOが有効になっている: カスタムプロパティ
WriteBackCacheMemorySize、WriteBackCacheDiskSize、およびUseWriteBackCacheが有効になっています。 - エフェメラルOSディスクが有効になっていない。
- WBCが非永続的である:
PersistWBCがfalseである。 -
UseTempDiskForWBCがnullまたはfalseである。 - 一時ディスクのサイズは、(ライトバックキャッシュディスクサイズ + ページングファイル用の予約済み領域 + 1 GBのバッファースペース) の合計サイズよりも大きくする必要があります。
重要:
一時ディスクがあるサービスオファリングから一時ディスクがないサービスオファリングへの変更、またはその逆は許可されていません。
既存のカタログを更新する
既存のカタログを更新するには、次のコマンドを実行します。
-
既存のカタログで
Set-ProvSchemeを実行して、UseTempDiskForWBCをtrueに更新します。例: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--> -
カタログに新しいマシンを追加して電源を入れます。新しいVMには、一時ディスク内にWBCディスクがあります。
Azure VM、スナップショット、OSディスク、およびギャラリーイメージ定義の情報を取得する
Azure VMの情報を表示できます。これには、OSディスクと種類、スナップショット、ギャラリーイメージ定義が含まれます。この情報は、マシンカタログが割り当てられたときにマスターイメージ上のリソースに対して表示されます。この機能を使用して、LinuxまたはWindowsイメージを表示および選択できます。PowerShellプロパティTemplateIsWindowsTemplateがAdditionDatafieldパラメーターに追加されました。このフィールドには、VMの種類、OSディスク、ギャラリーイメージ情報、OSの種類情報など、Azure固有の情報が含まれています。TemplateIsWindowsTemplateをTrueに設定するとOSの種類がWindowsであることを示し、TemplateIsWindowsTemplateをFalseに設定するとOSの種類がLinuxであることを示します。
ヒント:
TemplateIsWindowsTemplatePowerShellプロパティによって表示される情報は、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コマンドを使用して、既存のカタログプロビジョニングスキームを新しいカタログにクローンします。これにより、管理者は新しい役員カタログに専用のバックアップポリシーを適用し、組織の残りの部分の元の設定を維持できます。
適用性
- Azure環境
- 永続的および非永続的MCSカタログ
- MCSプロビジョニングされたCitrix Provisioningカタログ
制限事項
- プロビジョニングスキーム: プロビジョニングスキームの最新バージョンのみがコピーされます。
- バックアップスケジュール: バックアップスケジュールは新しいカタログにコピーされません。新しいカタログには独自のバックアップスケジュールを設定する必要があります。
-
IDプール: ID関連のオブジェクトはクローンされず、同じ
ADAccountIdentityPoolを使用して共有されたままになります。 - デリバリーグループ: デリバリーグループの操作とユーザー割り当ては、クローン作成プロセス中に変更または関連付けられることはありません。
重要な考慮事項
-
リソースグループ (ターゲットの場所):
-
TargetLocation(Azure リソースグループ) を指定しない場合:- Citrix 管理のリソースグループの場合、新しいCitrix 管理のリソースグループが作成されます。
- BYO (Bring Your Own) リソースグループの場合、新しいプロビジョニングスキームのリソースは、同じリソースグループに作成されます。
-
TargetLocationを指定する場合:- リソースは、指定されたリソースグループに作成されます。
- 指定されたリソースグループは、Azure にすでに存在している必要があります。
-
-
ベースディスクスナップショット: リソースグループの構成に関係なく、ベースディスクスナップショットのコピーは常に作成されます。
前提条件
- 既存のプロビジョニングスキーム (ソースカタログ) が利用可能である必要があります。
- ターゲットの場所を指定する場合、ターゲットのAzure リソースグループが存在している必要があります。
PowerShell を使用して構成する
- PowerShell ウィンドウを開きます。
-
必要なパラメータ:
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がリソースに追加するタグです。表のタグは「”key”:”value”」として表されます。
| リソース名 | タグ |
|---|---|
| IDディスク | “CitrixプロビジョニングスキームID” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
| “CitrixResource” : “内部” | |
| イメージ | “CitrixプロビジョニングスキームID” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
| “CitrixResource” : “内部” | |
| NIC | “Citrix プロビジョニングスキーム ID” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
| “CitrixResource” : “内部” | |
| OS ディスク | “Citrix プロビジョニングスキーム ID” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
| “CitrixResource” : “内部” | |
| PrepVM | “CitrixプロビジョニングスキームID” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
| “CitrixResource” : “内部” | |
| 公開済みスナップショット | “CitrixプロビジョニングスキームID” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
| “CitrixResource” : “内部” | |
| リソースグループ | “CitrixResource” : “内部” |
| CitrixSchemaVersion: 2.0 | |
| “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” | |
| ストレージアカウント | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
| “CitrixResource” : “内部” | |
| カタログ内のVM | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
| “CitrixResource” : “内部” | |
| WBCディスク | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
| “CitrixResource” : “内部” |
注:
CitrixResourceタグがMCSによって作成されたリソースとして識別するために追加されている場合、VMはCitrixインベントリに表示されません。タグを削除または名前変更することで、表示させることができます。
タグの削除
カタログまたはVMを作成すると、以下のリソースにタグが作成されます。
- リソースグループ
- 仮想マシン
- OSディスク
- IDディスク
- ネットワークインターフェイス
- ストレージアカウント
CitrixデータベースからVMとマシンカタログを削除し、タグを削除できます。次のものを使用できます。
- マシンカタログから単一のVMまたはVMのリストからVMとタグを削除するには、
ForgetVMパラメーターを指定したRemove-ProvVMを使用します。 - Citrixデータベースからマシンカタログを削除し、マシンカタログ全体からタグを削除するには、
ForgetVMパラメーターを指定したRemove-ProvSchemeを使用します。
この機能は、永続VMにのみ適用されます。
これを行うには:
- PowerShellウィンドウを開きます。
- Citrix固有のPowerShellモジュールをロードするには、asnp citrix*を実行します。
-
CitrixデータベースからVMを削除し、VMからタグを削除するには、
Remove-ProvVMを実行します。 例:Remove-ProvVM -ProvisioningSchemeName “ProvisioningSchemeName” -VMName “vmname” -ForgetVM <!--NeedCopy--> -
Citrixデータベースからマシンカタログを削除し、マシンカタログからタグを削除するには、
Remove-ProvSchemeを実行します。例:Remove-ProvScheme -ProvisioningSchemeName “ProvisioningSchemeName” -ForgetVM <!--NeedCopy-->注:
プロビジョニングスキームがBYORG (bring your own resource group) またはCitrix管理リソースグループのいずれかに存在する場合、
Remove-ProvSchemeでForgetVMパラメーターを使用した後、MCSはベースディスクスナップショットを含むすべてのスナップショットを削除します。