Azure VMの電源管理
必要な権限については、「必要なAzure権限」を参照してください。
Azureオンデマンドプロビジョニング
Azureオンデマンドプロビジョニングでは、プロビジョニングが完了した後、Citrix Virtual Apps and Desktops™が電源オンアクションを開始した場合にのみVMが作成されます。
MCSを使用してAzure Resource Managerでマシンカタログを作成する場合、Azureオンデマンドプロビジョニング機能は次のことを行います。
- ストレージコストを削減します
- より高速なカタログ作成を提供します
MCSカタログを作成すると、Azure portalにリソースグループ内のネットワークセキュリティグループ、ネットワークインターフェイス、ベースイメージ、およびIDディスクが表示されます。
Azure portalには、Citrix Virtual Apps and Desktopsが電源オンアクションを開始するまでVMは表示されません。次の違いを持つ2種類のマシンがあります。
- プールされたマシンの場合、オペレーティングシステムディスクとライトバックキャッシュはVMが存在する場合にのみ存在します。コンソールでプールされたマシンをシャットダウンすると、VMはAzure portalに表示されません。定期的にマシンをシャットダウンする場合(たとえば、勤務時間外)、ストレージコストを大幅に節約できます。
- 専用マシンの場合、オペレーティングシステムディスクはVMが最初に電源オンされたときに作成されます。Azure portalのVMは、マシンIDが削除されるまでストレージに残ります。コンソールで専用マシンをシャットダウンしても、VMはAzure portalに表示されたままになります。
注:
オンデマンドプロビジョニング機能の前に作成されたAzureカタログ(「レガシー」カタログ)のサポートは非推奨です。したがって、AzureレガシーカタログVMを再作成してください。カタログはオンデマンドとしてプロビジョニングされ、ストレージコストを節約できます。
電源サイクル時にプロビジョニングされた仮想マシンを保持する
電源サイクル時にプロビジョニングされた仮想マシンを保持するかどうかを選択します。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プロパティを使用できます。
ストレージタイプの変更失敗時の電源オン動作をカスタマイズする
電源オン時に、Azureでの障害により、マネージドディスクのストレージタイプが目的のタイプに変更できない場合があります。このようなシナリオでは、VMはオフのままで、障害メッセージが送信されます。ただし、ストレージが構成されたタイプに復元できない場合でもVMの電源をオンにするか、VMの電源をオフのままにするかを選択できます。
-
カスタムプロパティ
FailSafeStorageTypeを true (デフォルト設定) に構成した場合、またはNew-ProvSchemeまたはSet-ProvSchemeコマンドで指定しない場合:- 電源オン時、VMは誤ったストレージタイプで電源がオンになります。
- シャットダウン時、VMは誤ったストレージタイプでオフのままになります。
-
New-ProvSchemeまたはSet-ProvSchemeコマンドでカスタムプロパティFailSafeStorageTypeを false に構成した場合:- 電源オン時、VMは誤ったストレージタイプでオフのままになります。
- シャットダウン時、VMは誤ったストレージタイプでオフのままになります。
マシンカタログを作成するには:
- PowerShell ウィンドウを開きます。
- Citrix 固有の PowerShell モジュールをロードするには、
asnp citrix*を実行します。 - まだ作成されていない場合は、ID プールを作成します。
-
New-ProvSchemeにカスタムプロパティを追加します。例:New-ProvScheme -HostingUnitName "Azure-Resources-1" -IdentityPoolName "name" -InitialBatchSizeHint 1 -MasterImageVM "XDHyp:\HostingUnits\Azure-Resources-1\image.folder\abc.resourcegroup\def.snapshot" -NetworkMapping @{"0"="XDHyp:\HostingUnits\Azure-Resources-1\ght.folder\abc.resourcegroup\abc-vnet.virtualprivatecloud\default.network"} -ProvisioningSchemeName "name" -ServiceOffering "XDHyp:\HostingUnits\Azure-Resources-1\serviceoffering.folder\Standard_DS2_v2.serviceoffering" -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"> <Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Premium_LRS`" /> <Property xsi:type=`"StringProperty`" Name=`"StorageTypeAtShutdown`" Value=`"Standard_LRS`" /> <Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"true`" /> </CustomProperties>" <!--NeedCopy--> - マシンカタログを作成します。Remote PowerShell SDK を使用してカタログを作成する方法については、https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/ を参照してください。
既存のマシンカタログを更新して、FailSafeStorageType カスタムプロパティを含めます。この更新は既存の VM には影響しません。
-
Set-ProvSchemeコマンドでカスタムプロパティを更新します。例:
Set-ProvScheme -ProvisioningSchemeName <String> -CustomProperties "
<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
<Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Premium_LRS`" />
<Property xsi:type=`"StringProperty`" Name=`"IdentityDiskStorageType`" Value=`"Premium_LRS`" />
<Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"false`" />
</CustomProperties>"
<!--NeedCopy-->
Set-ProvScheme で行われた変更を既存の VM に適用するには、-StartsNow および -DurationInMinutes -1 パラメーターを指定して Set-ProvVMUpdateTimeWindow コマンドを実行します。
-
-StartsNowおよび-DurationInMinutes -1パラメーターを指定してSet-ProvVMUpdateTimeWindowコマンドを実行します。例:Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1 <!--NeedCopy--> -
VM を再起動します。
休止状態対応 VM の作成
Azure 環境では、休止状態をサポートする MCS マシンカタログを作成できます。この機能を使用すると、VM を一時停止し、ユーザーが再度サインインしたときに VM の以前の状態に再接続できます。
休止状態機能は以下に適用されます。
- シングルセッション OS
- 永続的および非永続的 VM
- 静的およびランダム (プールされた) VDI デスクトップ
VDI デスクトップが静的かランダムかに関わらず、VM を休止状態にした後、同じセッションに再開できます。
このセクションでは、以下を参照してください。
休止状態を使用するための前提条件
休止状態を使用するには、以下のタスクを完了していることを確認してください。
- Windows と Linux の両方のマスターイメージに Azure VM Agent をインストールします。Windows イメージのページファイルは一時ディスクに配置できます。マシンカタログで休止状態が有効になっている場合、MCS はページファイルの場所をベースディスクの C: ドライブに設定します。
- MCS は、生成されたリソースの休止状態プロパティを自動的に設定します。休止状態をサポートするために、マスターリソースのプロパティを構成する必要はありません。
- サブスクリプションで休止状態をサポートする VM サイズを使用します。
-
VM が休止状態機能を継承できるように、休止状態対応のマシンプロファイル (VM またはテンプレート仕様) を作成します。VM の作成については、休止状態の開始 を参照してください。
注:
Microsoftによると、OSディスクから休止状態が有効なVMを展開できます。この機能は現在、特定のリージョンでサポートされており、まもなくすべてのリージョンで利用可能になります。詳細については、「OSディスクから休止状態が有効なVMを展開する」を参照してください。
テンプレート仕様を作成するには、次の手順を実行します。
- Azure Portalを開きます。テンプレートで使用する構成を持つVMを選択します。左側のペインでテンプレートのエクスポートを選択します。
-
パラメーターを含めるチェックボックスをオフにします。コンテキストをコピーし、たとえば
VMExportTemplate.jsonのようにJSONファイルとして保存します。 - テンプレート上でパラメーター
hibernationEnabledがtrueであることを確認します。パラメーターがtrueでない場合は、使用したVM構成を確認してください。テンプレートファイルでサポートされているVMサイズを指定できます。ただし、カタログ作成時にマシンサイズを指定することもできます。 - ネットワークインターフェースリソースのテンプレートをJSONファイル
VMExportTemplate.jsonに追加します。その結果、2つのリソースを持つARMテンプレートファイルが作成されます。 - Azure Portal > テンプレート仕様 > テンプレートのインポート > ローカルテンプレートファイルの選択を選択して、このテンプレートファイルをARMテンプレート仕様としてインポートします。
- ARMテンプレート仕様が作成されたら、それをマシンプロファイルとして使用できます。
注:
Citrix Studioに同期されるまで数分かかる場合があります。
詳細については、Microsoftドキュメント「休止状態を使用するための前提条件」を参照してください。
制限事項
- シングルセッションOSマシンカタログ(永続的および非永続的)のみがサポートされています。
- エフェメラルOSディスクとMCS I/O機能は、Azureの休止状態をサポートしていません。
- 自動Windowsアップデート中に休止状態が失敗する可能性があります。
詳細については、Microsoft ドキュメントを参照してください。
休止状態対応のマシンカタログを作成および管理する
休止状態対応のVMを作成するには、以下を使用して休止状態対応のマシンカタログを作成および管理できます。
- ウェブスタジオ、または
- パワーシェル コマンド
Web Studio を使用してカタログを作成する
- 「マシンカタログの作成」を選択します。カタログ作成ウィザードが開きます。
- 「マシンタイプ」ページで、このカタログの「シングルセッション OS」マシンタイプを選択します。
-
「マシン管理」ページで、次のように設定を選択します。
- 「電源管理されているマシン(仮想マシンやブレードPCなど)」を選択します。
- Citrix マシン作成サービス™ (MCS) を選択します。
- 「デスクトップエクスペリエンス」ページで、必要に応じてランダムまたは静的デスクトップエクスペリエンスを選択します。
- 「イメージ」ページで、マスターイメージを選択します。「マシンプロファイルを使用」チェックボックスを選択し、休止状態をサポートするマシンプロファイルを選択します。ツールチップをクリックして、マシンプロファイルが休止状態をサポートしているかどうかを確認します。
- 「ストレージとライセンスの種類」ページで、このカタログに使用するストレージとライセンスを選択します。
-
「仮想マシン」ページで、VMの数、VMサイズ、および可用性ゾーンを選択します。
「注:」
休止状態をサポートするマシンサイズのみが、選択肢として表示されます。
- 「NIC」ページで、VMで使用するNICを追加します。
- 「ディスク設定」ページで、ライトバックキャッシュディスクのストレージタイプとサイズを選択します。
- 「リソースグループ」ページで、VMをプロビジョニングするリソースグループを選択します。
- 「マシンID」ページで、「新しいActive Directoryアカウントを作成」を選択します。次に、アカウントの命名スキームを指定します。
- 「ドメイン資格情報」ページで、「資格情報を入力」をクリックします。ターゲットのActive Directoryドメインでアカウント作成を実行するために、ドメイン資格情報を入力します。
- 「概要」ページで、マシンカタログの名前を入力し、「完了」をクリックします。
MCSマシンカタログの作成が完了したら、カタログリストでカタログを見つけ、「テンプレートプロパティ」タブをクリックします。パラメーター「休止状態」の値は「サポート済み」である必要があります。
マシンカタログを編集する場合、次の制限事項を考慮してください。
- 現在のマシンカタログが休止状態をサポートしている場合、次のことはできません。
- VMサイズを休止状態に対応していないものに変更する。
- マシンプロファイルを休止状態に対応していないものに変更する。
- 現在のマシンカタログが休止状態をサポートしていない場合、次のことはできません。
- 現在、Web Studio を使用して、マシンプロファイルを休止状態対応のものに変更します。
既存の休止状態対応 VM を管理するためのマシンカタログを作成する
休止状態対応の VM をすでに持っていて、それらを一時停止および再開したい場合は、それらの VM を電源管理のためにインポートするマシンカタログを作成します。
注:
休止状態対応と非対応の両方の VM を含むマシンカタログを作成できます。ただし、休止状態関連の機能が必要な場合は、休止状態対応の VM のみを含むマシンカタログを作成する必要があります。
Web Studio を使用して既存の休止状態対応 VM のカタログを作成するには、画面の指示に従って手順を完了し、以下の主要な設定に注意してください。
- マシン管理ページで、電源管理されているマシンを選択し、マシンの展開方法としてその他のサービスまたはテクノロジーを選択します。
- 仮想マシンページで、休止状態対応の VM のみを追加またはインポートします。
PowerShell コマンドを使用してマシンカタログを作成する
休止状態を使用するためのすべての要件を満たした後、New-ProvSchemeコマンドを使用して休止状態対応のマシンカタログを作成できます。Remote PowerShell SDK を使用してカタログを作成する方法については、New-ProvSchemeを参照してください。
カタログの作成中に、以下の PowerShell コマンドを使用して、VM サイズとマシンプロファイルが休止状態をサポートしているかどうかを確認できます。
-
VM サイズの場合、次のコマンドを実行し、プロパティ
supportsHibernationがTrueであるかどうかを確認します。例:Get-ChildItem -AdminAddress "MyDDC.MyDomain.local" -LiteralPath @("XDHyp:\HostingUnits\ <VirtualNetwork> \serviceoffering.folder") | select Name, AdditionalData | ConvertTo-Json <!--NeedCopy--> -
マシンプロファイルの場合、次のコマンドを実行し、プロパティ
supportsHibernationがTrueであるかどうかを確認します。例:Get-ChildItem -AdminAddress "MyDDC.MyDomain.local" -LiteralPath @("XDHyp:\HostingUnits\ <VirtualNetwork> \machineprofile.folder\abc.resourcegroup")|select Name, AdditionalData|ConvertTo-Json <!--NeedCopy-->
マシンカタログを編集する場合は、以下の制限事項を考慮してください。
- 現在のマシンカタログが休止状態をサポートしている場合、次のことはできません。
- VMサイズを休止状態にできないものに変更する
- マシンプロファイルを休止状態にできないものに変更する
- 現在のマシンカタログが休止状態をサポートしていない場合、次のことはできません。
- 現在、Web Studioを使用してマシンプロファイルを休止状態にできるものに変更する。
Remote PowerShell SDKを使用してカタログのVMサイズとマシンプロファイルを変更する方法については、https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/MachineCreation/Set-ProvScheme/を参照してください。
休止プロパティの確認
マシンカタログ、VM、およびブローカーマシンの休止プロパティは、PowerShellコマンドを使用して確認できます。
-
プロビジョニングスキームの休止プロパティを確認するには、次のPowerShellコマンドを実行します。
HibernationEnabledパラメーターはTrueである必要があります。(Get-ProvScheme -provisioningSchemeName <YourSchemeName>).VMMetadata -join "" | ConvertFrom-Json | Select HibernationEnabled <!--NeedCopy--> -
プロビジョニングVMの休止プロパティを確認するには、次のPowerShellコマンドを実行します。
SupportsHibernationパラメーターはTrueである必要があります。(Get-ProvVM -VMName <YourVMName>).CustomVmData | ConvertFrom-Json | Select SupportsHibernation <!--NeedCopy--> -
ブローカーマシンの休止容量を確認するには、次のPowerShellコマンドを実行します。SuspendおよびResume電源アクションは、休止機能を示します。
(Get-BrokerMachine -MachineName <YourMachineName>).SupportedPowerActions <!--NeedCopy-->
休止状態対応VMの電源管理
休止状態対応VMに対して、次の電源管理操作を実行できます。
- 実行状態のVMを一時停止する
- 一時停止状態のVMを再開する
- 一時停止状態のVMを強制シャットダウンする
- 中断状態からVMを強制再起動する
詳細については、以下を参照してください:
中断
VMを中断するには、次のいずれかの方法を使用できます:
- Web Studioを使用して手動で
- タイムアウトポリシーを使用して自動的に: 詳細については、「その他の設定」を参照してください。
VMを手動で中断するには:
-
VMを右クリックし、中断を選択します。アクションを確定するには、はいをクリックします。電源状態が中断中から中断済みに変わります。

Azure portalでVMのステータスを確認できます。

再開
休止状態のVMを再開するには、次のいずれかの方法を使用します:
-
手動で:
-
管理者はWeb Studioを使用してVMを再開できます。

-
エンドユーザーは、デスクトップアイコンをクリックすると、Citrix Workspace™メニューを使用してVMを起動できます。

-
-
自動的に:
-
Autoscale™は、ピーク時間を正しく構成した場合、休止状態のマシンを自動的に電源オンにできます。タイムスケジュールをクリックすることで、ピーク時間を30分間隔で設定できます。各青いフレームは、ピーク時間としてマークされたタイムスロットを表します。ピーク時間には、連続したタイムスロットと非連続のタイムスロットを設定できます。
-
連続したタイムスロット

-
非連続のタイムスロット

-
-
注:
Autoscaleの管理 > 負荷ベースの設定で、アクションが中断として構成されている場合、そのデリバリーグループ内のすべてのVMが休止機能を備えていることを確認してください。そうでない場合、休止できないVMは実行を継続します。

詳細情報
Citrix Azure ハイバネーションの詳細については、Citrix Tech Zone の記事を参照してください。