Microsoft Azureカタログの管理
「マシンカタログの管理」では、マシンカタログを管理するウィザードについて説明します。以下の情報は、Microsoft Azure Resource Managerクラウド環境に固有の詳細について説明しています。
注:
Microsoft Azureカタログを管理する前に、Microsoft Azureカタログの作成を完了する必要があります。「Microsoft Azureカタログの作成」を参照してください。
電源を入れ直したときにプロビジョニングされた仮想マシンを保持する
電源を入れ直したときに、プロビジョニングされた仮想マシンを保持するかどうかを選択します。PowerShellパラメーターNew-ProvScheme CustomProperties
を使用します。このパラメーターではプロパティPersistVm
を追加することができ、これを使用して、電源を入れ直したときにプロビジョニングされた仮想マシンが保持されるかどうかを指定できます。PersistVm
プロパティをtrueに設定して、電源がオフのときに仮想マシンが保持されるように設定するか、プロパティをfalseに設定して、電源がオフのときに仮想マシンが保持されないように設定します。
注:
PersistVm
プロパティは、CleanOnBoot
およびUseWriteBackCache
のプロパティが有効なプロビジョニングスキームにのみ適用されます。非永続仮想マシンにPersistVm
プロパティが指定されていない場合、非永続仮想マシンは電源がオフのときにAzure環境から削除されます。
次の例では、New-ProvScheme CustomProperties
パラメーターでPersistVm
プロパティがtrueに設定されています:
<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="Standard_LRS" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="false" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
<Property xsi:type="StringProperty" Name="PersistVm" Value="true" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="demo-resourcegroup" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>
<!--NeedCopy-->
次の例では、New-ProvScheme CustomProperties
パラメーターでPersistVM
をtrueに設定することで、ライトバックキャッシュが維持されます:
New-ProvScheme
-AzureAdJoinType "None"
-CleanOnBoot
-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=`"Standard_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"false`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"PersistVm`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"demo-resourcegroup`" /><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Client`" /></CustomProperties>"
-HostingUnitName "demo"
-IdentityPoolName "NonPersistent-MCSIO-PersistVM"
-MasterImageVM "XDHyp:\HostingUnits\demo\image.folder\scale-test.resourcegroup\demo-snapshot.snapshot"
-NetworkMapping @ {"0"="XDHyp:\HostingUnits\demo\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\ji-test.resourcegroup\jitest-vnet.virtualprivatecloud\default.network"}
-ProvisioningSchemeName "NonPersistent-MCSIO-PersistVM"
-ServiceOffering "XDHyp:\HostingUnits\demo\serviceoffering.folder\Standard_B2ms.serviceoffering" -UseWriteBackCache
-WriteBackCacheDiskSize 127
-WriteBackCacheMemorySize 256
<!--NeedCopy-->
ヒント:
PersistVm
プロパティは、プロビジョニングされた仮想マシンを保持するかどうかを決定します。PersistOsdisk
プロパティは、OSディスクを永続化するかどうかを決定します。プロビジョニングされた仮想マシンを保持するには、最初にOSディスクを保持します。仮想マシンを削除してからでないと、OSディスクを削除することはできません。PersistVm
パラメーターを指定せずにPersistOsdisk
プロパティを使用することができます。
構成の更新のスケジュール設定
PowerShellコマンドSchedule-ProvVMUpdate
を使用して、既存のMCSプロビジョニング済みマシンの構成の更新について、時間枠をスケジュール設定できます。スケジュールされた時間枠内で電源をオンまたは再起動すると、スケジュールされたプロビジョニングスキームの更新がマシンに適用されます。
Request-ProvVMUpdate
とSchedule-ProvVMUpdate
コマンドの両方を実行すると、最新のコマンドが有効になります。
注:
Schedule-ProvVMUpdate
には、Request-ProvVMUpdate
のすべての機能とそれ以上の機能があります。最終的にRequest-ProvVMUpdate
はSchedule-ProvVMUpdate
に置き換わります。
Cancel-ProvVMUpdate
を使用して、スケジュールされた時刻の前に、構成の更新をキャンセルすることもできます。
スケジュール設定できるのは、以下の構成の更新です:
- 単一のVM
- プロビジョニングスキームIDまたはプロビジョニングスキーム名に関連付けられた複数のVM
- プロビジョニングスキームIDまたはプロビジョニングスキーム名に関連付けられたカタログ全体
構成の更新をスケジュール設定するには:
- PowerShellの[完全な構成]インターフェイスを使用してカタログを作成します。
- PowerShellウィンドウを開きます。
-
asnp citrix*
を実行し、Citrix固有のPowerShellモジュールをロードします。 -
既存のマシンの構成を確認します。たとえば、次のようになります:
Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion <!--NeedCopy-->
-
プロビジョニングスキームを更新して、カスタムプロパティ、マシンプロファイル、またはサービスオファリングを更新します。たとえば、次のようになります:
Set-ProvScheme –ProvisioningSchemeName “my-catalog” – MachineProfile“XDHyp:\HostingUnits<hosting-unit>\machineprofileinstance.vm” <!--NeedCopy-->
-
次のことを確認します:
- VMの現在のプロパティが現在のプロビジョニングスキームと一致している。
- VMに保留中の更新アクションがある。
たとえば、次のようになります:
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion <!--NeedCopy-->
-
Schedule-ProvVMUpdate
を実行して、次回、スケジュールされた時間帯にVMが起動したとき、最新のプロビジョニング設定に更新するようにスケジュールします。たとえば、次のようになります:-
開始時刻を現在時刻として更新をスケジュールするには:
Schedule-ProvVMUpdate -ProvisioningSchemeName " my-catalog " -VMName "vm1" -StartsNow -DurationInMinutes 120 <!--NeedCopy-->
-
週末に更新をスケジュールするには:
Schedule-ProvVMUpdate -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、またはカタログ全体の構成の更新をキャンセルすることもできます。構成の更新をキャンセルするには:
-
Cancel-ProvVMUpdate
を実行します。たとえば、次のようになります:-
単一のVMに対してスケジュールされた構成の更新をキャンセルするには:
Cancel-ProvVMUpdate -ProvisioningSchemeName " my-catalog " -VMName "vm1" <!--NeedCopy-->
-
複数のVMに対してスケジュールされた構成の更新をキャンセルするには:
Cancel-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2" <!--NeedCopy-->
-
注:
VMは同じカタログにある必要があります。
仮想マシンのシャットダウン時にストレージの種類をダウングレードする
仮想マシンのシャットダウン時に管理対象ディスクのストレージの種類をダウングレードすると、ストレージコストを節約できます。これを行うには、カスタムプロパティStorageTypeAtShutdown
を使用します。
仮想マシンをシャットダウンすると、ディスクのストレージの種類が(StorageTypeAtShutdown
カスタムプロパティで指定されたものに)ダウングレードされます。仮想マシンの電源をオンにすると、ストレージの種類が(カスタムプロパティStorageType
またはカスタムプロパティWBCDiskStorageType
で指定された)元に戻ります。
重要:
ディスクは、仮想マシンの電源を少なくとも1回オンにするまで存在しません。このため、仮想マシンの初回電源投入時にストレージの種類を変更することはできません。
要件:
- 管理対象ディスクに適用できます。これは、カスタムプロパティ
UseManagedDisks
をtrueに設定することを意味します。 - 永続OSディスクがある永続カタログおよび非永続カタログに適用できます。これは、カスタムプロパティ
persistOsDisk
をtrueに設定することを意味します。 - 永続WBCディスクがある非永続カタログに適用できます。これは、カスタムプロパティ
persistWBC
をtrueに設定することを意味します。
ストレージの種類をダウングレードするには:
-
カスタムプロパティ
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
を使用して、既存のカタログに仮想マシンを追加します。この機能は、Set-ProvScheme
の実行後に追加された新しい仮想マシンに適用されます。既存のマシンは影響を受けません。
仮想マシンを既存のカタログに追加するときにカスタムプロパティを設定する例:
$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-->
プロビジョニングされたマシンを現在のプロビジョニングスキームの状態に更新する
Set-ProvScheme
コマンドは、プロビジョニングスキームを変更します。ただし、既存のマシンには影響しません。PowerShellコマンドのRequest-ProvVMUpdate
を使用して、現在のプロビジョニングスキームを既存の永続的マシンや非永続的マシン、またはマシンのセットに適用できます。現在、AzureではServiceOffering
、 MachineProfile
、および次のカスタムプロパティを更新できます:
StorageType
WBCDiskStorageType
IdentityDiskStorageType
LicenseType
DedicatedHostGroupId
PersistWBC
PersistOsDisk
PersistVm
注:
Azure環境では、管理対象ディスクを使用してカタログの
StorageType
、WBCDiskStorageType
、およびIdentityDiskStorageType
のカスタムプロパティのみを更新できます。
以下を更新できます:
- 単一のVM
- プロビジョニングスキームIDに関連付けられている特定のVMまたはすべての既存のVMのリスト
- プロビジョニングスキーム名(マシンカタログ名)に関連付けられている特定のVMまたはすべての既存のVMのリスト
プロビジョニングスキームに次の変更を加えた後、Azureの永続カタログのVMインスタンスが再作成されます:
-
MachineProfile
を変更 -
LicenseType
を削除 -
DedicatedHostGroupId
を削除
注:
既存マシンのOSディスクとそのすべてのデータはそのまま残り、新しい仮想マシンはディスクに接続されます。
既存のVMを更新するには:
-
既存のマシンの構成を確認します。次に例を示します。
Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion <!--NeedCopy-->
-
プロビジョニングスキームを更新します。次に例を示します。
Set-ProvScheme –ProvisioningSchemeName “my-catalog” – ServiceOffering“XDHyp:\HostingUnits<hosting-unit>\machineprofileinstance.vm” <!--NeedCopy-->
-
VMの現在のプロパティが現在のプロビジョニングスキームと一致するかどうか、およびVMに保留中の更新アクションがあるかどうかを確認します。次に例を示します。
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion <!--NeedCopy-->
特定のバージョンのマシンを見つけることもできます。次に例を示します。
Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion <!--NeedCopy-->
-
既存のマシンを更新します。
-
すべての既存のマシンを更新するには、次に例を示します。
Request-ProvVMUpdate –ProvisioningSchemeName “my-catalog” <!--NeedCopy-->
-
特定のマシンのリストを更新するには:次に例を示します。
Request-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2" <!--NeedCopy-->
-
Get-ProvVMの出力に基づいてマシンを更新するには、次に例を示します。
Get-ProvVM -ProvisioningSchemeName "my-catalog" | Request-ProvVMUpdate <!--NeedCopy-->
-
-
スケジュール済みの更新があるマシンを見つけます。次に例を示します。
Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter <!--NeedCopy-->
-
マシンを再起動します。次回の電源投入時に、プロパティの変更が既存のマシンに適用されます。次のコマンドを使用して、更新されたステータスを確認できます。次に例を示します。
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion <!--NeedCopy-->
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” | |
PrepVM | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
公開されたスナップショット | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
Resource group | “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インベントリに表示されません。タグを削除するか名前を変更すると、表示できるようになります。