Microsoft Azureカタログの管理
注:
2023年7月より、MicrosoftはAzure Active Directory(Azure AD)の名前をMicrosoft Entra IDに変更しました。このドキュメントでは、Azure Active Directory、Azure AD、またはAADへの言及はすべて、Microsoft Entra IDを意味することになります。
「マシンカタログの管理」では、マシンカタログを管理するウィザードについて説明します。以下の情報は、Microsoft Azure Resource Managerクラウド環境に固有の詳細について説明しています。
注:
Microsoft Azureカタログを管理する前に、Microsoft Azureカタログの作成を完了する必要があります。「Microsoft Azureカタログの作成」を参照してください。
仮想マシンのシャットダウン時にストレージの種類をダウングレードする
仮想マシンのシャットダウン時に管理対象ディスクのストレージの種類をダウングレードすると、ストレージコストを節約できます。これを行うには、カスタムプロパティStorageTypeAtShutdown
を使用します。
仮想マシンをシャットダウンすると、ディスクのストレージの種類が(カスタムプロパティStorageTypeAtShutdown
で指定されたものに)ダウングレードされます。仮想マシンの電源をオンにすると、ストレージの種類が(カスタムプロパティStorageType
またはカスタムプロパティWBCDiskStorageType
で指定された)元に戻ります。
重要:
- ディスクは、仮想マシンの電源を少なくとも1回オンにするまで存在しません。このため、仮想マシンの初回電源投入時にストレージの種類を変更することはできません。
- ストレージの種類をダウングレードすると、VMの起動にかかる時間が少し長くなる場合があります。
要件
- 管理対象ディスクに適用できます。これは、カスタムプロパティ
UseManagedDisks
をtrueに設定することを意味します。 - 永続OSディスクがある永続カタログおよび非永続カタログに適用できます。これは、カスタムプロパティ
persistOsDisk
をtrueに設定することを意味します。 - 永続WBCディスクがある非永続カタログに適用できます。これは、カスタムプロパティ
persistWBC
をtrueに設定することを意味します。
制限事項
- Microsoftによると、ディスクの種類を変更できるのは1日に2回のみです。Microsoftドキュメントを参照してください。Citrixに関しては、
StorageType
の更新はVMの開始または割り当て解除操作があるたびに行われます。したがって、VMごとの電源操作の数を1日あたり2回に制限します。たとえば、朝に1回の電源操作でVMを起動し、夕方にもう1回の電源操作でVMの割り当てを解除します。
ストレージの種類をダウングレードするには
-
カスタムプロパティ
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
で定義されたプロパティよりも優先されます。 - 仮想マシンをシャットダウンし、Azure Portalで仮想マシンのストレージの種類を確認します。ディスクのストレージの種類がカスタムプロパティ
StorageTypeAtShutdown
で指定されたものにダウングレードされます。 - 仮想マシンの電源を入れます。ディスクのストレージの種類は、以下に記載されているストレージの種類に切り替わります:
- OSディスクのカスタムプロパティ
StorageType
-
CustomProperties
で指定した場合のみWBCディスクのカスタムプロパティWBCDiskStorageType
。それ以外の場合は、StorageType
に記載されているストレージの種類に切り替わります。
- OSディスクのカスタムプロパティ
StorageTypeAtShutdown
を既存のカタログに適用する
Set-ProvScheme
を使用して、既存のカタログに追加された新しいVMにStorageTypeAtShutdown
を適用します。
仮想マシンを既存のカタログに追加するときにカスタムプロパティを設定する例:
$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のストレージの種類を下位レベルに変更することで、ストレージコストを節約できます。
VMのシャットダウン時に、カタログ内の既存のマシンのストレージの種類を下位レベルに変更するには、次の手順を実行します:
- PowerShellウィンドウを開きます。
-
asnp citrix*
を実行し、Citrix固有のPowerShellモジュールをロードします。 -
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
の実行後に追加された新しい仮想マシンに適用されます。Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties <!--NeedCopy-->
-
既存のVMを更新して
StorageTypeAtShutdown
を有効にします。Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -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-->
Azureで従来のMCSカタログをマシンプロファイルベースのカタログに変換
非マシンプロファイルベースのマシンカタログをマシンプロファイルベースのマシンカタログに変換するには、次の手順を完了します:
- [マシンカタログ] ページで、変換するマシンカタログ名を右クリックし、[マシンカタログの編集] を選択します。
- [マシンカタログの編集]>[マシンプロファイル] ページで、[マシンプロファイルを使用する(Azure Active Directoryでは必須)] チェックボックスをオンにします。
- [マシンプロファイルを選択] をクリックします。
- [マシンプロファイルを選択] ページで、マシンプロファイルとして使用する仮想マシンまたは起動テンプレートを選択します。
- 現在の設定の一部が新しいマシンプロファイル設定と異なる場合は、使用する設定に必要なオプションを選択し、[続行] をクリックします。
- [適用] をクリックします。
プロビジョニングされたマシンを現在のプロビジョニングスキームの状態に更新する
Set-ProvScheme
コマンドは、プロビジョニングスキームを変更します。ただし、既存のマシンには影響しません。PowerShellコマンドのSet-ProvVMUpdateTimeWindow
を使用して、現在のプロビジョニングスキームを既存の永続的マシンや非永続的マシン、またはマシンのセットに適用できます。 既存のMCSプロビジョニング済みマシンの構成の更新について、時間枠をスケジュール設定できます。スケジュールされた時間枠内で電源をオンまたは再起動すると、スケジュールされたプロビジョニングスキームの更新がマシンに適用されます。現在、Azureでは、ServiceOffering
、 MachineProfile
および次のカスタムプロパティを更新できます:
StorageType
WBCDiskStorageType
IdentityDiskStorageType
LicenseType
DedicatedHostGroupId
PersistWBC
PersistOsDisk
PersistVm
注:
- Azure環境では、管理対象ディスクを使用してカタログの
StorageType
、WBCDiskStorageType
、およびIdentityDiskStorageType
のカスタムプロパティのみを更新できます。Set-ProvVMUpdateTimeWindow
を2回実行すると、最新のコマンドが有効になります。
以下を更新できます:
- 単一のVM
- プロビジョニングスキームIDに関連付けられている特定のVMまたはすべての既存のVMのリスト
- プロビジョニングスキーム名(マシンカタログ名)に関連付けられている特定のVMまたはすべての既存のVMのリスト
プロビジョニングスキームに次の変更を加えた後、Azureの永続カタログのVMインスタンスが再作成されます:
-
MachineProfile
を変更 -
LicenseType
を削除 -
DedicatedHostGroupId
を削除
注:
既存マシンのOSディスクとそのすべてのデータはそのまま残り、新しい仮想マシンはディスクに接続されます。
既存の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環境にのみ適用されます。
以下は、現在更新できるプロパティです:
CustomProperties
ServiceOffering
MachineProfile
この機能を使用することで、以下のことを実行できます:
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-->
スケジュールされた更新について詳しくは、「プロビジョニングされたマシンを現在のプロビジョニングスキームの状態に更新する」を参照してください。
注:
保留中のプロビジョニングスキームの更新も適用されます。
-
仮想マシンを再起動します。例:
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-->
-
仮想マシンを再起動します。例:
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-->
-
仮想マシンを再起動します。例:
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のディスク暗号化の種類を1つの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マシンカタログ)でディスク暗号化を有効にします。ProxyHypervisorTrafficThroughConnector
について詳しくは、「Azure管理トラフィックのための安全な環境の作成」を参照してください。プライベートエンドポイントでディスク暗号化を有効にする方法について詳しくは、「プライベートエンドポイントでディスク暗号化を有効にする」を参照してください。
プライベートエンドポイントでディスク暗号化を有効にする
Azureの制限により、現在、プライベートエンドポイントに対して顧客管理キーを使用したサーバー側暗号化を行うことはできません。ただし、既存のMCSマシンカタログとVMをプライベートエンドポイントで更新して、DESキーで暗号化することができます。
プライベートエンドポイントを使用して既存のマシンカタログを更新する
既存のマシンカタログをプライベートエンドポイントで更新する詳細な手順は次のとおりです:
-
ProxyHypervisorTrafficThroughConnector
でディスク暗号化を使用せずにカタログを作成します。ProxyHypervisorTrafficThroughConnector
について詳しくは、「Azure管理トラフィックのための安全な環境の作成」を参照してください。 -
Set-ProvScheme
を実行してDiskEncryptionSetId
でカタログを更新します。注:
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-->
または、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
でディスク暗号化を使用せずにカタログを作成します。ProxyHypervisorTrafficThroughConnector
について詳しくは、「Azure管理トラフィックのための安全な環境の作成」を参照してください。 -
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をカタログに追加します。
Azure VM、スナップショット、OSディスク、およびギャラリーイメージ定義の情報の取得
OSディスクと種類、スナップショット、ギャラリーイメージ定義など、Azure VMの情報を表示できます。この情報は、マシンカタログが割り当てられている場合にマスターイメージ上のリソースに関して表示されます。この機能を使用して、LinuxまたはWindowsイメージを表示および選択します。PowerShellプロパティTemplateIsWindowsTemplate
がAdditionDatafield
パラメーターに追加されました。このフィールドには、Azure固有の情報(VMタイプ、OSディスク、ギャラリーイメージ情報、OSの種類情報)が含まれます。TemplateIsWindowsTemplate
をTrueに設定することで、OSの種類がWindowsであることを示します。TemplateIsWindowsTemplate
をFalseに設定することで、OSの種類がLinuxであることを示します。
ヒント:
PowerShellプロパティ
TemplateIsWindowsTemplate
によって表示される情報は、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-->
Azure仮想マシン、管理対象ディスク、スナップショット、Azure VHD、およびARMテンプレートのリージョン名情報を取得
Azure仮想マシン、管理対象ディスク、スナップショット、Azure VHD、およびARMテンプレートのリージョン名情報を表示できます。この情報は、マシンカタログが割り当てられている場合に、マスターイメージ上のリソースに関して表示されます。RegionName
というPowerShellプロパティは、AdditionalData
パラメーターを指定してPowerShellコマンドを実行すると、リージョン名情報を表示します。
たとえば、次のPowerShellコマンドを使用して、Azureの仮想マシン情報を取得します。
PS C:\Windows\system32> (get-item XDHyp:\HostingUnits\myAzureNetwork\image.folder\hu-dev-testing-rg.resourcegroup\hu-dev-tsvda.vm).AdditionalData
Key Value
HardDiskSizeGB 127
ResourceGroupName HU-DEV-TESTING-RG
RegionName East US
TemplateIsWindowsTemplate True
LicenseType
ServiceOfferingDescription Standard_B2ms
ServiceOfferingMemory 8192
ServiceOfferingCores 2
SupportedMachineGenerations Gen1,Gen2
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SecurityType
SecureBootEnabled
VTpmEnabled
<!--NeedCopy-->
MCSによって作成されたリソースの特定
以下は、MCSがAzureプラットフォームのリソースに追加するタグです。表のタグは、「”キー”:”値”」として表示されます。
リソース名 | タグ |
---|---|
IDディスク | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
イメージ | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
NIC | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
OSディスク | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
準備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” : “Internal” | |
WBCディスク | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” |
注:
MCSによって作成されたリソースとして識別するためにCitrixResourceタグが追加されている場合、VMはCitrixインベントリに表示されません。タグを削除するか名前を変更すると、表示できるようになります。
タグの削除
カタログまたは 仮想マシンを作成すると、次のリソースにタグが作成されます:
- リソースグループ
- 仮想マシン
- OSディスク
- IDディスク
- ネットワークインターフェイス
- ストレージアカウント
仮想マシンとマシンカタログをCitrixデータベースから削除し、タグを削除できます。以下を使用できます:
-
Remove-ProvVM
をForgetVM
パラメーターとともに使用して、マシンカタログの単一の仮想マシンまたは仮想マシンの一覧から仮想マシンとタグを削除します。 -
Remove-ProvScheme
をForgetVM
パラメーターとともに使用して、Citrixデータベースから単一のマシンカタログを削除し、マシンカタログ全体からタグを削除します。
この機能は、永続的な仮想マシンにのみ適用されます。
これを行うには、以下の手順を実行します:
- PowerShellウィンドウを開きます。
- asnp citrix*を実行し、Citrix固有のPowerShellモジュールをロードします。
-
Remove-ProvVM
を実行して、Citrixデータベースから仮想マシンを削除し、仮想マシンからタグを削除します。 例:Remove-ProvVM -ProvisioningSchemeName “ProvisioningSchemeName” -VMName “vmname” -ForgetVM <!--NeedCopy-->
-
Remove-ProvScheme
を実行して、Citrixデータベースからマシンカタログを削除し、マシンカタログからタグを削除します。例:Remove-ProvScheme -ProvisioningSchemeName “ProvisioningSchemeName” -ForgetVM <!--NeedCopy-->
注:
Remove-ProvScheme
でForgetVM
パラメーターを使用した後、プロビジョニングスキームが独自のリソースグループ(BYORG)またはCitrix管理のリソースグループのいずれかに存在する場合、MCSは基本ディスクのスナップショットを含むすべてのスナップショットを削除します。