Azure で準備済みイメージのマシンカタログを作成する
準備済みイメージを作成し、それらの準備済みイメージを使用して、以下で MCS マシンカタログを作成します。
準備済みイメージを使用して MCS マシンカタログを作成するための主要な手順は次のとおりです。
- イメージ定義と初期イメージバージョンを作成します。
- イメージバージョンを準備済みイメージとして使用してカタログを作成します。
ウェブスタジオを使用する
イメージ定義と初期イメージバージョンを作成する
イメージ定義と初期イメージバージョンを作成するには、次の手順を実行します。
- Web Studio から、イメージノードに移動し、イメージ定義の作成をクリックします。はじめにページで次へをクリックします。
- イメージ定義ページで、イメージ定義のOS タイプとセッションタイプを指定します。
- 既存のリソースグループを選択するか、イメージリソースを保持するための新しいリソースグループを作成します。イメージ共有を有効にするには、Azure Compute Gallery でイメージバージョンを配置を選択し、新しいギャラリーを作成するか、既存のギャラリーを使用してイメージバージョンを保持するかを選択します。
-
イメージページで、リソース(設定された接続に適用可能なリソースのみが一覧表示されます)と、イメージバージョンを作成するためのテンプレートとして使用するマスターイメージを選択します。マシンプロファイルを使用チェックボックスを選択し、マシンプロファイルを選択できます。
注:
イメージを選択する前に、マスターイメージにVDA 2311以降がインストールされており、VDAにMCSIOドライバーがインストールされていることを確認してください。
-
ストレージとライセンスの種類ページで、イメージ準備プロセスの一部として使用するストレージとライセンスの種類を選択します。
注:
イメージページでマシンプロファイルを選択した場合、マシンプロファイルのライセンスの種類は、プロファイル設定に基づいて事前に選択されます。
- マシン仕様ページで、マシンサイズを選択します。イメージページでマシンプロファイルを選択した場合、マシンプロファイルのマシンサイズがデフォルトで選択されます。
- NICページで、準備イメージ用のNICを選択または追加します。各NICについて、関連する仮想ネットワークを選択します。
- ディスク設定ページで、顧客管理の暗号化キー (CMEK) を選択します。マシンプロファイルにCMEKがないが、マスターイメージにある場合、マスターイメージからCMEKが事前に選択されます。
- バージョン説明ページで、作成された初期イメージバージョンの説明を入力します。
- 概要ページで、イメージ定義と作成された初期イメージバージョンの詳細を確認します。イメージ定義の名前と説明を入力します。完了をクリックします。
イメージバージョンを作成する
イメージバージョンを使用すると、特定のイメージに対するさまざまなイテレーションや更新を管理できます。この機能により、さまざまな目的のためにイメージの複数のバージョンを維持できます。
初期イメージバージョンからイメージバージョンを作成するには、次の手順を実行します。
注:
すべてのイメージバージョンのホスティングユニットは同じである必要があります。
- イメージノードに移動し、イメージバージョンまたはイメージ定義を選択して、イメージバージョンを作成をクリックします。
- 「イメージ定義」ページで、ホスティングユニットを変更し、そのイメージバージョン用のマスターイメージとマシンプロファイルを再選択できます。
- イメージバージョンの構成を、最初に構成したイメージバージョンと異なるものにしたい場合は、「イメージバージョンの作成」ダイアログの「ストレージとライセンスの種類」、「マシン仕様」、「NIC」、「ディスク設定」ページで設定を構成します。
- イメージバージョンの説明を追加します。「完了」をクリックします。

注:
何らかの理由でイメージバージョンの作成に失敗した場合、下部にある「トラブルシューティング」タブに「再試行」オプションが表示されます。
共有準備済みイメージ
Azure の異なるホストユニット間で準備済みイメージを共有するには、次の手順に従います。
- イメージバージョンを右クリックし、「イメージ共有の管理」を選択します。選択した接続下のすべてのホストユニットが一覧表示されます。イメージバージョンが作成されたリソースは、すべてのアクションに対して無効になっています。
- イメージを共有するホストユニットを選択し、「保存」をクリックします。「共有ステータス」列に「進行中」と表示されます。
- 共有ステータスの詳細については、「リソース」タブをクリックします。
注:
イメージバージョンの共有ステータスが進行中の場合、「イメージバージョンの削除」または「イメージ共有の管理」オプションは無効になります。
イメージノードからマシンカタログを作成する
「イメージ」ノードの「カタログの作成」オプションを使用して、イメージバージョンでカタログを作成します。
または、マシンカタログノードでカタログを作成する際にバージョンを選択し、カタログ作成ワークフローで準備済みイメージオプションにリンクできます。詳細については、「マシンカタログノードからマシンカタログを作成する」を参照してください。
イメージノードからMCSマシンカタログを作成するには、次の手順を実行します。
- イメージバージョンを選択し、カタログの作成をクリックします。はじめにページで次へをクリックします。
- デスクトップエクスペリエンスページで、必要なデスクトップエクスペリエンスを選択します。
- イメージページからディスク設定ページまで、設定は選択したイメージバージョンに基づいて事前に選択されています。
- リソースグループページで、新しいリソースグループを作成するか、既存のリソースグループを使用してこのカタログのリソースを配置するかを選択できます。
- 次のページで設定を完了します。
- 概要ページで、マシンカタログの詳細を確認します。マシンカタログの名前と説明を入力します。完了をクリックします。
- マシンカタログノードに移動して、作成されたマシンカタログを表示します。
マシンカタログノードからマシンカタログを作成する
マシンカタログノードからMCSマシンカタログを作成するには、次の手順を実行します。
- 左側のナビゲーションペインでマシンカタログをクリックします。
- マシンカタログの作成をクリックします。マシンカタログのセットアップページが表示されます。はじめに、マシンタイプ、マシン管理の各ページで次へをクリックします。
-
イメージページで:
- 準備済みイメージを選択します。
- 「準備済みイメージ」の下で、イメージ定義のイメージバージョンを選択します。
- イメージバージョン名をクリックします。選択したイメージバージョンの詳細を表示するには、下線が引かれているバージョン番号をクリックします。
- 選択したイメージバージョンがマシンプロファイルで構成されている場合は、マシンプロファイルを選択します。選択したイメージバージョンがマシンプロファイルで構成されていない場合、マシンプロファイルを使用することを選択できません。
- 次のページで設定を構成します。
- 「ディスク設定」ページで、選択した準備済みイメージがディスク暗号化セットを使用している場合、その暗号化セットを削除することはできませんが、キーを別の暗号化キーに変更することはできます。
- 「リソースグループ」ページで、新しいリソースグループを作成するか、既存のリソースグループを使用して、このカタログのリソースを配置することを選択できます。
- 次のページで設定を完了します。
- 「概要」ページで、マシンカタログの詳細を確認します。マシンカタログの名前と説明を入力します。「完了」をクリックします。
パワーシェルを使用する
準備済みイメージを作成する
準備済みイメージバージョン仕様を作成するための詳細なPowerShellコマンドは次のとおりです。
-
Test-ProvImageDefinitionNameAvailable commandを使用して、利用可能なイメージ定義名を確認します。例:Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]> <!--NeedCopy--> -
New-ProvImageDefinitionコマンドを使用してイメージ定義を作成します。例:New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession <!--NeedCopy--> -
Add-ProvImageDefinitionConnectionコマンドを使用して、指定されたホスティング接続でイメージ定義の新しい構成を作成します。Add-ProvImageDefinitionConnectionのCustomPropertiesには、以下を含めることができます。パラメーターを使用しない場合、デフォルト値が使用されます。-
ResourceGroups: ベースディスクを持つリソースグループ。 -
UseSharedImageGallery: ベースディスクの種類のインジケーター。ACG (イメージ共有) にはtrueを、スナップショットにはfalseを使用します。 -
ImageGallery: ベースディスクがACGイメージバージョンである場合のギャラリー名。
例えば、
-
スナップショットと顧客提供のリソースグループの場合:
$CustomerOwnRsourceGroupProperties = @" <CustomProperties xmlns="http:// schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="ResourceGroups" Value="yangj_image" /> </CustomProperties> "@ <!--NeedCopy--> -
ACGと顧客提供のリソースグループおよびイメージギャラリーの場合:
$CustomerOwnAllProperties = @" <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" /> <Property xsi:type="StringProperty" Name="ResourceGroups" Value="rg" /> <Property xsi:type="StringProperty" Name="ImageGallery" Value="gallery" /> </CustomProperties> "@ <!--NeedCopy--> -
ACGと顧客提供のリソースグループのみの場合:
$CustomerOwnResourceGroupProperties = @" <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" /> <Property xsi:type="StringProperty" Name="ResourceGroups" Value="rg" /> </CustomProperties> "@ <!--NeedCopy--> -
ACGとCitrix®が管理するリソースグループおよびイメージギャラリーの場合:
$CustomerOwnResourceGroupNothingProperties = @" <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" /> </CustomProperties> "@ <!--NeedCopy-->
Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName Azure28 [-CustomProperties $CustomProperties] <!--NeedCopy--> -
-
New-ProvImageVersionコマンドを使用してイメージバージョンを作成します。例えば、New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1" <!--NeedCopy--> -
Add-ProvImageVersionSpecコマンドを使用して、マスターイメージバージョンスペックをイメージバージョンに追加します。例えば、Add-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -HostingUnitName azure -MasterImagePath "XDHyp:\HostingUnits\azure\image.folder\azureresourcegroup.resourcegroup\win2022-snapshot.snapshot" <!--NeedCopy-->注:
ホスティングユニットごとに、1つのイメージバージョンに対して1つのマスターイメージバージョンスペックのみを追加できます。
-
New-ProvImageVersionSpecコマンドを使用して、マスターイメージバージョンスペックから準備済みイメージバージョンスペックを作成します。例えば、New-ProvImageVersionSpec -SourceImageVersionSpecUid c6e7384c-b2f8-46d6-9519-29a2c57ed3cb -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure\virtualprivatecloud.folder\azureresourcegroup.resourcegroup\azure-vnet-eastus.virtualprivatecloud\dev.network"} -ServiceOffering"XDHyp:\HostingUnits\azure\serviceoffering.folder\Standard_B2ms.serviceoffering" -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"></CustomProperties>" -RunAsynchronously <!--NeedCopy--> -
また、
Add-ProvImageVersionSpecHostingUnitコマンドを使用して、同じホスティング接続内の別のホスティングユニットと準備済みイメージバージョンスペックを共有することもできます。例えば、Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName AzureWest <!--NeedCopy-->注:
1つのホスティングユニットと準備タイプには、1つの準備済みインスタンスのみを含めることができます。
イメージ定義、イメージバージョン、および準備済みイメージバージョン仕様を作成するためのPowerShellコマンドの完全なセットの例:
New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
$CustomProperties = @"
<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="rg" />
<Property xsi:type="StringProperty" Name="ImageGallery" Value="gallery" />
</CustomProperties>
"@
Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName Azure28 -CustomProperties $CustomProperties
$imageVersion = New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid `
-HostingUnitUid $hostingunit.HostingUnitUid `
-MasterImagePath "XDHyp:\HostingUnits\azure28\image.folder\abc.resourcegroup\def-snapshot.snapshot"
New-ProvImageVersionSpec -NetworkMapping @{"0" = "XDHyp:\HostingUnits\azure28\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\studio-mcs-infrastructure.resourcegroup\studio-mcs-vnet-eastus.virtualprivatecloud\mcs-dev.network" } -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Server`" /></CustomProperties>" -ServiceOffering "XDHyp:\HostingUnits\azure28\serviceoffering.folder\Standard_B2s.serviceoffering" -SourceImageVersionSpecUid $SourceImageVersionSpec.ImageVersionSpecUid
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName AzureWest
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid | Where SourceImageVersionSpecUid-eq $SourceImageVersionSpec.ImageVersionSpecUid
<!--NeedCopy-->
注:
- イメージ定義内のすべてのイメージバージョン仕様は、同じホスティングユニットに属している必要があります。
- イメージバージョンには、マスターイメージバージョン仕様を1つ、準備済みイメージバージョン仕様を1つのみ含めることができます。
- すべてのイメージバージョン仕様は、マシンプロファイルを持つか、またはどのイメージバージョン仕様もマシンプロファイルを持たないかのいずれかである必要があります。
準備済みイメージバージョン仕様を使用してカタログを作成する
New-ProvSchemeコマンドを使用して、準備済みイメージバージョン仕様からMCSマシンカタログを作成します。例:
New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>]
<!--NeedCopy-->
または、
New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitName <string> -IdentityPoolName <string> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>]
<!--NeedCopy-->
ACGイメージバージョン仕様を使用する場合は、UseSharedImageGalleryをtrueとして設定します。例:
$provSchemeCustomProperties= @"
<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="StandardSSD_LRS" />
</CustomProperties>
"@
New-ProvScheme -ProvisioningSchemeName assignimage -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid `
-HostingUnitUid $hostingunit.HostingUnitUid `
-IdentityPoolUid $IdentityPool.IdentityPoolUid `
-CleanOnBoot -Scope @() -SecurityGroup @() `
-ServiceOffering "XDHyp:\HostingUnits\azure28\serviceoffering.folder\Standard_B2s.serviceoffering" `
-NetworkMapping @{"0"="XDHyp:\HostingUnits\azure28\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\studio-mcs-infrastructure.resourcegroup\studio-mcs-vnet-eastus.virtualprivatecloud\mcs-dev.network"} `
-CustomProperties $provSchemeCustomProperties
<!--NeedCopy-->
カタログを作成するためのPowerShellコマンドの完全なセットの例:
$Catalog = New-BrokerCatalog -AllocationType "Random" -IsRemotePC $False -MinimumFunctionalLevel "L7_20" -Name "azurecatalog" -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"
$IdentityPool = New-AcctIdentityPool -AllowUnicode -Domain "azure.local" -IdentityPoolName "azurecatalog" -IdentityType "ActiveDirectory" -NamingScheme "azure##" -NamingSchemeType "Numeric" -Scope @()
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"
$Task = New-ProvScheme -ProvisioningSchemeName azurecatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName azure -IdentityPoolName azurecatalog -CleanOnBoot -Scope @() -SecurityGroup @() -ServiceOffering "XDHyp:\HostingUnits\azure\serviceoffering.folder\Standard_B2s.serviceoffering" -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure\virtualprivatecloud.folder\azureresourcegroup.resourcegroup\azure-vnet-eastus.virtualprivatecloud\dev.network"} -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" /><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"StandardSSD_LRS`" /></CustomProperties>" -RunAsynchronously
Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName azurecatalog
Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid
<!--NeedCopy-->