マイクロソフト Azure カタログを作成する
(/ja-jp/citrix-virtual-apps-desktops/2311/install-configure/machine-catalogs-create.html)では、マシンカタログを作成するウィザードについて説明しています。以下の情報は、Microsoft Azure Resource Managerクラウド環境に固有の詳細を扱っています。
注:
Microsoft Azureカタログを作成する前に、Microsoft Azureへの接続の作成を完了する必要があります。(/ja-jp/citrix-virtual-apps-desktops/2311/install-configure/connections/connection-azure-resource-manager.html)を参照してください。
マシンカタログを作成する
マシンカタログは2つの方法で作成できます。
- Web StudioでAzure Resource Managerイメージを使用してマシンカタログを作成する(/ja-jp/citrix-virtual-apps-desktops/2311/install-configure/machine-catalogs-create/create-machine-catalog-citrix-azure.html#create-a-machine-catalog-using-an-azure-resource-manager-image-in-web-studio)
- PowerShellを使用してマシンカタログを作成する(/ja-jp/citrix-virtual-apps-desktops/2311/install-configure/machine-catalogs-create/create-machine-catalog-citrix-azure.html#create-a-machine-catalog-using-powershell)
Web StudioでAzure Resource Managerイメージを使用してマシンカタログを作成する
イメージとは、マシンカタログ内のVMを作成するために使用される、Azure Compute Gallery内のディスク、スナップショット、またはイメージ定義のイメージバージョンを指します。マシンカタログを作成する前に、Azure Resource Managerでイメージを作成してください。イメージに関する一般的な情報については、(/ja-jp/citrix-virtual-apps-desktops/2311/install-configure/machine-catalogs-create.html)を参照してください。
注:
ホスト接続で構成されているものとは異なるリージョンからのマスターイメージの使用は非推奨です。マスターイメージを目的のリージョンにレプリケートするには、Azure Compute Galleryを使用してください。
MCSマシンカタログを作成する際、DHCPの有効化やライセンスの再アクティブ化などの準備タスクを実行するために、元のVMに基づいて一時的なVMが作成されます。この一時的なVMは準備VMと呼ばれます。この準備VMの名前はPreparati-84x9nという形式に従い、最後の5文字は重複を避けるためにランダムに生成されます。この準備VMの命名規則は固定されており、カスタマイズすることはできません。準備タスクが完了すると、準備VMは破棄されます。
準備VMからネットワークを切断するために、すべてのインバウンドおよびアウトバウンドトラフィックを拒否するネットワークセキュリティグループが作成されます。ネットワークセキュリティグループはカタログごとに1回自動的に作成されます。ネットワークセキュリティグループの名前はCitrix-Deny-All-a3pgu-GUIDで、GUIDはランダムに生成されます。例: Citrix-Deny-All-a3pgu-3f161981-28e2-4223-b797-88b04d336dd1。
マシンカタログ作成ウィザードで:
-
「Machine Type」ページと「Machine Management」ページには、Azure固有の情報は含まれていません。(/ja-jp/citrix-virtual-apps-desktops/2311/install-configure/machine-catalogs-create.html)の記事のガイダンスに従ってください。
-
「Master Image」ページで、カタログ内のすべてのマシンでマスターイメージとして使用するイメージを選択します。「Select an image」ウィザードが表示されます。
- (テナント内またはテナント間で共有イメージを使用して構成された接続にのみ適用されます) イメージが存在するサブスクリプションを選択します。
- リソースグループを選択します。
- Azure VHD、Azure Compute Gallery、またはAzureイメージバージョンに移動します。必要に応じて、選択したイメージにメモを追加します。
イメージを選択する際は、次の点を考慮してください。
- イメージにCitrix VDAがインストールされていることを確認します。
- VMに接続されているVHDを選択した場合、次のステップに進む前にVMをシャットダウンする必要があります。
注:
- カタログ内のマシンを作成した接続(ホスト)に対応するサブスクリプションは、緑色の点で示されます。その他のサブスクリプションは、Azure Compute Galleryがそのサブスクリプションと共有されているものです。これらのサブスクリプションでは、共有ギャラリーのみが表示されます。共有サブスクリプションの構成方法については、(/ja-jp/citrix-virtual-apps-desktops/2311/install-configure/connections/connection-azure-resource-manager.html#share-images-within-a-tenant-across-subscriptions)および(/ja-jp/citrix-virtual-apps-desktops/2311/install-configure/connections/connection-azure-resource-manager.html#share-images-across-tenants)を参照してください。
- 信頼できる起動が有効になっているイメージまたはスナップショットを選択する場合、セキュリティの種類として信頼できる起動を持つマシンプロファイルを使用することが必須です。その後、マシンプロファイルでSecureBootとvTPMの値を指定することで、それらを有効または無効にできます。信頼できる起動は、Shared Image Galleryではサポートされていません。Azureの信頼できる起動の詳細については、https://docs.microsoft.com/ja-jp/azure/virtual-machines/trusted-launchを参照してください。
- 信頼できる起動を有効にしたWindowsで、エフェメラルOSディスクを使用してプロビジョニングスキームを作成できます。信頼できる起動が有効なイメージを選択する場合、vTPMが有効な信頼できる起動を持つマシンプロファイルを選択する必要があります。エフェメラルOSディスクを使用してマシンカタログを作成するには、(#azure-ephemeral-disks)を参照してください。
- イメージのレプリケーションが進行中の場合でも、イメージをマスターイメージとして選択し、セットアップを完了できます。ただし、イメージのレプリケーション中にカタログ作成が完了するまでに時間がかかる場合があります。MCSは、カタログ作成から1時間以内にレプリケーションが完了することを要求します。レプリケーションがタイムアウトすると、カタログ作成は失敗します。Azureでレプリケーションステータスを確認できます。レプリケーションがまだ保留中の場合、またはレプリケーションが完了した後に、もう一度試してください。
- Azureでマシンカタログのマスターイメージを選択すると、MCSは選択したマスターイメージとマシンプロファイルに基づいてOSタイプを識別します。MCSが識別できない場合は、マスターイメージに一致するOSタイプを選択してください。
- Gen2イメージを使用してGen2 VMカタログをプロビジョニングすることで、起動時間のパフォーマンスを向上させることができます。ただし、Gen1イメージを使用してGen2マシンカタログを作成することはサポートされていません。同様に、Gen2イメージを使用してGen1マシンカタログを作成することもサポートされていません。また、世代情報を持たない古いイメージはすべてGen1イメージです。
カタログ内のVMがマシンプロファイルから構成を継承するかどうかを選択します。デフォルトでは、マシンプロファイルを使用する(Azure Active Directoryに必須)チェックボックスが選択されています。マシンプロファイルを選択をクリックして、リソースグループのリストからVMまたはARMテンプレート仕様を参照します。
ARMテンプレート仕様を検証して、マシンカタログを作成するためのマシンプロファイルとして使用できることを確認します。ARMテンプレート仕様を検証する方法は2つあります。
- リソースグループリストからARMテンプレート仕様を選択した後、次へをクリックします。ARMテンプレート仕様にエラーがある場合、エラーメッセージが表示されます。
- 次のPowerShellコマンドのいずれかを実行します。
Test-ProvInventoryItem -HostingUnitName <string> -InventoryPath <string>Test-ProvInventoryItem -HostingUnitUid <Guid> -InventoryPath <string>
VMがマシンプロファイルから継承できる構成の例は次のとおりです。
- アクセラレーテッドネットワーク
- ブート診断
- ホストディスクキャッシュ(OSおよびMCSIOディスクに関連)
- マシンサイズ(別途指定がない限り)
- VMに配置されたタグ
カタログを作成した後、イメージがマシンプロファイルから継承する構成を表示できます。マシンカタログノードで、カタログを選択して下部ペインでその詳細を表示します。次に、テンプレートプロパティタブをクリックして、マシンプロファイルのプロパティを表示します。タグセクションには最大3つのタグが表示されます。VMに配置されたすべてのタグを表示するには、すべて表示をクリックします。
MCSでAzure専用ホストにVMをプロビジョニングする場合は、専用ホストグループを使用するチェックボックスを有効にしてから、リストからホストグループを選択します。ホストグループは、専用ホストのコレクションを表すリソースです。専用ホストは、1つ以上のVMをホストする物理サーバーを提供するサービスです。サーバーはAzureサブスクリプション専用であり、他のサブスクライバーと共有されません。専用ホストを使用すると、AzureはVMがそのホストで実行されている唯一のマシンであることを保証します。この機能は、規制または内部セキュリティ要件を満たす必要があるシナリオに適しています。ホストグループとその使用に関する考慮事項の詳細については、Azure dedicated hostsを参照してください。
重要:
- Azure の自動配置が有効になっているホストグループのみが表示されます。
- ホストグループを使用すると、ウィザードの後半で表示される 仮想マシン ページが変更されます。選択したホストグループに含まれるマシンサイズのみがそのページに表示されます。また、可用性ゾーンは自動的に選択され、選択できません。
-
ストレージとライセンスの種類 ページは、Azure Resource Manager イメージを使用している場合にのみ表示されます。

マシンカタログで使用できるストレージの種類は次のとおりです。
- Premium SSD。I/O 集中型ワークロードを持つ VM に適した、高性能で低遅延のディスクストレージオプションを提供します。
- Standard SSD。低い IOPS レベルで一貫したパフォーマンスを必要とするワークロードに適した、費用対効果の高いストレージオプションを提供します。
- Standard HDD。待機時間に影響されないワークロードを実行する VM に適した、信頼性の高い低コストのディスクストレージオプションを提供します。
-
Azure エフェメラル OS ディスク。VM のローカルディスクを再利用してオペレーティングシステムディスクをホストする、費用対効果の高いストレージオプションを提供します。または、PowerShell を使用してエフェメラル OS ディスクを使用するマシンを作成することもできます。詳細については、「Azure エフェメラルディスク」を参照してください。エフェメラル OS ディスクを使用する際の以下の考慮事項に注意してください。
- Azure エフェメラル OS ディスクと MCS I/O は同時に有効にできません。
- エフェメラル OS ディスクを使用するマシンを更新するには、VM のキャッシュディスクまたは一時ディスクのサイズを超えないイメージを選択する必要があります。
- ウィザードの後半で提供される 電源サイクル中に VM とシステムディスクを保持する オプションは使用できません。
注:
ID ディスクは、選択したストレージの種類に関係なく、常に Standard SSD を使用して作成されます。
ストレージの種類によって、ウィザードの 仮想マシン ページで提供されるマシンサイズが決まります。MCS は、プレミアムディスクと標準ディスクをローカル冗長ストレージ (LRS) を使用するように構成します。LRS は、単一のデータセンター内でディスクデータの複数の同期コピーを作成します。Azure エフェメラル OS ディスクは、VM のローカルディスクを使用してオペレーティングシステムを保存します。Azure ストレージの種類とストレージレプリケーションの詳細については、以下を参照してください。
- https://docs.microsoft.com/ja-jp/azure/storage/common/storage-introduction/
- https://docs.microsoft.com/ja-jp/azure/virtual-machines/premium-storage-performance/
- https://docs.microsoft.com/ja-jp/azure/storage/common/storage-redundancy/
既存のWindowsライセンスまたはLinuxライセンスを使用するかどうかを選択します。
-
Windowsライセンス: WindowsライセンスをWindowsイメージ(Azureプラットフォームサポートイメージまたはカスタムイメージ)とともに使用すると、AzureでWindows VMを低コストで実行できます。ライセンスには2種類あります。
-
Windows Serverライセンス。Windows ServerまたはAzure Windows Serverライセンスを使用でき、Azure Hybrid Benefitsを利用できます。詳細については、https://azure.microsoft.com/ja-jp/pricing/hybrid-benefit/を参照してください。Azure Hybrid Benefitは、AzureでVMを実行するコストを基本コンピューティング料金に削減し、Azureギャラリーからの追加のWindows Serverライセンスのコストを免除します。
-
Windows Client ライセンス。Windows 10およびWindows 11のライセンスをAzureに持ち込み、追加のライセンスなしでAzureでWindows 10およびWindows 11の仮想マシンを実行できます。詳細については、Client Access Licenses and Management Licensesを参照してください。
-
プロビジョニングされたVMがライセンス特典を使用していることを、次のPowerShellコマンドを実行して確認できます:
Get-AzVM -ResourceGroup MyResourceGroup -Name MyVM。-
Windows Serverライセンスタイプの場合、ライセンスタイプがWindows_Serverであることを確認します。詳細な手順はhttps://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/hybrid-use-benefit-licensing/で入手できます。
-
Windows Clientライセンスタイプの場合、ライセンスタイプがWindows_Clientであることを確認します。詳細な手順はhttps://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/windows-desktop-multitenant-hosting-deployment/で入手できます。
または、
Get-ProvschemePowerShell SDKを使用して検証を行うこともできます。例:Get-Provscheme -ProvisioningSchemeName "My Azure Catalog"。このコマンドレットの詳細については、https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/MachineCreation/Get-ProvScheme/を参照してください。-
Linuxライセンス: 持ち込みサブスクリプション(BYOS)Linuxライセンスを使用すると、ソフトウェアの料金を支払う必要はありません。BYOS料金には、コンピューティングハードウェア料金のみが含まれます。ライセンスには2種類あります。
- RHEL_BYOS: RHEL_BYOSタイプを正常に使用するには、AzureサブスクリプションでRed Hat Cloud Accessを有効にします。
- SLES_BYOS: SLESのBYOSバージョンには、SUSEからのサポートが含まれています。
LicenseTypeの値を
New-ProvSchemeおよびSet-ProvSchemeでLinuxオプションに設定できます。New-ProvSchemeでLicenseTypeをRHEL_BYOSに設定する例を以下に示します:New-ProvScheme -CleanOnBoot -ProvisioningSchemeName "azureCatalog" -RunAsynchronously -Scope @() -SecurityGroup @() -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="StorageAccountType" Value="StandardSSD_LRS" /><Property xsi:type="StringProperty" Name="ResourceGroups" Value="hu-dev-mcs" /><Property xsi:type="StringProperty" Name="OsType" Value="Linux" /><Property xsi:type="StringProperty" Name="LicenseType" Value="RHEL_BYOS" /></CustomProperties>' <!--NeedCopy-->Set-ProvSchemeでLicenseTypeをSLES_BYOSに設定する例を以下に示します:Set-ProvScheme -ProvisioningSchemeName "azureCatalog" -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="StorageAccountType" Value="StandardSSD_LRS" /><Property xsi:type="StringProperty" Name="ResourceGroups" Value="hu-dev-mcs" /><Property xsi:type="StringProperty" Name="OsType" Value="Linux" /><Property xsi:type="StringProperty" Name="LicenseType" Value="SLES_BYOS" /></CustomProperties>' <!--NeedCopy-->注:
LicenseTypeの値が空の場合、デフォルト値はOsTypeの値に応じてAzure Windows Server ライセンスまたはAzure Linux ライセンスになります。LicenseTypeを空に設定する例:
Set-ProvScheme -ProvisioningSchemeName "azureCatalog" -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="StorageAccountType" Value="StandardSSD_LRS" /><Property xsi:type="StringProperty" Name="ResourceGroups" Value="hu-dev-mcs" /><Property xsi:type="StringProperty" Name="OsType" Value="Linux" /></CustomProperties>' <!--NeedCopy-->
ライセンスの種類とその利点については、以下のドキュメントを参照してください。
Azure Compute Gallery(旧称Azure Shared Image Gallery)は、イメージを管理および共有するためのリポジトリです。これにより、組織全体でイメージを利用できるようになります。大規模な非永続マシンカタログを作成する際には、SIGにイメージを保存することをお勧めします。そうすることで、VDA OSディスクのリセットが高速化されるためです。Place prepared image in Azure Compute Galleryを選択すると、Azure Compute Gallery settingsセクションが表示され、追加のAzure Compute Gallery設定を指定できます。
-
仮想マシンとイメージレプリカの比率。Azureが保持する仮想マシンとイメージレプリカの比率を指定できます。デフォルトでは、Azureは非永続マシン40台ごとに1つのイメージレプリカを保持します。永続マシンの場合、この数はデフォルトで1,000です。
-
最大レプリカ数。Azureが保持するイメージレプリカの最大数を指定できます。デフォルトは10です。
注:
イメージを保存するためにACGにギャラリーが作成されます。このギャラリーは、VM作成のためにMCSからのみアクセス可能であり、Select an imageページには表示されません。
-
Virtual Machinesページで、作成するVMの数を指定します。少なくとも1つを指定し、マシンサイズを選択する必要があります。カタログ作成後、カタログを編集してマシンサイズを変更できます。
-
NICsページには、Azure固有の情報は含まれていません。マシンカタログの作成の記事のガイダンスに従ってください。
-
「ディスク設定」ページで、ライトバックキャッシュを有効にするかどうかを選択します。MCSストレージ最適化機能が有効になっている場合、カタログ作成時に以下の設定を構成できます。これらの設定は、AzureとGCPの両方の環境に適用されます。
「マシンカタログセットアップ - ディスク設定」(/ja-jp/citrix-virtual-apps-desktops/2311/media/catalog-setup-disk-settings.png)
ライトバックキャッシュを有効にすると、次のことができます。
-
一時データのキャッシュに使用されるディスクとRAMのサイズを構成します。詳細については、「一時データのキャッシュを構成する」を参照してください。
-
ライトバックキャッシュディスクのストレージタイプを選択します。ライトバックキャッシュディスクには、以下のストレージオプションを使用できます。
- プレミアム SSD
- スタンダード SSD
- スタンダード HDD
-
プロビジョニングされたVMに対してライトバックキャッシュディスクを永続化するかどうかを選択します。オプションを有効にするには、[ライトバックキャッシュを有効にする] を選択します。デフォルトでは、[非永続ライトバックキャッシュディスクを使用する] が選択されています。
-
ライトバックキャッシュディスクのタイプを選択します。
- [非永続ライトバックキャッシュディスクを使用する]。選択した場合、ライトバックキャッシュディスクは電源サイクル中に削除されます。そこにリダイレクトされたデータはすべて失われます。VMの一時ディスクに十分な空き容量がある場合、コストを削減するために、そのディスクがライトバックキャッシュディスクのホストとして使用されます。カタログ作成後、プロビジョニングされたマシンが一時ディスクを使用しているかどうかを確認できます。これを行うには、カタログをクリックし、[テンプレートプロパティ] タブの情報を確認します。一時ディスクが使用されている場合、[非永続ライトバックキャッシュディスク] と表示され、その値は [はい(VMの一時ディスクを使用)] となります。そうでない場合、[非永続ライトバックキャッシュディスク] と表示され、その値は [いいえ(VMの一時ディスクを使用しない)] となります。
- [永続ライトバックキャッシュディスクを使用する]。選択した場合、ライトバックキャッシュディスクはプロビジョニングされたVMに対して永続化されます。このオプションを有効にすると、ストレージコストが増加します。
-
電源サイクル中にVDAのVMとシステムディスクを保持するかどうかを選択します。
[電源サイクル中にVMとシステムディスクを保持する]。[ライトバックキャッシュを有効にする] を選択した場合に利用可能です。デフォルトでは、VMとシステムディスクはシャットダウン時に削除され、起動時に再作成されます。VMの再起動時間を短縮したい場合は、このオプションを選択します。このオプションを有効にすると、ストレージコストも増加することに注意してください。
-
[ストレージコストの節約] を有効にするかどうかを選択します。有効にすると、VMがシャットダウンしたときにストレージディスクをStandard HDDにダウングレードすることで、ストレージコストを節約できます。VMは再起動時に元の設定に戻ります。このオプションは、ストレージディスクとライトバックキャッシュディスクの両方に適用されます。または、PowerShellを使用することもできます。「VMシャットダウン時にストレージタイプを下位層に変更する」を参照してください。
注記:
Microsoftは、VMシャットダウン中のストレージタイプの変更に制限を課しています。また、将来的にMicrosoftがストレージタイプの変更をブロックする可能性もあります。詳細については、このMicrosoftの記事を参照してください。
-
カタログでプロビジョニングされたマシン上のデータを暗号化するかどうかを選択します。顧客管理の暗号化キーを使用したサーバー側暗号化により、マネージドディスクレベルで暗号化を管理し、カタログ内のマシン上のデータを保護できます。詳細については、Azureサーバー側暗号化を参照してください。
-
-
リソースグループページで、リソースグループを作成するか、既存のグループを使用するかを選択します。
- リソースグループを作成することを選択した場合は、次へを選択します。
- 既存のリソースグループを使用することを選択した場合は、利用可能なプロビジョニングリソースグループリストからグループを選択します。注意: カタログで作成するマシンを収容するのに十分なグループを選択してください。少なすぎるグループを選択すると、メッセージが表示されます。後でカタログにVMを追加する予定がある場合は、最低限必要な数よりも多く選択することをお勧めします。カタログ作成後にリソースグループをカタログに追加することはできません。
詳細については、Azureリソースグループを参照してください。
-
マシンIDページで、IDタイプを選択し、このカタログ内のマシンのIDを構成します。VMをAzure Active Directory参加済みとして選択した場合、それらをAzure ADセキュリティグループに追加できます。詳細な手順は次のとおりです。
- IDタイプフィールドから、Azure Active Directory参加済みを選択します。Azure ADセキュリティグループ(オプション)オプションが表示されます。
- Azure ADセキュリティグループ: 新規作成をクリックします。
- グループ名を入力し、作成をクリックします。
- 画面の指示に従ってAzureにサインインします。 Azureにグループ名が存在しない場合、緑色のアイコンが表示されます。それ以外の場合は、新しい名前を入力するよう求めるエラーメッセージが表示されます。
- VMのマシンアカウント命名スキームを入力します。
カタログ作成後、Citrix Virtual Apps and Desktops™はユーザーに代わってAzureにアクセスし、セキュリティグループと、そのグループの動的メンバーシップルールを作成します。このルールに基づいて、このカタログで指定された命名スキームを持つVMは自動的にセキュリティグループに追加されます。
異なる命名スキームを持つVMをこのカタログに追加するには、Azureにサインインする必要があります。その後、Citrix Virtual Apps and DesktopsはAzureにアクセスし、新しい命名スキームに基づいて動的メンバーシップルールを作成できます。
このカタログを削除する際、Azure からセキュリティグループを削除するには、Azure へのサインインも必要です。
-
ドメイン資格情報ページと概要ページには、Azure 固有の情報は含まれていません。マシンカタログの作成の記事のガイダンスに従ってください。
ウィザードを完了します。
Azure一時ディスクがライトバックキャッシュディスクの対象となる条件
Azure一時ディスクをライトバックキャッシュディスクとして使用できるのは、以下のすべての条件が満たされている場合のみです。
-
Azure一時ディスクは永続的なデータには適していないため、ライトバックキャッシュディスクは非永続的である必要があります。
-
選択したAzure VMサイズには一時ディスクが含まれている必要があります。
-
エフェメラルOSディスクを有効にする必要はありません。
-
ライトバックキャッシュファイルをAzure一時ディスクに配置することを受け入れます。
-
Azure一時ディスクのサイズは、(ライトバックキャッシュディスクサイズ + ページングファイル用の予約スペース + 1 GBのバッファースペース)の合計サイズよりも大きい必要があります。
非永続ライトバックキャッシュディスクのシナリオ
次の表は、マシンカタログの作成時に一時ディスクがライトバックキャッシュに使用される3つの異なるシナリオについて説明しています。
| シナリオ | 結果 |
|---|---|
| ライトバックキャッシュに一時ディスクを使用するためのすべての条件が満たされています。 | WBCファイル mcsdif.vhdx は一時ディスクに配置されます。 |
| 一時ディスクには、ライトバックキャッシュの使用に十分な空き容量がありません。 | VHDディスク MCSWCDisk が作成され、WBCファイル mcsdif.vhdx がこのディスクに配置されます。 |
一時ディスクにはライトバックキャッシュの使用に十分な空き容量がありますが、UseTempDiskForWBC が false に設定されています。 |
VHDディスク MCSWCDisk が作成され、WBCファイル mcsdif.vhdx がこのディスクに配置されます。 |
Azureテンプレート仕様を作成する
AzureポータルでAzureテンプレート仕様を作成し、Web StudioおよびPowerShellコマンドで使用してMCSマシンカタログを作成または更新できます。
既存のVMのAzureテンプレート仕様を作成するには:
- Azureポータルに移動します。リソースグループを選択し、VMとネットワークインターフェイスを選択します。上部にある … メニューから、Export template をクリックします。
-
カタログプロビジョニング用のテンプレート仕様を作成する場合は、Include parameters チェックボックスをオフにします。JSONファイルで、
parametersおよびvariablesセクションが次のようになっていることを確認します。"parameters": {}, "variables": {} <!--NeedCopy--> - Download をクリックして、テンプレートをJSONファイルとして保存します。
- Azure ポータルで、テンプレート仕様を選択し、テンプレートのインポートをクリックします。
- コンピューターに保存されているマシンプロファイル(JSON形式)を参照してインポートします。
- 名前、サブスクリプション、リソースグループ、場所、バージョンを指定します。次へ: テンプレートの編集をクリックします。
- Review+Create に進み、テンプレート仕様を作成します。
- テンプレート仕様ページで、作成したばかりのテンプレート仕様を確認します。テンプレート仕様をクリックします。左側のパネルで、バージョンをクリックします。
- 新しいバージョンを作成をクリックして、新しいバージョンを作成できます。新しいバージョン番号を指定し、現在のテンプレート仕様に変更を加え、確認 + 作成をクリックして、テンプレート仕様の新しいバージョンを作成します。
テンプレート仕様とテンプレートバージョンに関する情報は、次のPowerShellコマンドを使用して取得できます。
-
テンプレート仕様に関する情報を取得するには、以下を実行します。
get-item XDHyp:\HostingUnits\East\machineprofile.folder\abc.resourcegroup\bggTemplateSpec.templatespec <!--NeedCopy--> -
テンプレート仕様のバージョンに関する情報を取得するには、以下を実行します。
get-item XDHyp:\HostingUnits\East\machineprofile.folder\abc.resourcegroup\bggTemplateSpec.templatespec\bgg1.0.templatespecversion <!--NeedCopy-->
カタログの作成または更新におけるテンプレート仕様の使用
マシンプロファイルの入力としてテンプレート仕様を使用して、MCSマシンカタログを作成または更新できます。これを行うには、Web StudioまたはPowerShellコマンドを使用できます。
- Web Studioについては、Web StudioでAzure Resource Managerイメージを使用してマシンカタログを作成するを参照してください。
- PowerShellについては、PowerShellを使用してカタログを作成または更新する際にテンプレート仕様を使用するを参照してください。
Azureサーバー側暗号化
Citrix Virtual Apps and Desktopsは、Azure Key Vaultを介したAzureマネージドディスクの顧客管理暗号化キーをサポートしています。このサポートにより、独自の暗号化キーを使用してマシンカタログのマネージドディスクを暗号化することで、組織およびコンプライアンス要件を管理できます。詳細については、Azure Disk Storageのサーバー側暗号化を参照してください。
マネージドディスクでこの機能を使用する場合:
-
ディスクの暗号化に使用されているキーを変更するには、
DiskEncryptionSetで現在のキーを変更します。そのDiskEncryptionSetに関連付けられているすべてのリソースは、新しいキーで暗号化されるように変更されます。 -
キーを無効にするか削除すると、そのキーを使用しているディスクを持つすべてのVMは自動的にシャットダウンします。シャットダウン後、キーが再度有効になるか、新しいキーを割り当てない限り、VMは使用できません。そのキーを使用しているカタログは電源をオンにできず、VMを追加することもできません。
顧客管理暗号化キーを使用する際の重要な考慮事項
この機能を使用する際は、以下を考慮してください。
-
お客様が管理するキー(Azure Key Vault、ディスク暗号化セット、VM、ディスク、スナップショット)に関連するすべてのリソースは、同じサブスクリプションとリージョンに存在する必要があります。
-
お客様が管理する暗号化キーを一度有効にすると、後で無効にすることはできません。お客様が管理する暗号化キーを無効にするか削除したい場合は、すべてのデータを、お客様が管理する暗号化キーを使用していない別のマネージドディスクにコピーしてください。
-
サーバー側暗号化とお客様が管理するキーを使用して暗号化されたカスタムイメージから作成されたディスクは、同じお客様が管理するキーを使用して暗号化する必要があります。これらのディスクは同じサブスクリプションに存在する必要があります。
-
サーバー側暗号化とお客様が管理するキーで暗号化されたディスクから作成されたスナップショットは、同じお客様が管理するキーで暗号化する必要があります。
-
お客様が管理するキーで暗号化されたディスク、スナップショット、およびイメージは、別のリソースグループやサブスクリプションに移動できません。
-
現在または以前にAzure Disk Encryptionを使用して暗号化されたマネージドディスクは、お客様が管理するキーを使用して暗号化することはできません。
-
リージョンごとのディスク暗号化セットの制限については、Microsoftサイトを参照してください。
注:
Azureサーバー側暗号化の構成については、クイックスタート: Azureポータルを使用してKey Vaultを作成するを参照してください。
Azureのお客様が管理する暗号化キー
マシンカタログを作成する際、カタログにプロビジョニングされたマシン上のデータを暗号化するかどうかを選択できます。お客様が管理する暗号化キーによるサーバー側暗号化を使用すると、マネージドディスクレベルで暗号化を管理し、カタログ内のマシン上のデータを保護できます。ディスク暗号化セット (DES) は、お客様が管理するキーを表します。この機能を使用するには、まずAzureでDESを作成する必要があります。DESは次の形式です。
/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet
リストからDESを選択します。選択するDESは、リソースと同じサブスクリプションおよびリージョンにある必要があります。イメージがDESで暗号化されている場合は、マシンカタログを作成する際に同じDESを使用してください。カタログ作成後にDESを変更することはできません。
暗号化キーを使用してカタログを作成し、後でAzureで対応するDESを無効にすると、カタログ内のマシンの電源をオンにしたり、マシンを追加したりできなくなります。
「顧客管理キーを使用したマシンカタログの作成」(#create-a-machine-catalog-with-customer-managed-encryption-key)を参照してください。
ホストでのAzureディスク暗号化
ホストでの暗号化機能を備えたMCSマシンカタログを作成できます。現在、MCSはこの機能に対してマシンプロファイルワークフローのみをサポートしています。マシンプロファイルの入力として、VMまたはテンプレート仕様を使用できます。
この暗号化方法は、Azureストレージを介してデータを暗号化しません。VMをホストするサーバーがデータを暗号化し、その後、暗号化されたデータがAzureストレージサーバーを介して流れます。したがって、この暗号化方法はデータをエンドツーエンドで暗号化します。
制限事項:
ホストでのAzureディスク暗号化は次のとおりです。
- すべてのAzureマシンサイズでサポートされているわけではありません
- Azureディスク暗号化と互換性がありません
ホストでの暗号化機能を備えたマシンカタログを作成するには:
- サブスクリプションでホストでの暗号化機能が有効になっているかどうかを確認します。これを行うには、https://learn.microsoft.com/ja-jp/rest/api/resources/features/get?tabs=HTTP/を参照してください。有効になっていない場合は、サブスクリプションでこの機能を有効にする必要があります。サブスクリプションで機能を有効にする方法については、https://learn.microsoft.com/ja-jp/azure/virtual-machines/disks-enable-host-based-encryption-portal?tabs=azure-powershell#prerequisites/を参照してください。
-
特定のAzure VMサイズがホストでの暗号化をサポートしているかどうかを確認します。これを行うには、PowerShellウィンドウで、次のいずれかを実行します。
PS XDHyp:\Connections\<your connection>\east us.region\serviceoffering.folder> <!--NeedCopy-->PS XDHyp:\HostingUnits\<your hosting unit>\serviceoffering.folder> <!--NeedCopy--> -
マシンプロファイルの入力として、Azureポータルでホストでの暗号化を有効にしてVMまたはテンプレート仕様を作成します。
- VMを作成する場合は、ホストでの暗号化をサポートするVMサイズを選択します。VMを作成すると、VMプロパティのホストでの暗号化が有効になります。
- テンプレート仕様を使用する場合は、
securityProfile内でパラメーターEncryption at Hostをtrueとして割り当てます。
-
VMまたはテンプレート仕様のいずれかを選択して、マシンプロファイルワークフローでMCSマシンカタログを作成します。
- OSディスク / データディスク: 顧客管理キーおよびプラットフォーム管理キーによって暗号化されます
- エフェメラルOSディスク: プラットフォーム管理キーのみによって暗号化されます
- キャッシュディスク: 顧客管理キーおよびプラットフォーム管理キーによって暗号化されます
マシンカタログは、Web Studioを使用するか、PowerShellコマンドを実行して作成できます。
マシンプロファイルからホストでの暗号化情報を取得する
AdditionalDataパラメーターを指定してPowerShellコマンドを実行すると、マシンプロファイルからホストでの暗号化情報を取得できます。EncryptionAtHostパラメーターがTrueの場合、ホストでの暗号化がマシンプロファイルで有効になっていることを示します。
例: マシンプロファイルの入力がVMの場合、次のコマンドを実行します。
(get-item XDHyp:\HostingUnits\myAzureNetwork\machineprofile.folder\abc.resourcegroup\def.vm).AdditionalData
<!--NeedCopy-->
例: マシンプロファイルの入力がテンプレート仕様の場合、次のコマンドを実行します。
(get-item XDHyp:\HostingUnits\myAzureNetwork\machineprofile.folder\abc.resourcegroup\def_templatespec.templatespec\EncryptionAtHost.templatespecversion).AdditionalData
<!--NeedCopy-->
マネージドディスクでの二重暗号化
二重暗号化を使用してマシンカタログを作成できます。この機能で作成されたカタログはすべて、プラットフォーム管理キーと顧客管理キーの両方でサーバー側で暗号化されたディスクを持ちます。Azure Key Vault、暗号化キー、およびディスク暗号化セット (DES) はお客様が所有および管理します。
二重暗号化は、プラットフォーム側暗号化(デフォルト)と顧客管理暗号化(CMEK)です。したがって、暗号化アルゴリズム、実装、または侵害されたキーに関連するリスクを懸念するセキュリティ意識の高いお客様は、この二重暗号化を選択できます。永続的なOSディスクとデータディスク、スナップショット、およびイメージはすべて、二重暗号化によって保存時に暗号化されます。
注:
- Web StudioおよびPowerShellコマンドを使用して、二重暗号化でマシンカタログを作成および更新できます。PowerShellコマンドについては、「二重暗号化でマシンカタログを作成する」を参照してください。
- 二重暗号化でマシンカタログを作成または更新するには、マシンプロファイルに基づかないワークフローまたはマシンプロファイルに基づくワークフローを使用できます。
- マシンカタログを作成するためにマシンプロファイルに基づかないワークフローを使用する場合、保存されている
DiskEncryptionSetIdを再利用できます。- マシンプロファイルを使用する場合、VMまたはテンプレート仕様をマシンプロファイルの入力として使用できます。
制限事項:
- Ultra DisksまたはPremium SSD v2ディスクでは、二重暗号化はサポートされていません。
- アンマネージドディスクでは、二重暗号化はサポートされていません。
- カタログに関連付けられているDiskEncryptionSetキーを無効にすると、そのカタログのVMも無効になります。
- お客様が管理するキーに関連するすべてのリソース(Azure Key Vault、ディスク暗号化セット、VM、ディスク、スナップショット)は、同じサブスクリプションとリージョンに存在する必要があります。
- サブスクリプションごとに、リージョンあたり最大50個のディスク暗号化セットしか作成できません。
- 異なる
DiskEncryptionSetIdを持つDiskEncryptionSetIdがすでに存在するマシンカタログを更新することはできません。
Azureリソースグループ
Azureプロビジョニングリソースグループは、ユーザーにアプリケーションとデスクトップを提供するVMをプロビジョニングする方法を提供します。MCSマシンカタログを作成する際に、既存の空のAzureリソースグループを追加することも、新しいリソースグループを作成させることもできます。Azureリソースグループの詳細については、Microsoftドキュメントを参照してください。
Azureリソースグループの使用状況
Azureリソースグループあたりの仮想マシン、マネージドディスク、スナップショット、およびイメージの数に制限はありません。(Azureリソースグループあたり240VM、800マネージドディスクという制限は削除されました。)
- フルスコープのサービスプリンシパルを使用してマシンカタログを作成する場合、MCSは1つのAzureリソースグループのみを作成し、そのグループをカタログに使用します。
- ナロースコープのサービスプリンシパルを使用してマシンカタログを作成する場合、カタログ用に空の、事前に作成されたAzureリソースグループを提供する必要があります。
Azureエフェメラルディスク
Azureエフェメラルディスクを使用すると、キャッシュディスクまたは一時ディスクを再利用して、Azure対応仮想マシンのOSディスクを保存できます。この機能は、標準のHDDディスクよりも高性能なSSDディスクを必要とするAzure環境で役立ちます。Azureエフェメラルディスクを使用してカタログを作成する方法については、「Azureエフェメラルディスクを使用してカタログを作成する」を参照してください。
注:
永続カタログは、エフェメラルOSディスクをサポートしていません。
エフェメラルOSディスクでは、プロビジョニングスキームでマネージドディスクと共有イメージギャラリーを使用する必要があります。
エフェメラルOS一時ディスクの保存
エフェメラルOSディスクをVMの一時ディスクまたはリソースディスクに保存するオプションがあります。この機能により、キャッシュがない、またはキャッシュが不十分なVMでエフェメラルOSディスクを使用できます。このようなVMには、Ddv4などのエフェメラルOSディスクを保存するための一時ディスクまたはリソースディスクがあります。
次の点を考慮してください。
- エフェメラルディスクは、VMキャッシュディスクまたはVMの一時(リソース)ディスクのいずれかに保存されます。キャッシュディスクがOSディスクのコンテンツを保持するのに十分な大きさでない限り、一時ディスクよりもキャッシュディスクが優先されます。
- 更新の場合、キャッシュディスクより大きく、一時ディスクより小さい新しいイメージは、エフェメラルOSディスクをVMの一時ディスクに置き換える結果となります。
Azure エフェメラルディスクと マシンクリエーションサービス (MCS) ストレージ最適化 (MCS I/O)
AzureエフェメラルOSディスクとMCS I/Oは同時に有効にできません。
重要な考慮事項は次のとおりです。
-
エフェメラルOSディスクとMCS I/Oの両方を同時に有効にしたマシンカタログを作成することはできません。
- PowerShellパラメーター(
UseWriteBackCacheおよびUseEphemeralOsDisk)をNew-ProvSchemeまたはSet-ProvSchemeでtrueに設定すると、適切なエラーメッセージが表示されて失敗します。 - 両方の機能が有効になっている既存のマシンカタログの場合でも、次のことができます。
- マシンカタログを更新する。
- VMを追加または削除する。
- マシンカタログを削除する。
Azure コンピュート ギャラリー
Azure Compute Gallery (旧称 Azure Shared Image Gallery) を、Azure で MCS プロビジョニングされたマシンの公開イメージリポジトリとして使用します。公開イメージをギャラリーに保存することで、OS ディスクの作成とハイドレーションを高速化し、非永続的 VM の起動時間とアプリケーション起動時間を改善できます。共有イメージギャラリーには、次の3つの要素が含まれています。
- ギャラリー: イメージはここに保存されます。MCS は、マシンカタログごとに1つのギャラリーを作成します。
- ギャラリーイメージ定義: この定義には、公開イメージに関する情報 (オペレーティングシステムの種類と状態、Azure リージョン) が含まれます。MCS は、カタログ用に作成されたイメージごとに1つのイメージ定義を作成します。
- ギャラリーイメージバージョン: 共有イメージギャラリー内の各イメージは複数のバージョンを持つことができ、各バージョンは異なるリージョンに複数のレプリカを持つことができます。各レプリカは、公開イメージの完全なコピーです。
注:
共有イメージギャラリーの機能は、マネージドディスクとのみ互換性があります。レガシーマシンカタログでは使用できません。
詳細については、「Azure Compute Gallery の概要」を参照してください。
PowerShell を使用して Azure Compute Gallery イメージでマシンカタログを作成または更新する方法については、「Azure Compute Gallery イメージを使用してマシンカタログを作成または更新する」を参照してください。
アジュール 機密仮想マシン
Azure 機密コンピューティングVMは、仮想デスクトップがメモリ内で暗号化され、使用中に保護されることを保証します。
MCS を使用して、Azure 機密VMを含むカタログを作成できます。このようなカタログを作成するには、マシンプロファイルワークフローを使用する必要があります。マシンプロファイルの入力として、VM と ARM テンプレート仕様の両方を使用できます。
機密VMに関する重要な考慮事項
サポートされているVMサイズと機密VMでマシンカタログを作成する際の重要な考慮事項は以下のとおりです。
-
サポートされているVMサイズ:機密VMは以下のVMサイズをサポートしています。
- DCasv5-series
- DCadsv5 のシリーズ
- ECasv5 のシリーズ
- ECadsv5-series
-
機密VMでマシンカタログを作成します。
- Web StudioおよびPowerShellコマンドを使用して、Azure機密VMでマシンカタログを作成できます。
- Azure機密VMでマシンカタログを作成するには、マシンプロファイルベースのワークフローを使用する必要があります。VMまたはテンプレート仕様をマシンプロファイルの入力として使用できます。
-
マスターイメージとマシンプロファイルの入力は、両方とも同じ機密セキュリティタイプで有効にする必要があります。セキュリティタイプは次のとおりです。
- VMGuestStateOnly:VMゲスト状態のみが暗号化された機密VM
- DiskWithVMGuestState:OSディスクとVMゲスト状態の両方がプラットフォーム管理キーまたは顧客管理キーで暗号化された機密VM。通常ディスクとエフェメラルOSディスクの両方を暗号化できます。
-
AdditionalDataパラメーターを使用して、マネージドディスク、スナップショット、Azure Compute Galleryイメージ、VM、ARMテンプレート仕様など、さまざまなリソースタイプの機密VM情報を取得できます。例:
PS C:\Users\username> (get-item XDHyp:\HostingUnits\mynetwork\image.folder\username-dev-testing-rg.resourcegroup\username-dev-tsvda.vm).AdditionalData <!--NeedCopy-->追加データフィールドは次のとおりです。
- ディスクセキュリティタイプ
- 機密VMディスク暗号化セットID
- ディスクセキュリティプロファイル
マシンサイズの機密コンピューティングプロパティを取得するには、次のコマンドを実行します:
(Get-Item -path "XDHyp:\Connections\my-connection-name\East US.region\serviceoffering.folder\abc.serviceoffering").AdditionalData追加データフィールドは
ConfidentialComputingTypeです。 - マスターイメージまたはマシンプロファイルを、機密から非機密のセキュリティタイプへ、あるいは非機密から機密のセキュリティタイプへ変更することはできません。
- 誤った構成に対しては、適切なエラーメッセージが表示されます。
マスターイメージとマシンプロファイルの準備
機密VMのセットを作成する前に、それらのマスターイメージとマシンプロファイルを準備するために、以下の手順に従ってください。
- Azureポータルで、特定の構成を持つ機密VMを作成します。例:
- セキュリティの種類: 機密仮想マシン
- 機密OSディスク暗号化: 有効。
- キー管理: プラットフォーム管理キーによる機密ディスク暗号化 機密VMの作成に関する詳細については、こちらのMicrosoft記事を参照してください。
-
作成したVM上でマスターイメージを準備します。作成したVMに必要なアプリケーションとVDAをインストールします。
注:
VHD を使用した機密 VM の作成はサポートされていません。代わりに、Azure Compute Gallery、マネージド ディスク、またはスナップショットを使用してください。
-
次のいずれかの方法でマシンプロファイルを作成します。
- 必要なマシンプロパティを備えている場合は、手順 1 で作成した既存の VM を使用します。
-
マシンプロファイルとして ARM テンプレート仕様を選択する場合は、必要に応じてテンプレート仕様を作成します。特に、SecurityEncryptionType や diskEncryptionSet (顧客管理キーの場合) など、機密 VM の要件を満たすパラメーターを構成します。詳細については、「Azure テンプレート仕様の作成」を参照してください。
注:
- マスターイメージとマシンプロファイルが同じセキュリティキータイプであることを確認してください。
- 顧客管理キーによる機密 OS ディスク暗号化を必要とする機密 VM を作成するには、マスターイメージとマシンプロファイルの両方でディスク暗号化セット ID が同じであることを確認してください。
Web Studio または PowerShell コマンドを使用して機密 VM を作成する
機密 VM のセットを作成するには、マスターイメージと、目的の機密 VM から派生したマシンプロファイルを使用してマシンカタログを作成します。
Web Studio を使用してカタログを作成するには、「マシンカタログの作成」に記載されている手順に従ってください。以下の点を考慮してください。
- イメージページで、機密 VM の作成用に準備したマスターイメージとマシンプロファイルを選択します。マシンプロファイルの選択は必須であり、選択したマスターイメージと同じセキュリティ暗号化タイプに一致するプロファイルのみが選択可能です。
- 仮想マシンページでは、機密 VM をサポートするマシンサイズのみが選択肢として表示されます。
- ディスク設定ページでは、選択したマシンプロファイルから継承されるため、ディスク暗号化セットを指定することはできません。
アジュール マーケットプレイス
Citrix Virtual Apps and Desktops は、プラン情報を含む Azure 上のマスターイメージを使用してマシンカタログを作成することをサポートしています。詳細については、「Microsoft Azure Marketplace」を参照してください。
ヒント:
標準のWindows Serverイメージなど、Azure Marketplaceで見つかる一部のイメージには、プラン情報が付加されていません。Citrix Virtual Apps and Desktopsの機能は、有料イメージ向けです。
Shared Image Galleryで作成されたイメージにAzureプラン情報が含まれていることを確認する
このセクションの手順を使用して、Web StudioでShared Image Galleryイメージを表示します。これらのイメージは、オプションでマスターイメージとして使用できます。イメージをShared Image Galleryに配置するには、ギャラリーでイメージ定義を作成します。

公開オプションページで、購入プラン情報を確認します。
購入プラン情報フィールドは最初は空です。イメージに使用された購入プラン情報でこれらのフィールドに入力します。購入プラン情報を入力しないと、マシンカタログのプロセスが失敗する可能性があります。

購入プラン情報を確認した後、定義内にイメージバージョンを作成します。これはマスターイメージとして使用されます。バージョンを追加をクリックします。

バージョン詳細セクションで、イメージスナップショットまたはマネージドディスクをソースとして選択します。

PowerShellを使用してマシンカタログを作成する
このセクションでは、PowerShellを使用してカタログを作成する方法について詳しく説明します。
- 非永続的なライトバックキャッシュディスクを持つカタログを作成する
- 永続的なライトバックキャッシュディスクを持つカタログを作成する(#create-a-catalog-with-persistent-write-back-cache-disk)
- MCSIOで起動パフォーマンスを向上させる(#improve-boot-performance-with-mcsio)
- PowerShellを使用してカタログを作成または更新する際にテンプレート仕様を使用する(#use-template-spec-in-creating-or-updating-a-catalog-using-powershell)
- 信頼できる起動を備えたマシンカタログ(#machine-catalogs-with-trusted-launch)
- マシンプロファイルプロパティ値を使用する(#use-machine-profile-property-values)
- 顧客管理の暗号化キーを使用してマシンカタログを作成する(#create-a-machine-catalog-with-customer-managed-encryption-key)
- 二重暗号化を使用してマシンカタログを作成する(#create-a-machine-catalog-with-double-encryption)
- Azureエフェメラルディスクを持つカタログを作成する(#create-a-catalog-with-an-azure-ephemeral-disks)
- Azure専用ホスト(#azure-dedicated-hosts)
- Azure Compute Galleryイメージを使用してマシンカタログを作成または更新する(#create-or-update-a-machine-catalog-using-an-azure-compute-gallery-image)
- 共有イメージギャラリーを構成する(#configure-shared-image-gallery)
- 指定された可用性ゾーンにマシンをプロビジョニングする(#provision-machines-into-specified-availability-zones)
- ストレージの種類(#storage-types)
- ページファイルの場所(#page-file-location)
- ページファイル設定を更新する(#update-page-file-setting)
- Azure Spot VM を使用してカタログを作成する
- バックアップ VM サイズを構成する
- すべてのリソースにタグをコピーする
- Azure Monitor Agent がインストールされたカタログ VM をプロビジョニングする
非永続的なライトバックキャッシュディスクを持つカタログを作成する
非永続的なライトバックキャッシュディスクを持つカタログを構成するには、PowerShell パラメーター New-ProvScheme CustomProperties を使用します。カスタムプロパティ UseTempDiskForWBC は、Azure の一時ストレージを使用してライトバックキャッシュファイルを保存することを受け入れるかどうかを示します。一時ディスクをライトバックキャッシュディスクとして使用する場合は、New-ProvScheme の実行時にこれを true に構成する必要があります。このプロパティが指定されていない場合、パラメーターはデフォルトで False に設定されます。
たとえば、CustomProperties パラメーターを使用して UseTempDiskForWBC を true に設定する場合:
-CustomProperties '<CustomProperties xmlns=" http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"> `
<Property xsi:type="StringProperty" Name="PersistWBC" Value="false"/> `
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="false"/> `
<Property xsi:type="StringProperty" Name="PersistVm" Value="false"/> `
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS"/> `
<Property xsi:type="StringProperty" Name="WBCDiskStorageType" Value="Premium_LRS"/> `
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client"/> `
<Property xsi:type="StringProperty" Name="UseTempDiskForWBC" Value="true"/> `
</CustomProperties>'
<!--NeedCopy-->
注:
マシンカタログをコミットして、ライトバックキャッシュファイルに Azure ローカル一時ストレージを使用するように設定すると、後で VHD を使用するように変更することはできません。
永続的なライトバックキャッシュディスクを持つカタログを作成する
永続的なライトバックキャッシュディスクを持つカタログを構成するには、PowerShell パラメーター New-ProvScheme CustomProperties を使用します。このパラメーターは、MCS プロビジョニングされたマシンに対してライトバックキャッシュディスクがどのように永続化するかを決定するために使用される追加のプロパティ PersistWBC をサポートします。PersistWBC プロパティは、UseWriteBackCache パラメーターが指定され、WriteBackCacheDiskSize パラメーターがディスクが作成されることを示すように設定されている場合にのみ使用されます。
PersistWBC をサポートする前の 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="StorageAccountType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="benvaldev5RG3" />
</CustomProperties>
<!--NeedCopy-->
これらのプロパティを使用する場合、CustomProperties パラメーターからプロパティが省略されている場合、それらにはデフォルト値が含まれることに注意してください。PersistWBC プロパティには、true または false の2つの可能な値があります。
PersistWBC プロパティを true に設定すると、Citrix Virtual Apps and Desktops 管理者が Web Studio を使用してマシンをシャットダウンしても、ライトバックキャッシュディスクは削除されません。
PersistWBC プロパティを false に設定すると、Citrix Virtual Apps and Desktops 管理者が Web Studio を使用してマシンをシャットダウンしたときに、ライトバックキャッシュディスクが削除されます。
注:
PersistWBCプロパティが省略されている場合、そのプロパティはデフォルトでfalseになり、Web Studioを使用してマシンがシャットダウンされるとライトバックキャッシュは削除されます。
例えば、CustomPropertiesパラメーターを使用してPersistWBCを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="StorageAccountType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="benvaldev5RG3" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="true" />
</CustomProperties>
<!--NeedCopy-->
重要:
PersistWBCプロパティは、New-ProvSchemePowerShellコマンドレットを使用してのみ設定できます。作成後にプロビジョニングスキームのCustomPropertiesを変更しようとしても、マシンカタログや、マシンがシャットダウンされたときのライトバックキャッシュディスクの永続性には影響しません。
例えば、ライトバックキャッシュを使用するようにNew-ProvSchemeを設定し、PersistWBCプロパティをtrueに設定します。
New-ProvScheme
-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=`"StorageAccountType`" Value=`"Premium_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"benvaldev5RG3`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"true`" /></CustomProperties>"
-HostingUnitName "adSubnetScale1"
-IdentityPoolName "BV-WBC1-CAT1"
-MasterImageVM "XDHyp:\HostingUnits\adSubnetScale1\image.folder\GoldImages.resourcegroup\W10MCSIO-01_OsDisk_1_a940e6f5bab349019d57ccef65d2c7e3.manageddisk"
-NetworkMapping @{"0"="XDHyp:\HostingUnits\adSubnetScale1\\virtualprivatecloud.folder\CloudScale02.resourcegroup\adVNET.virtualprivatecloud\adSubnetScale1.network"}
-ProvisioningSchemeName "BV-WBC1-CAT1"
-ServiceOffering "XDHyp:\HostingUnits\adSubnetScale1\serviceoffering.folder\Standard_D2s_v3.serviceoffering"
-UseWriteBackCache
-WriteBackCacheDiskSize 127
-WriteBackCacheMemorySize 256
<!--NeedCopy-->
MCSIOで起動パフォーマンスを向上させる
MCSIOが有効になっている場合、AzureおよびGCPマネージドディスクの起動パフォーマンスを向上させることができます。この機能を構成するには、New-ProvSchemeコマンドでPowerShellのPersistOSDiskカスタムプロパティを使用します。New-ProvSchemeに関連するオプションは次のとおりです。
<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="StorageAccountType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="Resource <!--NeedCopy-->
``````<!--NeedCopy-->
<!--NeedCopy-->
````````Groups" Value="benvaldev5RG3" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
</CustomProperties>
<!--NeedCopy-->
この機能を有効にするには、PersistOSDiskカスタムプロパティをtrueに設定します。例えば:
New-ProvScheme
-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=`"StorageAccountType`" Value=`"Premium_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"benvaldev5RG3`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /></CustomProperties>"
-HostingUnitName "adSubnetScale1"
-IdentityPoolName "BV-WBC1-CAT1"
-MasterImageVM "XDHyp:\HostingUnits\adSubnetScale1\image.folder\GoldImages.resourcegroup\W10MCSIO-01_OsDisk_1_a940e6f5bab349019d57ccef65d2c7e3.manageddisk"
-NetworkMapping @{"0"="XDHyp:\HostingUnits\adSubnetScale1\\virtualprivatecloud.folder\CloudScale02.resourcegroup\adVNET.virtualprivatecloud\adSubnetScale1.network"}
-ProvisioningSchemeName "BV-WBC1-CAT1"
-ServiceOffering "XDHyp:\HostingUnits\adSubnetScale1\serviceoffering.folder\Standard_D2s_v3.serviceoffering"
-UseWriteBackCache
-WriteBackCacheDiskSize 127
-WriteBackCacheMemorySize 256
<!--NeedCopy-->
PowerShellを使用してカタログを作成または更新する際にテンプレート仕様を使用する
マシンプロファイルの入力としてテンプレート仕様を使用して、MCSマシンカタログを作成または更新できます。これを行うには、Web StudioまたはPowerShellコマンドを使用できます。
Web Studioについては、「Web StudioでAzure Resource Managerイメージを使用してマシンカタログを作成する」を参照してください。
PowerShellコマンドを使用する場合:
- PowerShellウィンドウを開きます。
-
asnp citrix*を実行します。 - カタログを作成または更新します。
- カタログを作成するには:
-
マシンプロファイルの入力としてテンプレート仕様を指定して、
New-ProvSchemeコマンドを使用します。例:New-ProvScheme -MasterImageVM "XDHyp:/HostingUnits/azure/image.folder/fgthj.resourcegroup/nab-ws-vda_OsDisk_1_xxxxxxxxxxa.manageddisk" MachineProfile "XDHyp:/HostingUnits/azure/machineprofile.folder/fgthj.resourcegroup/test.templatespec/V1.templatespecversion" -ProvisioningSchemeName <String> -HostingUnitName <String> -IdentityPoolName <String> [-ServiceOffering <String>][-CustomProperties <String> [-LoggingId <Guid>] [-BearerToken <String>][-AdminAddress <String>] [<CommonParameters>] <!--NeedCopy--> -
カタログの作成を完了します。
-
-
カタログを更新するには、マシンプロファイルの入力としてテンプレート仕様を指定して、
Set-ProvSchemeコマンドを使用します。例:Set-ProvScheme -MasterImageVm 'XDHyp://Connections/Azure/East Us.region/vm.folder/MasterDisk.vm' MachineProfile 'XDHyp:/HostingUnits/azure/machineprofile.folder/fgthj.resourcegroup/testing.templatespec/V1.templatespecversion' [-ProvisioningSchemeName] <String> [-CustomProperties <String>][-ServiceOffering <String>] [-PassThru] [-LoggingId <Guid>] [-BearerToken <String>][-AdminAddress <String>] [<CommonParameters>] <!--NeedCopy-->
- カタログを作成するには:
信頼された起動によるマシンカタログ
信頼された起動でマシンカタログを正常に作成するには、以下を使用します。
- 信頼された起動を備えたマシンプロファイル
- 信頼された起動をサポートするVMサイズ
- 信頼された起動をサポートするWindows VMバージョン。現在、Windows 10、Windows 11、Windows Server 2016、2019、および2022が信頼された起動をサポートしています。
重要:
MCSは、信頼された起動が有効なVMを使用して新しいカタログを作成することをサポートしています。ただし、既存の永続カタログと既存のVMを更新するには、Azureポータルを使用する必要があります。非永続カタログの信頼された起動を更新することはできません。詳細については、Microsoftドキュメント「既存のAzure VMで信頼された起動を有効にする」を参照してください。
Citrix Virtual Apps and Desktopsの提供インベントリアイテムを表示し、VMサイズが信頼された起動をサポートしているかどうかを判断するには、次のコマンドを実行します。
- PowerShellウィンドウを開きます。
- Citrix固有のPowerShellモジュールをロードするには、asnp citrix* を実行します。
-
次のコマンドを実行します。
$s = (ls XDHyp:\HostingUnits\<name of hosting unit>\serviceoffering.folder\"<VM size>.serviceoffering) <!--NeedCopy--> -
$s | select -ExpandProperty Additionaldataを実行します。 -
SupportsTrustedLaunch属性の値を確認します。- もし
SupportsTrustedLaunchが True の場合、VM サイズは信頼された起動をサポートしています。 - もし
SupportsTrustedLaunchが False の場合、VM サイズは信頼された起動をサポートしていません。
- もし
Azure の PowerShell に従って、信頼された起動をサポートする VM サイズを判別するには、次のコマンドを使用します。
(Get-AzComputeResourceSku | where {$_.Locations.Contains($region) -and ($_.Name -eq "<VM size>") })[0].Capabilities
<!--NeedCopy-->
Azure PowerShell コマンドを実行した後、VM サイズが信頼された起動をサポートしているかどうかを説明する例を次に示します。
-
例 1: Azure VM が第 1 世代のみをサポートしている場合、その VM は信頼された起動をサポートしていません。したがって、Azure PowerShell コマンドを実行しても、
TrustedLaunchDisabled機能は表示されません。 -
例 2: Azure VM が第 2 世代のみをサポートし、
TrustedLaunchDisabled機能が True の場合、第 2 世代 VM サイズは信頼された起動ではサポートされません。 -
例 3: Azure VM が第 2 世代のみをサポートし、PowerShell コマンドを実行しても
TrustedLaunchDisabled機能が表示されない場合、第 2 世代 VM サイズは信頼された起動でサポートされます。
Azure 仮想マシンの信頼された起動の詳細については、Microsoft ドキュメント「Trusted launch for Azure virtual machines」を参照してください。
信頼された起動でマシンカタログを作成する
- 信頼された起動が有効なマスターイメージを作成します。Microsoft ドキュメント「Trusted launch VM Images」を参照してください。
- セキュリティの種類を trusted launch virtual machines として VM またはテンプレート仕様を作成します。VM またはテンプレート仕様の作成の詳細については、Microsoft ドキュメント「Deploy a trusted launch VM」を参照してください。
-
Web Studio または PowerShell コマンドを使用してマシンカタログを作成します。
- Web Studio を使用する場合は、Web Studio で Azure Resource Manager イメージを使用してマシンカタログを作成するを参照してください。
-
PowerShell コマンドを使用する場合は、VM またはテンプレート仕様をマシンプロファイルの入力として、
New-ProvSchemeコマンドを使用します。カタログを作成するためのコマンドの完全なリストについては、カタログの作成を参照してください。VM をマシンプロファイルの入力とする
New-ProvSchemeの例:New-ProvScheme -CleanOnBoot -HostingUnitName "name" -IdentityPoolName "name" -InitialBatchSizeHint 1 -MasterImageVM "XDHyp:/HostingUnits/azure/image.folder/fgthj.resourcegroup/nab-ws-vda_OsDisk_1_xxxxxxxxxxa.manageddisk" -MachineProfile "XDHyp:\HostingUnits\<adnet>\machineprofile.folder\<def.resourcegroup>\<machine profile vm.vm>" -ProvisioningSchemeName <String> -HostingUnitName <String> -IdentityPoolName <String> [-ServiceOffering <String>][-CustomProperties <String>] [<CommonParameters>] <!--NeedCopy-->テンプレート仕様をマシンプロファイルの入力とする
New-ProvSchemeの例:New-ProvScheme -CleanOnBoot -HostingUnitName "name" -IdentityPoolName "name" -InitialBatchSizeHint 1 -MasterImageVM "XDHyp:/HostingUnits/azure/image.folder/fgthj.resourcegroup/nab-ws-vda_OsDisk_1_xxxxxxxxxxa.manageddisk" MachineProfile "XDHyp:/HostingUnits/azure/machineprofile.folder/fgthj.resourcegroup/test.templatespec/V1.templatespecversion" -ProvisioningSchemeName <String> -HostingUnitName <String> -IdentityPoolName <String> [-ServiceOffering <String>][-CustomProperties <String>] [<CommonParameters>] <!--NeedCopy-->
信頼できる起動でマシンカタログを作成する際のエラー
信頼できる起動でマシンカタログを作成する際に、以下のシナリオで適切なエラーが発生します。
| シナリオ | エラー |
|---|---|
| アンマネージドカタログの作成中にマシンプロファイルを選択した場合 | MachineProfileNotSupportedForUnmanagedCatalog |
| マスターイメージとしてアンマネージドディスクを使用するカタログの作成中に、信頼できる起動をサポートするマシンプロファイルを選択した場合 | SecurityTypeNotSupportedForUnmanagedDisk |
| セキュリティの種類として信頼できる起動を持つマスターイメージソースでマネージドカタログを作成する際に、マシンプロファイルを選択しない場合 | MachineProfileNotFoundForTrustedLaunchMasterImage |
| マスターイメージのセキュリティの種類とは異なるセキュリティ種類のマシンプロファイルを選択した場合 | SecurityTypeConflictBetweenMasterImageAndMachineProfile |
| カタログ作成時に、信頼できる起動をサポートしないVMサイズを選択したが、信頼できる起動をサポートするマスターイメージを使用した場合 | MachineSizeNotSupportTrustedLaunch |
マシンプロファイルのプロパティ値を使用する
マシンカタログは、カスタムプロパティで定義されている以下のプロパティを使用します。
- アベイラビリティゾーン
- 専用ホストグループID
- ディスク暗号化セットID
- OSタイプ
- ライセンスタイプ
- ストレージタイプ
これらのカスタムプロパティが明示的に定義されていない場合、プロパティ値は、マシンプロファイルとして使用されるARMテンプレート仕様またはVMから設定されます。さらに、ServiceOfferingが指定されていない場合、マシンプロファイルから設定されます。
注:
マシンプロファイルから一部のプロパティが欠落しており、カスタムプロパティで定義されていない場合、該当する箇所ではプロパティのデフォルト値が適用されます。
以下のセクションでは、CustomPropertiesがすべてのプロパティを定義しているか、値がMachineProfileから派生している場合の、New-ProvSchemeとSet-ProvSchemeにおけるいくつかのシナリオについて説明します。
-
New-ProvScheme Scenarios
-
MachineProfile にすべてのプロパティがあり、CustomProperties が定義されていない場合。例:
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"以下の値がカタログのカスタムプロパティとして設定されます。
Get-ProvScheme | select 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="<mpA-value>"/> <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/> <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/> <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<mpA-value>"/> <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<mpA-value>"/> <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/> </CustomProperties> <!--NeedCopy--> -
MachineProfile にはいくつかのプロパティが含まれていますが、CustomProperties は定義されていません。例えば、MachineProfile には LicenseType と OsType しかありません。
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"以下の値がカタログのカスタムプロパティとして設定されます。
Get-ProvScheme | select CustomProperties <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/> <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/> </CustomProperties> <!--NeedCopy--> -
MachineProfile と CustomProperties の両方がすべてのプロパティを定義している場合。例:
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesAカスタムプロパティが優先されます。以下の値がカタログのカスタムプロパティとして設定されます。
Get-ProvScheme | select 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="<CustomPropertiesA-value>"/> <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesA-value>"/> <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/> <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<CustomPropertiesA-value>"/> <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<CustomPropertiesA-value>"/> <Property xsi:type="StringProperty" Name="Zones" Value="<CustomPropertiesA-value>"/> </CustomProperties> <!--NeedCopy--> - MachineProfile で一部のプロパティが定義され、CustomProperties で一部のプロパティが定義されている場合。例:
- カスタムプロパティはライセンスタイプとストレージアカウントタイプを定義します
- マシンプロファイルは、ライセンスタイプ、OSタイプ、およびゾーンを定義します
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA以下の値がカタログのカスタムプロパティとして設定されます。
Get-ProvScheme | select 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="<CustomPropertiesA-value>"/> <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/> <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/> <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/> </CustomProperties> <!--NeedCopy--> -
一部のプロパティはMachineProfileで定義されており、一部のプロパティはCustomPropertiesで定義されています。さらに、ServiceOfferingは定義されていません。例:
- カスタムプロパティはストレージタイプを定義します
- マシンプロファイルによってライセンスタイプが定義されます
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mp.vm" -ServiceOffering "XDHyp:\HostingUnits\azureunit\serviceoffering.folder\<explicit-machine-size>.serviceoffering" <!--NeedCopy-->以下の値がカタログのカスタムプロパティとして設定されます:
Get-ProvScheme | select ServiceOffering serviceoffering.folder\<explicit-machine-size>.serviceoffering Get-ProvScheme | select 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="explicit-storage-type"/> <Property xsi:type="StringProperty" Name="LicenseType" Value="value-from-machineprofile"/> </CustomProperties> <!--NeedCopy--> - OSタイプがカスタムプロパティにもマシンプロファイルにもない場合、次のようになります:
- 値はマスターイメージから読み取られます。
- マスターイメージがアンマネージドディスクの場合、OsTypeはWindowsに設定されます。例:
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -MasterImageVM "XDHyp:\HostingUnits\azureunit\image.folder\linux-master-image.manageddisk"マスターイメージからの値はカスタムプロパティに書き込まれます。この場合、Linuxです。
Get-ProvScheme | select CustomProperties <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="OSType" Value="Linux"/> </CustomProperties> <!--NeedCopy-->
-
-
Set-ProvScheme を使用するシナリオ
-
既存のカタログで:
-
StorageAccountTypeとOsTypeのカスタムプロパティ - ゾーンを定義するマシンプロファイル
mpA.vm
-
-
更新:
- ストレージアカウントタイプを定義するマシンプロファイル mpB.vm
- ライセンスの種類とOSの種類を定義する新しいカスタムプロパティセット $CustomPropertiesB
Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm" -CustomProperties $CustomPropertiesBカタログのカスタムプロパティとして、以下の値が設定されます。
Get-ProvScheme | select 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="<mpB-value>"/> <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/> <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesB-value>"/> </CustomProperties> <!--NeedCopy--> - 既存のカタログ(以下を含む):
- S
torageAccountTypeと OSの種類 の カスタムプロパティ - ストレージアカウントタイプ と ライセンスタイプ を定義する マシンプロファイル
mpA.vm
- S
- 更新:
- ストレージアカウントタイプ と OSタイプ を定義する新しいカスタムプロパティセット $CustomPropertiesB。
Set-ProvScheme -CustomProperties $CustomPropertiesBカタログのカスタムプロパティとして、以下の値が設定されます。
Get-ProvScheme | select 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="<CustomPropertiesB-value>"/> <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/> <Property xsi:type="StringProperty" Name="LicenseType" Value="<mp-A-value>"/> </CustomProperties> <!--NeedCopy--> - 既存のカタログ(以下を含む):
-
StorageAccountTypeと OSタイプに対するカスタムプロパティ - ゾーンを定義するマシンプロファイル
mpA.vm
-
- 更新:
- ストレージアカウントの種類とライセンスの種類を定義するマシンプロファイル mpB.vm
-
ServiceOfferingが指定されていません
Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm"カタログのカスタムプロパティとして、次の値が設定されます。
Get-ProvScheme | select ServiceOffering serviceoffering.folder\<value-from-machineprofile>.serviceoffering Get-ProvScheme | select 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="<mpB-value>"/> <Property xsi:type="StringProperty" Name="OSType" Value="<prior-CustomProperties-value>"/> <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpB-value>"/> </CustomProperties> <!--NeedCopy-->
-
Azure Monitor AgentがインストールされたカタログVMをプロビジョニングする
Azure監視は、Azureおよびオンプレミス環境からのテレメトリデータを収集、分析、および処理するために使用できるサービスです。
Azure Monitor Agent (AMA) は、仮想マシンなどのコンピューティングリソースから監視データを収集し、そのデータをAzure Monitorに配信します。現在、イベントログ、Syslog、およびパフォーマンスメトリックの収集をサポートしており、Azure Monitor MetricsおよびAzure Monitor Logsデータソースに送信します。
監視データ内のVMを一意に識別して監視を有効にするには、AMAが拡張機能としてインストールされたMCSマシンカタログのVMをプロビジョニングできます。
必要条件
-
権限: Azure権限についてに指定されている最小限のAzure権限と、Azure Monitorを使用するための次の権限があることを確認してください。
Microsoft.Compute/virtualMachines/extensions/readMicrosoft.Compute/virtualMachines/extensions/writeMicrosoft.Insights/DataCollectionRuleAssociations/ReadMicrosoft.Insights/dataCollectionRuleAssociations/writeMicrosoft.Insights/DataCollectionRules/Read
- データ収集ルール: Azureポータルでデータ収集ルールを設定します。DCRの設定については、データ収集ルールを作成するを参照してください。DCRはプラットフォーム固有(WindowsまたはLinux)です。必要なプラットフォームに応じてDCRを作成してください。 AMAは、データ収集ルール (DCR) を使用して、VMなどのリソースと、Azure Monitor MetricsやAzure Monitor Logsなどのデータソース間のマッピングを管理します。
- デフォルトのワークスペース: Azure portal でワークスペースを作成します。ワークスペースの作成については、「Log Analytics ワークスペースを作成する」を参照してください。ログとデータを収集すると、情報はワークスペースに保存されます。ワークスペースには、一意のワークスペース ID とリソース ID があります。ワークスペース名は、特定のリソースグループに対して一意である必要があります。ワークスペースを作成したら、データソースとソリューションを設定して、そのデータをワークスペースに保存します。
- 監視拡張機能のホワイトリスト登録: 拡張機能
AzureMonitorWindowsAgentおよびAzureMonitorLinuxAgentは、Citrix が定義したホワイトリスト登録済み拡張機能です。ホワイトリスト登録済み拡張機能のリストを表示するには、PoSH コマンドGet-ProvMetadataConfigurationを使用します。 - マスターイメージ: Microsoft は、既存のマシンから新しいマシンを作成する前に、既存のマシンから拡張機能を削除することを推奨しています。拡張機能が削除されない場合、残存ファイルや予期しない動作につながる可能性があります。詳細については、「既存の VM から VM を再作成する場合」を参照してください。
AMA が有効なカタログ VM をプロビジョニングするには:
-
マシンプロファイルテンプレートを設定します。
-
VM をマシンプロファイルテンプレートとして使用する場合:
- Azure ポータルで仮想マシンを作成します。
- VM の電源を入れます。
- Resources の下のデータ収集ルールに VM を追加します。これにより、テンプレート VM にエージェントのインストールが呼び出されます。
注:
Linux カタログを作成する必要がある場合は、Linux マシンを設定します。
-
テンプレート仕様をマシンプロファイルテンプレートとして使用する場合:
- テンプレート仕様を設定します。
-
生成されたテンプレート仕様に、次の拡張機能とデータ収集ルール関連付けを追加します。
{ "type": "Microsoft.Compute/virtualMachines/extensions", "apiVersion": "2022-03-01", "name": "<vm-name>/AzureMonitorWindowsAgent", "dependsOn": [ "Microsoft.Compute/virtualMachines/<vm-name>" ], "location": "<azure-region>", "properties": { "publisher": "Microsoft.Azure.Monitor", "type": "AzureMonitorWindowsAgent", "typeHandlerVersion": "1.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": true } }, { "type": "Microsoft.Insights/dataCollectionRuleAssociations", "apiVersion": "2021-11-01", "name": "<associatio-name>", "scope": "Microsoft.Compute/virtualMachines/<vm-name>", "dependsOn": [ "Microsoft.Compute/virtualMachines/<vm-name>", "Microsoft.Compute/virtualMachines/<vm-name>/extensions/AzureMonitorWindowsAgent" ], "properties": { "description": "Association of data collection rule. Deleting this association will break the data collection for this Arc server.", "dataCollectionRuleId": "/subscriptions/<azure-subscription>/resourcegroups/<azure-resource-group>/providers/microsoft.insights/datacollectionrules/<azure-data-collection-rule>" } } <!--NeedCopy-->
-
-
既存の MCS マシンカタログを作成または更新します。
-
新しいMCSカタログを作成するには:
- Web Studioで、そのVMまたはテンプレート仕様をマシンプロファイルとして選択します。
- カタログを作成するための次の手順に進みます。
-
既存のMCSカタログを更新するには、次のPoSHコマンドを使用します。
-
新しいVMに更新されたマシンプロファイルテンプレートを取得させるには、次のコマンドを実行します。
Set-ProvScheme -ProvisioningSchemeName "name" -MachineProfile "XDHyp:\HostingUnits\Unit1\machineprofile.folder\abc.resourcegroup\ab-machine-profile.vm" <!--NeedCopy--> -
既存のVMを更新されたマシンプロファイルテンプレートで更新するには:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
-
-
- カタログVMの電源を入れます。
- Azureポータルに移動し、モニター拡張機能がVMにインストールされていること、およびVMがDCRのリソースの下に表示されていることを確認します。数分後、監視データがAzure Monitorに表示されます。
トラブルシューティング
Azure Monitor Agentのトラブルシューティングガイダンスについては、以下を参照してください。
- https://learn.microsoft.com/ja-jp/azure/azure-monitor/agents/azure-monitor-agent-troubleshoot-windows-vm/
- https://learn.microsoft.com/ja-jp/azure/azure-resource-manager/troubleshooting/create-troubleshooting-template/
顧客管理の暗号化キーでマシンカタログを作成する
顧客管理の暗号化キーを使用してマシンカタログを作成する詳細な手順は次のとおりです。
- PowerShellウィンドウを開きます。
- Citrix固有のPowerShellモジュールをロードするには、
asnp citrix*を実行します。 -
cd xdhyp:/を入力します。 -
cd .\HostingUnits\(your hosting unit)を入力します。 -
cd diskencryptionset.folderを入力します。 - ディスク暗号化セットのリストを取得するには、
dirを入力します。 - ディスク暗号化セットのIDをコピーします。
-
ディスク暗号化セットのIDを含めるカスタムプロパティ文字列を作成します。例:
$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=`"persistWBC`" Value=`"False`" /> <Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"false`" /> <Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /> <Property xsi:type=`"StringProperty`" Name=`"DiskEncryptionSetId`" Value=`"/subscriptions/0xxx4xxx-xxb-4bxx-xxxx-xxxxxxxx/resourceGroups/abc/providers/Microsoft.Compute/diskEncryptionSets/abc-des`"/> </CustomProperties> <!--NeedCopy--> -
まだ作成されていない場合は、IDプールを作成します。例:
New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain def.local -NamingSchemeType Numeric <!--NeedCopy--> -
New-ProvSchemeコマンドを実行します。例:
New-ProvScheme -CleanOnBoot -HostingUnitName "name" -IdentityPoolName "name" -InitialBatchSizeHint 1 -MasterImageVM "XDHyp:\HostingUnits\azure-res2\image.folder\def.resourcegroup\def.snapshot" -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure-res2\\virtualprivatecloud.folder\def.resourcegroup\def-vnet.virtualprivatecloud\subnet1.network"} -ProvisioningSchemeName "name" -ServiceOffering "XDHyp:\HostingUnits\azure-res2\serviceoffering.folder\Standard_DS2_v2.serviceoffering" -MachineProfile "XDHyp:\HostingUnits\<adnet>\machineprofile.folder\<def.resourcegroup>\<machine profile vm.vm>" -CustomProperties $customProperties <!--NeedCopy--> - マシンカタログの作成を完了します。
二重暗号化されたマシンカタログを作成する
Web StudioおよびPowerShellコマンドを使用して、二重暗号化されたマシンカタログを作成および更新できます。
二重暗号化されたマシンカタログを作成するための詳細な手順は次のとおりです。
- プラットフォーム管理キーと顧客管理キーを使用して、Azure Key VaultとDESを作成します。Azure Key VaultとDESの作成方法については、「マネージドディスクの保存時の二重暗号化を有効にするためにAzureポータルを使用する」を参照してください。
- ホスティング接続で利用可能なDiskEncryptionSetsを参照するには:
- 「PowerShell ウィンドウを開きます。」
- 次のPowerShellコマンドを実行します。
asnp citrix*cd xdhyp:cd HostingUnits-
cd YourHostingUnitName(例えば、azure-east のような) cd diskencryptionset.folderdir
カスタムプロパティを使用してカタログを作成または更新するには、
DiskEncryptionSetのIDを使用できます。 - マシンプロファイルワークフローを使用する場合は、VMまたはテンプレート仕様をマシンプロファイルの入力として作成します。
- VMをマシンプロファイルの入力として使用する場合:
- Azure Portalで仮想マシンを作成します。
-
ディスク>キー管理 に移動して、任意の
DiskEncryptionSetIDでVMを直接暗号化します。
- テンプレート仕様をマシンプロファイルの入力として使用する場合:
- テンプレートで、
properties>storageProfile>osDisk>managedDiskの下に、diskEncryptionSetパラメーターを追加し、二重暗号化DESのIDを追加します。
- テンプレートで、
- VMをマシンプロファイルの入力として使用する場合:
- マシンカタログを作成します。
- Web Studioを使用している場合は、マシンカタログの作成の手順に加えて、次のいずれかを実行します。
- マシンプロファイルベースのワークフローを使用しない場合は、[ディスク設定]ページで、[各マシンのデータを暗号化するために次のキーを使用する]を選択します。次に、ドロップダウンリストから二重暗号化DESを選択します。カタログの作成を続行します。
- マシンプロファイルワークフローを使用している場合は、[マスターイメージ]ページで、マスターイメージとマシンプロファイルを選択します。マシンプロファイルのプロパティにディスク暗号化セットIDがあることを確認してください。
カタログで作成されたすべてのマシンは、選択したDESに関連付けられたキーによって二重に暗号化されます。
- PowerShellコマンドを使用している場合は、次のいずれかを実行します。
-
マシンプロファイルベースのワークフローを使用しない場合は、
New-ProvSchemeコマンドにカスタムプロパティDiskEncryptionSetIdを追加します。例:New-ProvScheme -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="StorageAccountType" Value="Premium_LRS" /> <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/12345678-xxxx-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet" /> </CustomProperties>' -HostingUnitName "Redacted" -IdentityPoolName "Redacted" -InitialBatchSizeHint 1 -MasterImageVM "Redacted" -NetworkMapping @{"0"="Redacted"} -ProvisioningSchemeName "Redacted" -ServiceOffering "Redacted" <!--NeedCopy--> -
マシンプロファイルベースのワークフローを使用している場合は、
New-ProvSchemeコマンドでマシンプロファイル入力を利用します。例:New-ProvScheme -CleanOnBoot -HostingUnitName azure-east -IdentityPoolName aio-ip -InitialBatchSizeHint 1 -MasterImageVM XDHyp:\HostingUnits\azure-east\image.folder\abc.resourcegroup\fgb-vda-snapshot.snapshot -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure-east\virtualprivatecloud.folder\apa-resourceGroup.resourcegroup\apa-resourceGroup-vnet.virtualprivatecloud\default.network"} -ProvisioningSchemeName aio-test -MachineProfile XDHyp:\HostingUnits\azure-east\machineprofile.folder\abc.resourcegroup\abx-mp.templatespec\1.0.0.templatespecversion <!--NeedCopy-->
-
- Web Studioを使用している場合は、マシンカタログの作成の手順に加えて、次のいずれかを実行します。
- リモートPowerShell SDKを使用してカタログの作成を完了します。リモートPowerShell SDKを使用してカタログを作成する方法については、https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/を参照してください。カタログで作成されたすべてのマシンは、選択したDESに関連付けられたキーによって二重に暗号化されます。
暗号化されていないカタログを二重暗号化を使用するように変換する
マシンカタログの暗号化タイプ(カスタムプロパティまたはマシンプロファイルを使用)は、カタログが以前に暗号化されていなかった場合にのみ更新できます。
-
マシンプロファイルベースのワークフローを使用しない場合は、
Set-ProvSchemeコマンドにカスタムプロパティDiskEncryptionSetIdを追加します。例:Set-ProvScheme -ProvisioningSchemeName "SampleProvSchemeName" -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/12345678-xxxx-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet" /> </CustomProperties>' <!--NeedCopy--> -
マシンプロファイルベースのワークフローを使用している場合は、
Set-ProvSchemeコマンドでマシンプロファイル入力を利用します。例:Set-ProvScheme -ProvisioningSchemeName mxiao-test -MachineProfile XDHyp:\HostingUnits\azure-east\machineprofile.folder\aelx.resourcegroup\elx-mp.templatespec\1.0.0.templatespecversion <!--NeedCopy-->
成功すると、カタログに追加するすべての新しいVMは、選択したDESに関連付けられたキーによって二重に暗号化されます。
カタログが二重暗号化されていることを確認する
-
ウェブスタジオで:
- マシンカタログに移動します。
- 確認するカタログを選択します。画面下部にあるテンプレートプロパティタブをクリックします。
- Azureの詳細で、ディスク暗号化セットのディスク暗号化セットIDを確認します。カタログのDES IDが空白の場合、カタログは暗号化されていません。
- Azure Portalで、DES IDに関連付けられているDESの暗号化タイプがプラットフォーム管理キーと顧客管理キーであることを確認します。
-
PowerShellコマンドを使用する:
- PowerShellウィンドウを開きます。
- Citrix固有のPowerShellモジュールをロードするには、
asnp citrix*を実行します。 -
マシンカタログの情報を取得するには、
Get-ProvSchemeを使用します。例:Get-ProvScheme -ProvisioningSchemeName "SampleProvSchemeName" <!--NeedCopy--> -
マシンカタログのDES IDカスタムプロパティを取得します。例:
<Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet" /> <!--NeedCopy--> - Azure Portalで、DES IDに関連付けられているDESの暗号化タイプがプラットフォーム管理キーと顧客管理キーであることを確認します。
Azureエフェメラルディスクでカタログを作成する
エフェメラルディスクを使用するには、New-ProvSchemeの実行時にカスタムプロパティUseEphemeralOsDiskをtrueに設定する必要があります。
注:
カスタムプロパティ
UseEphemeralOsDiskがfalseに設定されているか、値が指定されていない場合、プロビジョニングされたすべてのVDAはプロビジョニングされたOSディスクを使い続けます。
プロビジョニングスキームで使用するカスタムプロパティの例を次に示します。
"CustomProperties": [
{
"Name": "UseManagedDisks",
"Value": "true"
},
{
"Name": "StorageType",
"Value": "Standard_LRS"
},
{
"Name": "UseSharedImageGallery",
"Value": "true"
},
{
"Name": "SharedImageGalleryReplicaRatio",
"Value": "40"
},
{
"Name": "SharedImageGalleryReplicaMaximum",
"Value": "10"
},
{
"Name": "LicenseType",
"Value": "Windows_Server"
},
{
"Name": "UseEphemeralOsDisk",
"Value": "true"
}
],
<!--NeedCopy-->
カタログのエフェメラルディスクを構成する
カタログのAzureエフェメラルOSディスクを構成するには、Set-ProvScheme の UseEphemeralOsDisk パラメーターを使用します。UseEphemeralOsDisk パラメーターの値を true に設定します。
注:
この機能を使用するには、
UseManagedDisksおよびUseSharedImageGalleryパラメーターも有効にする必要があります。
例えば:
Set-ProvScheme -ProvisioningSchemeName catalog-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="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="UseEphemeralOsDisk" Value="true" />
</CustomProperties>'
<!--NeedCopy-->
エフェメラルディスクに関する重要な考慮事項
New-ProvScheme を使用してエフェメラルOSディスクをプロビジョニングするには、次の制約を考慮してください。
- カタログに使用されるVMサイズは、エフェメラルOSディスクをサポートしている必要があります。
- VMサイズに関連付けられているキャッシュまたは一時ディスクのサイズは、OSディスクのサイズ以上である必要があります。
- 一時ディスクのサイズは、キャッシュディスクのサイズよりも大きくする必要があります。
また、次の場合はこれらの問題も考慮してください。
- プロビジョニングスキームを作成する場合。
- プロビジョニングスキームを変更する場合。
- イメージを更新する場合。
Azure 専用ホスト
MCS を使用して、Azure 専用ホストに VM をプロビジョニングできます。Azure 専用ホストに VM をプロビジョニングする前に、次の手順を実行します。
- ホストグループを作成します。
- そのホストグループ内にホストを作成します。
- カタログと仮想マシンを作成するために十分なホスト容量が予約されていることを確認してください。
次の PowerShell スクリプトを使用して、ホストテナンシーが定義されたマシンのカタログを作成できます。
New-ProvScheme <otherParameters> -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="HostGroupId" Value="myResourceGroup/myHostGroup" />
...other Custom Properties...
</CustomProperties>
<!--NeedCopy-->
MCS を使用して Azure 専用ホストに仮想マシンをプロビジョニングする場合、次の点を考慮してください。
- 専用ホストはカタログのプロパティであり、カタログ作成後に変更することはできません。専用テナンシーは現在、Azure ではサポートされていません。
-
HostGroupIdパラメーターを使用する場合、ホスティングユニットのリージョンに、事前に構成された Azure ホストグループが必要です。 - Azure の自動配置が必要です。この機能は、ホストグループに関連付けられたサブスクリプションをオンボードする要求を行います。詳細については、「VM Scale Set on Azure Dedicated Hosts - Public Preview」を参照してください。自動配置が有効になっていない場合、MCS はカタログ作成中にエラーをスローします。
Azure Compute Gallery イメージを使用してマシンカタログを作成または更新する
マシンカタログを作成するために使用するイメージを選択する際、Azure Compute Gallery で作成したイメージを選択できます。
これらのイメージを表示するには、次の手順を実行する必要があります。
- シトリックス バーチャル アプリケーションズ アンド デスクトップス サイトを構成します。
- アジュール リソース マネージャー に接続します。
- Azure ポータルで、リソースグループを作成します。詳細については、ポータルを使用して Azure Compute Gallery を作成するを参照してください。
- リソースグループで、Azure Compute Gallery を作成します。
- Azure コンピュート ギャラリーで、イメージ定義を作成します。
- イメージ定義で、イメージバージョンを作成します。
Azure Compute Gallery のイメージを使用してマシンカタログを作成または更新するには、次の PowerShell コマンドを使用します。
- PowerShell ウィンドウを開きます。
-
asnp citrix*を実行して、Citrix 固有の PowerShell モジュールをロードします。 -
リソースグループを選択し、そのリソースグループのすべてのギャラリーを一覧表示します。
Get-ChildItem -LiteralPath @("XDHyp:\HostingUnits\testresource\image.folder\sharedImageGalleryTest.resourcegroup") <!--NeedCopy--> -
ギャラリーを選択し、そのギャラリーのすべてのイメージ定義を一覧表示します。
Get-ChildItem -LiteralPath @("XDHyp:\HostingUnits\testresource\image.folder\sharedImageGalleryTest.resourcegroup\sharedImageGallery.sharedimagegallery") <!--NeedCopy--> -
1つのイメージ定義を選択し、そのイメージ定義のすべてのイメージバージョンを一覧表示します。
Get-ChildItem -LiteralPath @("XDHyp:\HostingUnits\testresource\image.folder\sharedImageGalleryTest.resourcegroup\sharedImageGallery.sharedimagegallery\sigtestimage.imagedefinition") <!--NeedCopy--> - 次の要素を使用して MCS カタログを作成および更新します。
- リソースグループ
- ギャラリー
- ギャラリーイメージ定義
- ギャラリーイメージバージョン
Remote PowerShell SDK を使用してカタログを作成する方法については、https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/ を参照してください。
共有イメージギャラリーの構成
共有イメージギャラリーをサポートするプロビジョニングスキームを作成するには、New-ProvScheme コマンドを使用します。プロビジョニングスキームでこの機能を有効または無効にし、レプリカ比率とレプリカの最大値を変更するには、Set-ProvScheme コマンドを使用します。
共有イメージギャラリー機能をサポートするために、プロビジョニングスキームに3つのカスタムプロパティが追加されました。
UseSharedImageGallery
- 公開されたイメージを保存するために共有イメージギャラリーを使用するかどうかを定義します。True に設定すると、イメージは共有イメージギャラリーイメージとして保存され、それ以外の場合はスナップショットとして保存されます。
- 有効な値は True と False です。
- プロパティが定義されていない場合、デフォルト値は False です。
SharedImageGalleryReplicaRatio
- マシンとギャラリーイメージバージョンレプリカの比率を定義します。
- 有効な値は0より大きい整数です。
- プロパティが定義されていない場合、デフォルト値が使用されます。永続OSディスクのデフォルト値は1000、非永続OSディスクのデフォルト値は40です。
SharedImageGalleryReplicaMaximum
- 各ギャラリーイメージバージョンに対するレプリカの最大数を定義します。
- 有効な値は0より大きい整数です。
- プロパティが定義されていない場合、デフォルト値は10です。
- Azureは現在、ギャラリーイメージの単一バージョンに対して最大10個のレプリカをサポートしています。プロパティがAzureでサポートされている値よりも大きい値に設定されている場合、MCSは指定された値を使用しようとします。Azureはエラーを生成し、MCSはそれをログに記録した後、現在のレプリカ数を変更しません。
ヒント:
MCSプロビジョニングされたカタログの公開済みイメージを保存するために共有イメージギャラリーを使用する場合、MCSはカタログ内のマシンの数、レプリカ比率、およびレプリカ最大値に基づいてギャラリーイメージバージョンのレプリカ数を設定します。レプリカ数は、カタログ内のマシンの数をレプリカ比率で割って(最も近い整数値に切り上げて)計算され、その値を最大レプリカ数で制限します。たとえば、レプリカ比率が20で最大値が5の場合、0~20台のマシンには1つのレプリカが作成され、21~40台には2つのレプリカ、41~60台には3つのレプリカ、61~80台には4つのレプリカ、81台以上には5つのレプリカが作成されます。
ユースケース: 共有イメージギャラリーのレプリカ比率とレプリカ最大値の更新
既存のマシンカタログは共有イメージギャラリーを使用しています。カタログ内のすべての既存マシンおよび将来のマシンのカスタムプロパティを更新するには、Set-ProvScheme コマンドを使用します。
Set-ProvScheme -ProvisioningSchemeName catalog-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="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->
ユースケース: スナップショットカタログを共有イメージギャラリーカタログに変換する
このユースケースの場合:
-
Set-ProvSchemeを実行し、UseSharedImageGalleryフラグを True に設定します。オプションで、SharedImageGalleryReplicaRatioおよびSharedImageGalleryReplicaMaximumプロパティを含めます。 - カタログを更新します。
- 更新を強制するためにマシンの電源を入れ直します。
例えば、次のように:
Set-ProvScheme -ProvisioningSchemeName catalog-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="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->
ヒント:
パラメーター
SharedImageGalleryReplicaRatioとSharedImageGalleryReplicaMaximumは必須ではありません。Set-ProvSchemeコマンドが完了しても、共有イメージギャラリーイメージはまだ作成されていません。カタログがギャラリーを使用するように構成されると、次回のカタログ更新操作で公開されたイメージがギャラリーに保存されます。カタログ更新コマンドは、ギャラリー、ギャラリーイメージ、およびイメージバージョンを作成します。マシンの電源を入れ直すと更新され、必要に応じてレプリカ数が更新されます。それ以降、既存のすべての非永続マシンは共有イメージギャラリーイメージを使用してリセットされ、新しくプロビジョニングされたすべてのマシンはそのイメージを使用して作成されます。古いスナップショットは数時間以内に自動的にクリーンアップされます。
ユースケース: 共有イメージギャラリーカタログをスナップショットカタログに変換する
このユースケースの場合:
-
UseSharedImageGalleryフラグをFalseに設定するか、未定義のままにしてSet-ProvSchemeを実行します。 - カタログを更新します。
- 強制的に更新するために、マシンをパワーサイクルします。
例えば:
Set-ProvScheme -ProvisioningSchemeName catalog-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="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="False"/></CustomProperties>'
<!--NeedCopy-->
ヒント:
スナップショットから共有イメージギャラリーカタログへの更新とは異なり、各マシンのカスタムデータは新しいカスタムプロパティを反映するようにまだ更新されていません。元の共有イメージギャラリーのカスタムプロパティを表示するには、次のコマンドを実行します:
Get-ProvVm -ProvisioningSchemeName catalog-name。Set-ProvSchemeコマンドが完了しても、イメージスナップショットはまだ作成されていません。カタログがギャラリーを使用しないように構成されると、次回のカタログ更新操作で公開されたイメージがスナップショットとして保存されます。その時点から、既存のすべての非永続マシンはスナップショットを使用してリセットされ、新しくプロビジョニングされたすべてのマシンはスナップショットから作成されます。マシンをパワーサイクルすると更新され、その時点でカスタムマシンデータはUseSharedImageGalleryがFalseに設定されていることを反映するように更新されます。古い共有イメージギャラリーのアセット(ギャラリー、イメージ、バージョン)は、数時間以内に自動的にクリーンアップされます。
指定されたアベイラビリティゾーンにマシンをプロビジョニングする
Azure環境の特定のアベイラビリティゾーンにマシンをプロビジョニングできます。これはPowerShellを使用して実現できます。
注:
ゾーンが指定されていない場合、MCSはAzureにリージョン内にマシンを配置させます。複数のゾーンが指定されている場合、MCSはそれらのゾーンにマシンをランダムに分散させます。
PowerShellを介してアベイラビリティゾーンを構成する
PowerShellを使用して、Get-Itemを使用して提供インベントリアイテムを表示できます。たとえば、米国東部リージョンのStandard_B1lsサービス提供を表示するには:
$serviceOffering = Get-Item -path "XDHyp:\Connections\my-connection-name\East US.region\serviceoffering.folder\Standard_B1ls.serviceoffering"
<!--NeedCopy-->
ゾーンを表示するには、アイテムに対してAdditionalDataパラメーターを使用します:
$serviceOffering.AdditionalData
アベイラビリティゾーンが指定されていない場合、マシンのプロビジョニング方法に変更はありません。
PowerShell を介してアベイラビリティゾーンを構成するには、New-ProvScheme 操作で利用可能な Zones カスタムプロパティを使用します。Zones プロパティは、マシンをプロビジョニングするアベイラビリティゾーンのリストを定義します。これらのゾーンには、1つ以上のアベイラビリティゾーンを含めることができます。たとえば、ゾーン1と3の場合は <Property xsi:type="StringProperty" Name="Zones" Value="1, 3"/> です。
プロビジョニングスキームのゾーンを更新するには、Set-ProvScheme コマンドを使用します。
無効なゾーンが指定された場合、プロビジョニングスキームは更新されず、無効なコマンドを修正する方法を示すエラーメッセージが表示されます。
ヒント:
無効なカスタムプロパティを指定した場合、プロビジョニングスキームは更新されず、関連するエラーメッセージが表示されます。
ストレージの種類
MCS を使用する Azure 環境の仮想マシンに対して、異なるストレージの種類を選択します。ターゲット VM の場合、MCS は以下をサポートします。
- OS ディスク: プレミアム SSD、SSD、または HDD
- ライトバックキャッシュディスク: プレミアム SSD、SSD、または HDD
これらのストレージの種類を使用する際は、以下を考慮してください。
- VM が選択したストレージの種類をサポートしていることを確認してください。
- 構成で Azure エフェメラルディスクを使用している場合、ライトバックキャッシュディスク設定のオプションは表示されません。
ヒント:
StorageTypeは OS タイプとストレージアカウント用に構成されます。WBCDiskStorageTypeはライトバックキャッシュストレージタイプ用に構成されます。通常のカタログの場合、StorageTypeが必要です。WBCDiskStorageTypeが構成されていない場合、StorageTypeがWBCDiskStorageTypeのデフォルトとして使用されます。
WBCDiskStorageType が構成されていない場合、StorageType がそのデフォルトとして使用されます。
ストレージの種類を構成する
VM のストレージの種類を構成するには、New-ProvScheme の StorageType パラメーターを使用します。StorageType パラメーターの値を、サポートされているストレージの種類いずれかに設定します。
プロビジョニングスキームにおける CustomProperties パラメーターの設定例を次に示します。
Set-ProvScheme -ProvisioningSchemeName catalog-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="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>'
<!--NeedCopy-->
ゾーン冗長ストレージを有効にする
カタログ作成時にゾーン冗長ストレージを選択できます。これにより、Azure マネージドディスクが複数の可用性ゾーンにわたって同期的にレプリケートされ、あるゾーンで障害が発生した場合でも、他のゾーンの冗長性を利用して回復できます。
ストレージタイプのカスタムプロパティで Premium_ZRS と StandardSSD_ZRS を指定できます。ZRS ストレージは、既存のカスタムプロパティを使用するか、MachineProfile テンプレートを介して設定できます。ZRS ストレージは、-StartsNow および -DurationInMinutes -1 パラメーターを持つ Set-ProvVMUpdateTimeWindow コマンドでもサポートされており、既存のマシンを LRS から ZRS ストレージに変更できます。
制限事項:
- マネージドディスクのみをサポート
- プレミアムおよび標準ソリッドステートドライブ (SSD) のみでサポート
-
StorageTypeAtShutdownではサポートされていません - 特定のリージョンでのみ利用可能。
- 大規模に ZRS ディスクを作成すると、Azure のパフォーマンスが低下します。そのため、最初の電源投入時には、マシンをより小さなバッチ (一度に 300 台未満のマシン) で起動してください。
ディスクストレージの種類としてゾーン冗長ストレージを設定する
ゾーン冗長ストレージは、最初のカタログ作成時に選択することも、既存のカタログでストレージの種類を更新することもできます。
PowerShellコマンドを使用してゾーン冗長ストレージを選択する
New-ProvScheme PowerShellコマンドを使用してAzureで新しいカタログを作成する場合、StorageAccountType の値として Standard_ZRS を使用します。
例:
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="StandardSSD_ZRS" />
<!--NeedCopy-->
この値を設定すると、それが適切に使用できるかどうかを判断する動的APIによって検証されます。ZRSの使用がカタログに対して有効でない場合、以下の例外が発生する可能性があります。
- StorageTypeAtShutdownNotSupportedForZrsDisks: The StorageTypeAtShutdown custom property cannot be used with ZRS storage.
- StorageAccountTypeNotSupportedInRegion: この例外は、ZRSをサポートしていないAzureリージョンでZRSストレージを使用しようとした場合に発生します。
- ZrsRequiresManagedDisks: ゾーン冗長ストレージはマネージドディスクでのみ使用できます。
以下のカスタムプロパティを使用して、ディスクストレージタイプを設定できます。
StorageTypeWBCDiskStorageTypeIdentityDiskStorageType
注:
カタログ作成時、カスタムプロパティが設定されていない場合、マシンプロファイルのOSディスク
StorageTypeが使用されます。
マシンプロファイルからVMおよびNICの診断設定をキャプチャする
マシンカタログの作成時、既存のマシンカタログの更新時、および既存のVMの更新時に、マシンプロファイルからVMおよびNICの診断設定をキャプチャできます。
VMまたはテンプレート仕様をマシンプロファイルのソースとして作成できます。
主要な手順
-
Azureで必要なIDを設定します。これらのIDはテンプレート仕様で指定する必要があります。
- ストレージアカウント
- ログ分析ワークスペース
- 標準ティアの価格設定を持つEvent Hub名前空間
- マシンプロファイルのソースを作成します。
- 新しいマシンカタログを作成するか、既存のカタログを更新するか、既存のVMを更新します。
Azureで必要なIDを設定する
Azureで次のいずれかを設定します。
- ストレージアカウント
- ログ分析ワークスペース
- 標準ティアの価格設定を持つEvent Hub名前空間
ストレージアカウントを設定する
Azureで標準ストレージアカウントを作成します。テンプレート仕様で、ストレージアカウントの完全なresourceIdをstorageAccountIdとして指定します。
VMがストレージアカウントにデータをログするように設定されると、データはinsights-metrics-pt1mコンテナの下で見つけることができます。
ログ分析ワークスペースをセットアップする
ログ分析ワークスペースを作成します。テンプレート仕様で、ログ分析ワークスペースの完全なresourceIdをworkspaceIdとして指定します。
VMがワークスペースにデータをログ記録するように設定されると、Azureの[ログ]でデータをクエリできます。Azureの[ログ]で次のコマンドを実行すると、リソースによってログ記録されたすべてのメトリックの数を表示できます。
AzureMetrics
| summarize Count=count() by ResourceId
イベントハブをセットアップする
Azureポータルでイベントハブをセットアップするには、次の手順を実行します。
- 標準ティアの価格設定でイベントハブの名前空間を作成します。
- 名前空間の下にイベントハブを作成します。
- イベントハブの下にあるCaptureに移動します。トグルをオンにして、Avro出力タイプでキャプチャします。
- ログをキャプチャするために、既存のストレージアカウントに新しいコンテナを作成します。
- テンプレート仕様で、
eventHubAuthorizationRuleIdを次の形式で指定します:/subscriptions/093f4c12-704b-4b1d-8339-f339e7557f60/resourcegroups/matspo/providers/Microsoft.EventHub/namespaces/matspoeventhub/authorizationrules/RootManageSharedAccessKey - イベントハブの名前を指定します。
VMがイベントハブにデータをログ記録するように設定されると、データは構成されたストレージコンテナにキャプチャされます。
マシンプロファイルソースを作成する
VMまたはテンプレート仕様をマシンプロファイルソースとして作成できます。
診断設定を含むVMベースのマシンプロファイルを作成する
VMをマシンプロファイルとして作成する場合は、まずテンプレートVM自体に診断設定をセットアップします。詳細な手順については、Microsoftのドキュメント「Azure Monitorの診断設定」を参照してください。
VMまたはNICに関連付けられている診断設定があることを確認するには、次のコマンドを実行します。
az monitor diagnostic-settings list --resource-group matspo --resource matspo-tog-cc2659 --resource-type microsoft.network/networkInterfaces
<!--NeedCopy-->
az monitor diagnostic-settings list --resource-group matspo --resource matspo-tog-cc2 --resource-type microsoft.compute/virtualMachines
<!--NeedCopy-->
診断設定を含むテンプレート仕様ベースのマシンプロファイルを作成する
診断設定がすでに有効になっているVMを使用し、それをARMテンプレート仕様にエクスポートする場合、これらの設定はテンプレートに自動的に含まれません。ARMテンプレート内で診断設定を手動で追加または変更する必要があります。
ただし、VMをマシンプロファイルとして使用する場合、MCSは重要な診断設定が正確にキャプチャされ、MCSカタログ内のリソースに適用されることを保証します。
- VMとNICを定義する標準テンプレート仕様を作成します。
-
仕様に従って診断設定を展開するための追加リソースを追加します: Microsoft.Insights diagnosticSettings。スコープについては、テンプレート内のVMまたはNICを部分的なIDとともに名前で参照します。たとえば、テンプレート仕様でtest-VMという名前のVMにアタッチされた診断設定を作成する場合、スコープを次のように指定します。
"scope": "microsoft.compute/virtualMachines/test-VM", <!--NeedCopy--> - テンプレート仕様をマシンプロファイルのソースとして使用します。
診断設定を含むカタログを作成または更新する
マシンプロファイルソースを作成したら、New-ProvSchemeコマンドを使用してマシンカタログを作成し、Set-ProvSchemeコマンドを使用して既存のマシンカタログを更新し、Request-ProvVMUpdateコマンドを使用して既存のVMを更新できます。
ページファイルの場所
Azure環境では、VMが最初に作成されるときにページファイルが適切な場所に設定されます。ページングファイルの設定は<page file location>[min size] [max size]の形式で構成されます(サイズはMB単位です)。詳細については、Microsoftのドキュメント「適切なページファイルを決定する方法」を参照してください。
イメージ準備中にProvSchemeを作成すると、MCSは特定のルールに基づいてページファイルの場所を決定します。ProvSchemeを作成した後:
- 受信VMサイズによってページファイル設定が異なる場合、VMサイズの変更はブロックされます。
- マシンプロファイルの更新によってページファイル設定が異なるため、サービスオファリングが変更された場合、マシンプロファイルの更新はブロックされます。
- エフェメラルOSディスク (EOS) および MCSIO プロパティは変更できません。
ページファイルの場所の決定
EOSやMCSIOのような機能はそれぞれ独自の予期されるページファイルの場所を持ち、互いに排他的です。次の表は、各機能の予期されるページファイルの場所を示しています。
| 機能 | 予期されるページファイルの場所 |
|---|---|
| EOS | OSディスク |
| エムシーエスアイオー | まずAzure一時ディスク、それ以外の場合はライトバックキャッシュディスク |
注:
イメージの準備がプロビジョニングスキームの作成から切り離されていても、MCSはページファイルの場所を正しく決定します。デフォルトのページファイルの場所はOSディスク上です。
ページファイル設定のシナリオ
次の表は、イメージの準備中およびプロビジョニングスキームの更新中のページファイル設定のいくつかの可能なシナリオについて説明しています。
| 時 | シナリオ | 結果 |
|---|---|---|
| イメージの準備 | ソースイメージのページファイルが一時ディスクに設定されているが、プロビジョニングスキームで指定されたVMサイズには一時ディスクがない場合 | ページファイルはOSディスクに配置されます |
| イメージの準備 | ソースイメージのページファイルがOSディスクに設定されているが、プロビジョニングスキームで指定されたVMサイズには一時ディスクがある場合。 | ページファイルは一時ディスクに配置されます |
| イメージの準備 | ソースイメージのページファイルが一時ディスクに設定されているが、プロビジョニングスキームでエフェメラルOSディスクが有効になっている場合。 | ページファイルはOSディスクに配置されます |
| プロビジョニングスキームの更新 | プロビジョニングスキームの更新を試行し、元のVMサイズには一時ディスクがあるが、ターゲットVMには一時ディスクがない場合。 | エラーメッセージとともに変更を拒否します |
| プロビジョニングスキームの更新 | プロビジョニングスキームの更新を試行すると、元のVMサイズには一時ディスクがなく、ターゲットVMには一時ディスクがあります | エラーメッセージとともに変更を拒否します |
ページファイル設定の更新
ページファイルの設定(場所とサイズを含む)は、PowerShellコマンドを使用して明示的に指定することもできます。これにより、MCSによって決定された値が上書きされます。これを行うには、New-ProvScheme コマンドを実行し、以下のカスタムプロパティを含めます。
-
PageFileDiskDriveLetterOverride: ページファイルの場所のディスクドライブ文字 -
InitialPageFileSizeInMB: 初期ページファイルサイズ(MB) -
MaxPageFileSizeInMB: 最大ページファイルサイズ(MB)
カスタムプロパティの使用例:
-CustomProperties '<CustomProperties xmlns=" http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"> `
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="false"/> `
<Property xsi:type="StringProperty" Name="PersistVm" Value="false"/> `
<Property xsi:type="StringProperty" Name="PageFileDiskDriveLetterOverride" Value="d"/> `
<Property xsi:type="StringProperty" Name="InitialPageFileSizeInMB" Value="2048"/> `
<Property xsi:type="StringProperty" Name="MaxPageFileSizeInMB" Value="8196"/> `
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS"/> `
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client"/> `
</CustomProperties>'
<!--NeedCopy-->
制約:
- ページファイル設定は、
New-ProvSchemeコマンドを実行してプロビジョニングスキームを作成するときにのみ更新でき、後で変更することはできません。 - すべてのページファイル設定関連プロパティ(
PageFileDiskDriveLetterOverride、InitialPageFileSizeInMB、およびMaxPageFileSizeInMB)をカスタムプロパティで指定するか、いずれも指定しないでください。 - 初期ページファイルサイズは16 MBから16777216 MBの間である必要があります。
- 最大ページファイルサイズは、初期ページファイルサイズ以上で、16777216 MB未満である必要があります。
- この機能はWeb Studioではサポートされていません。
Azure Spot VMを使用してカタログを作成する
Azure Spot VMを使用すると、Azureの未使用のコンピューティング容量を大幅なコスト削減で活用できます。ただし、Azure Spot VMを割り当てる機能は、現在の容量と価格設定に依存します。そのため、Azureは実行中のVMを強制排除したり、VMの作成に失敗したり、強制排除ポリシーに従ってVMの電源投入に失敗したりする可能性があります。したがって、Azure Spot VMは、一部の重要でないアプリケーションやデスクトップに適しています。詳細については、Azure Spot Virtual Machinesの使用を参照してください。
制限事項
-
すべてのVMサイズがAzure Spot VMでサポートされているわけではありません。詳細については、制限事項を参照してください。
次のPowerShellコマンドを実行して、VMサイズがSpot VMをサポートしているかどうかを確認できます。VMサイズがSpot VMをサポートしている場合、
SupportsSpotVMはTrueです。(Get-Item "XDHyp:\HostingUnits\azure-res-conn2\serviceoffering.folder\Standard_D2ds_v4.serviceoffering"). AdditionalData <!--NeedCopy--> -
現在、Azure Spot VMは休止状態をサポートしていません。
必須要件
Azure Spot VMカタログの機械プロファイルソース(VMまたはテンプレート仕様)を作成する際、Azure Spot Instanceを選択するか(VMを使用する場合)、priorityをSpotに設定する必要があります(テンプレート仕様を使用する場合)。
Azure Spot VMを使用してカタログを作成する手順
-
機械プロファイルソース(VMまたは起動テンプレート)を作成します。
- Azureポータルを使用してVMを作成する方法については、Azureポータルを使用してAzure Spot Virtual Machinesを展開するを参照してください。
-
テンプレート仕様を作成するには、テンプレート仕様のresources > type: Microsoft.Compute/virtualMachines > propertiesの下に次のプロパティを追加します。例:
"priority": "Spot", "evictionPolicy": "Deallocate", "billingProfile": { "maxPrice": 0.01 } <!--NeedCopy-->
注:
- 強制排除ポリシーはDeallocateまたはDeleteに設定できます。
- 非永続VMの場合、MCSは常に強制排除ポリシーをDeleteに設定します。VMが強制排除されると、非永続ディスク(例:OSディスク)とともに削除されます。永続ディスク(例:IDディスク)は削除されません。ただし、カタログタイプが永続的であるか、
PersistOsDiskカスタムプロパティがTrueに設定されている場合、OSディスクは永続的です。同様に、PersistWbcカスタムプロパティがTrueに設定されている場合、WBCディスクは永続的です。 - 永続VMの場合、MCSは常に強制排除ポリシーをDeallocateに設定します。VMが強制排除されると、割り当て解除されます。ディスクに変更は加えられません。
- 非永続VMの場合、MCSは常に強制排除ポリシーをDeleteに設定します。VMが強制排除されると、非永続ディスク(例:OSディスク)とともに削除されます。永続ディスク(例:IDディスク)は削除されません。ただし、カタログタイプが永続的であるか、
- 最大価格は、1時間あたりに支払う意思のある価格です。Capacity Onlyを使用している場合、これは-1です。最大価格は、null、-1、またはゼロより大きい小数である必要があります。詳細については、価格を参照してください。
-
マシンプロファイルがAzure Spot VM対応であるかどうかを確認するには、次のPowerShellコマンドを実行します。
SpotEnabledパラメーターがTrueで、SpotEvictionPolicyがDeallocateまたはDeleteに設定されている場合、マシンプロファイルはAzure Spot VM対応です。例:-
マシンプロファイルのソースがVMの場合、次のコマンドを実行します。
(Get-Item "XDHyp:\HostingUnits\azure-res-conn2\machineprofile.folder\fifthcolumn.resourcegroup\kb-spot-delete.vm"). AdditionalData <!--NeedCopy--> -
マシンプロファイルのソースがテンプレート仕様の場合、次のコマンドを実行します。
(Get-Item "XDHyp:\HostingUnits\azure-res-conn2\machineprofile.folder\fifthcolumn.resourcegroup\fc-aeh-templatespec.templatespec\14.0.0-spot-delete.templatespecversion").AdditionalData <!--NeedCopy-->
-
-
New-ProvSchemePowerShellコマンドを使用して、マシンプロファイルでマシンカタログを作成します。
Set-ProvSchemeコマンドを使用してカタログを更新できます。また、PowerShellコマンドSet-ProvVmUpdateTimeWindowを使用して既存のVMを更新することもできます。マシンプロファイルは次回の電源投入時に更新されます。
実行中のAzure Spot VMでの強制排除
計算能力が利用できない場合、または1時間あたりの価格が設定された最大価格よりも高い場合、Azureは実行中のSpot VMを強制排除します。デフォルトでは、強制排除の通知はされません。VMは単にフリーズし、強制排除されます。Microsoftは、強制排除を監視するためにスケジュールされたイベントを使用することを推奨しています。強制排除を継続的に監視するを参照してください。強制排除の前に通知を受け取るために、VM内からスクリプトを実行することもできます。例えば、MicrosoftはPythonでポーリングスクリプトScheduledEvents.csを提供しています。
トラブルシューティング
-
Get-ProvVMコマンドを使用して、プロビジョニングされたVMのcustomMachineDataでSpot VMのプロパティを確認できます。優先度フィールドがSpotに設定されている場合、Spotが使用されています。 -
Azure PortalでVMがSpotを使用しているかどうかを確認できます。
- アジュール ポータルでブイエムを見つけます。
- 概要ページに移動します。
-
下にスクロールして、Azure Spotセクションを見つけます。
- Spotが使用されていない場合、このフィールドは空です。
- Spotが使用されている場合、Azure Spot および Azure Spot eviction policy フィールドが設定されます。
- 構成ページで、VMの課金プロファイルまたは1時間あたりの最大価格を確認できます。
バックアップVMサイズの構成
パブリッククラウドでは、特定のVMサイズの容量が不足することがあります。また、Azure Spot VMを使用している場合、Azureの容量要件に基づいてVMはいつでも強制排除される可能性があります。Azureの容量不足やSpot VMの電源投入失敗といった場合、MCSはバックアップVMサイズにフォールバックします。MCSマシンカタログの作成または更新時に、カスタムプロパティ BackupVmConfiguration を使用してバックアップVMサイズのリストを提供できます。MCSは、リストで指定された順序でバックアップVMサイズにフォールバックしようとします。
MCSがVMに特定のバックアップ構成を使用する場合、次回のシャットダウンまでその構成を使い続けます。次回の電源投入時、MCSはプライマリVM構成を起動しようとします。失敗した場合、MCSはリストに従ってバックアップVMサイズ構成を再度起動しようとします。
この機能は以下でサポートされています。
- マシンプロファイルを使用するカタログ
- 永続的および非永続的なMCSマシンカタログ
- 現在のAzure環境
重要な考慮事項
- リストには複数のバックアップVMサイズを提供できます。
- リストは一意である必要があります。
- リスト内の各VMにインスタンスタイププロパティを追加できます。タイプはSpotまたはRegularのいずれかです。タイプが指定されていない場合、MCSはVMをRegularと見なします。
- 既存のカタログのバックアップVMサイズリストは、
Set-ProvSchemePowerShellコマンドを使用して変更できます。 - カタログに関連付けられたプロビジョニングスキームから作成された既存のVMは、
Set-ProvVMUpdateTimeWindowコマンドを使用して更新できます。 - 既存のMCS VMの選択された数に対して、
Set-ProvVMコマンドを使用してバックアップVMサイズリストを構成できます。ただし、更新を適用するには、Set-ProvVMUpdateTimeWindowを使用してVMの更新時間枠を設定し、その時間枠内でVMを起動します。VMでSet-ProvVmコマンドが使用された場合、プロビジョニングスキーム上のリストが後で更新されても、VMはその特定のVMに設定されたバックアップVMサイズリストを引き続き使用します。Set-ProvVMを-RevertToProvSchemeConfigurationと共に使用して、VMにプロビジョニングスキーム上のバックアップリストを使用させることができます。
バックアップVMサイズでカタログを作成する
注:
Studio UIのフリーズの問題に対処するには、PowerShellコマンドの実行中にすべてのシングルクォートを
"に置き換えます。
- PowerShellウィンドウを開きます。
-
asnp citrix*を実行して、Citrix固有のPowerShellモジュールをロードします。 - ブローカーカタログを作成します。このカタログには、作成される予定のマシンが格納されます。
- IDプールを作成します。これは、作成されるマシン用に作成されたADアカウントのコンテナになります。
- マシンプロファイルを使用してプロビジョニングスキームを作成します。「バックアップ構成を構成する方法」を参照してください。
- プロビジョニングスキームの一意のIDでブローカーカタログを更新します。
- VMを作成してカタログに追加します。
既存のカタログを更新する
Set-ProvSchemeコマンドを使用してプロビジョニングスキームを更新できます。「バックアップ構成を構成する方法」を参照してください。
既存のVMを更新する
Set-ProvVMUpdateTimeWindow PowerShellコマンドを使用して、カタログ内の既存のVMを更新できます。このコマンドは、指定された時間枠内の次回の電源投入時に、カタログに関連付けられたプロビジョニングスキームから作成されたVMを更新します。例:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -StartTimeInUTC "3/12/2022 3am" -DurationInMinutes 60Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -StartsNow -DurationInMinutes 60
注:
StartsNowはスケジュールされた開始時間を示します。DurationInMinutesはスケジュールの時間枠です。
選択した既存のMCS VMのバックアップVMサイズリストをSet-ProvVMコマンドを使用して構成できます。ただし、更新を適用するには、Set-ProvVMUpdateTimeWindowを使用してVMの更新時間枠を設定し、その時間枠内でVMを起動します。例:
-
選択した既存のMCS VMのバックアップVMサイズリストを構成するには、
Set-ProvVMコマンドを実行します。例:Set-ProvVM -ProvisioningSchemeName "name"-VMName "Vm-001" -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=`"StorageAccountType`" Value=`"Premium_LRS`" /> <Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Server`"/> <Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"true`"/> <Property xsi:type=`"StringProperty`" Name=`"BackupVmConfiguration`" Value=`"[{"ServiceOffering": "Standard_D2as_v4", "Type": "Spot"}, {"ServiceOffering": "Standard_D2s_v3", "Type": "Regular"}, {"ServiceOffering": "Standard_D2s_v3", "Type": "Spot"}]`"/> </CustomProperties>" <!--NeedCopy--> -
更新を適用するには、
Set-ProvVMUpdateTimeWindowコマンドを実行します。例:Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -StartsNow -DurationInMinutes 60 <!--NeedCopy-->
すべてのリソースにタグをコピーする
マシンプロファイルで指定されたタグを、新しいVMまたはマシンカタログ内の既存のVMのすべてのリソース(複数のNICやディスク(OSディスク、IDディスク、ライトバックキャッシュディスクなど))にコピーできます。マシンプロファイルのソースは、VMまたはARMテンプレート仕様にすることができます。
注:
タグにポリシーを追加するか(「タグコンプライアンスのポリシー定義を割り当てる」を参照)、リソースにタグを保持するために、マシンプロファイルソースにタグを追加する必要があります。
前提条件
マシンプロファイルソース(VMまたはARMテンプレート仕様)を作成して、そのVMのVM、ディスク、NICにタグを付けます。
- VMをマシンプロファイルの入力として使用する場合は、AzureポータルでVMとすべてのリソースにタグを適用します。「Azureポータルでタグを適用する」を参照してください。
-
ARMテンプレート仕様をマシンプロファイルの入力として使用する場合は、各リソースの下に次のタグブロックを追加します。
"tags": { "TagC": "Value3" }, <!--NeedCopy-->
注:
テンプレート仕様には、最大1つのディスクと少なくとも1つのNICを含めることができます。
新しいマシンカタログ内のVMのリソースにタグをコピーする
- VMまたはARMテンプレート仕様をマシンプロファイルの入力として使用して、非永続または永続カタログを作成します。
-
カタログにVMを追加して電源をオンにします。マシンプロファイルで指定されたタグが、そのVMの対応するリソースにコピーされていることを確認する必要があります。
注:
マシンプロファイルで提供されるNICの数と、VMで使用するNICの数に不一致がある場合、エラーが発生します。
既存のVMのリソース上のタグを変更する
- すべてのリソースにタグを付けたマシンプロファイルを作成します。
-
更新されたマシンプロファイルで既存のマシンカタログを更新します。例:
Set-ProvScheme -ProvisioningSchemeName <YourCatalogName> -MachineProfile <PathToYourMachineProfile> <!--NeedCopy--> - 更新を適用したいVMの電源をオフにします。
-
VMのスケジュールされた更新を要求します。例:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName <YourCatalogName> -VMName machine1 -StartsNow -DurationInMinutes -1 <!--NeedCopy--> - VMの電源をオンにします。
- マシンプロファイルで指定されたタグが、対応するリソースにコピーされていることを確認する必要があります。
注:
マシンプロファイルで提供されるNICの数と、
Set-ProvSchemeで提供されるNICの数に不一致がある場合、エラーが発生します。
次のステップ
- これが最初に作成されたカタログである場合、Web Studioはデリバリーグループの作成を案内します。
- 構成プロセス全体を確認するには、インストールと構成を参照してください。
- カタログを管理するには、マシンカタログの管理とMicrosoft Azureカタログの管理を参照してください。
詳細情報
この記事の概要
- マシンカタログを作成する
- Azure一時ディスクがライトバックキャッシュディスクの対象となる条件
- 非永続ライトバックキャッシュディスクのシナリオ
- Azureテンプレート仕様を作成する
- カタログの作成または更新におけるテンプレート仕様の使用
- Azureサーバー側暗号化
- Azureのお客様が管理する暗号化キー
- ホストでのAzureディスク暗号化
- マネージドディスクでの二重暗号化
- Azureリソースグループ
- Azureエフェメラルディスク
- Azure コンピュート ギャラリー
- アジュール 機密仮想マシン
- アジュール マーケットプレイス
- PowerShellを使用してマシンカタログを作成する
- 非永続的なライトバックキャッシュディスクを持つカタログを作成する
- 永続的なライトバックキャッシュディスクを持つカタログを作成する
- MCSIOで起動パフォーマンスを向上させる
- PowerShellを使用してカタログを作成または更新する際にテンプレート仕様を使用する
- 信頼された起動によるマシンカタログ
- マシンプロファイルのプロパティ値を使用する
- Azure Monitor AgentがインストールされたカタログVMをプロビジョニングする
- 顧客管理の暗号化キーでマシンカタログを作成する
- 二重暗号化されたマシンカタログを作成する
- Azureエフェメラルディスクでカタログを作成する
- Azure 専用ホスト
- Azure Compute Gallery イメージを使用してマシンカタログを作成または更新する
- 共有イメージギャラリーの構成
- 指定されたアベイラビリティゾーンにマシンをプロビジョニングする
- ストレージの種類
- マシンプロファイルからVMおよびNICの診断設定をキャプチャする
- ページファイルの場所
- ページファイル設定の更新
- Azure Spot VMを使用してカタログを作成する
- バックアップVMサイズの構成
- すべてのリソースにタグをコピーする
- 次のステップ
- 詳細情報