ローカル共有内のイメージを使用して Azure ローカル VM イメージを作成する
適用対象: Azure Local バージョン 23H2
この記事では、ローカル共有のソース イメージを使用して Azure Local 用の仮想マシン (VM) イメージを作成する方法について説明します。 Azure portal または Azure CLI を使用して VM イメージを作成し、これらの VM イメージを使用して Azure Local に Arc VM を作成できます。
前提条件
開始する前に、次の前提条件が満たされていることを確認してください。
前提条件を確認して してください。
Azure Local のローカル共有内のカスタム イメージの場合、次の追加の前提条件があります。
- VHD/VHDX がシステム上のローカル共有にアップロードされている必要があります。
- VHDX イメージは、Gen 2 の種類であり、セキュア ブートが有効になっている必要があります。
- VHDX イメージは、
sysprep /generalize /shutdown /oobe
を使用して準備する必要があります。 詳細については、「 Sysprep コマンド ライン オプションを参照してください。 - イメージは、インスタンス内のすべてのマシンで使用できるクラスター共有ボリューム上に存在する必要があります。 Windows オペレーティング システムと Linux オペレーティング システムの両方がサポートされています。
- クライアントを使用して Azure Local インスタンスに接続する場合は、「 Azure CLI クライアント経由で Azure Local に接続するを参照してください。
ローカル共有のイメージから VM イメージを追加する
システムのローカル共有内のイメージから始まる VM イメージを作成し、このイメージを使用して Azure Local に VM をデプロイします。
Azure CLI を使用して VM イメージを作成するには、次の手順に従います。
サインインしてサブスクリプションを設定する
Azure Local で マシンに接続します。
サインイン。 型:
az login --use-device-code
サブスクリプションを設定します。
az account set --subscription <Subscription ID>
パラメーターを設定します。
イメージのサブスクリプション、リソース グループ、場所、OS の種類を設定します。
< >
のパラメーターを適切な値に置き換えます。$subscription = "<Subscription ID>" $resource_group = "<Resource group>" $location = "<Location for your Azure Local>" $imageName = <VM image name> $imageSourcePath = <path to the source image> $osType = "<OS of source image>"
パラメーターについては次の表で説明します。
パラメーター 説明 subscription
このイメージに関連付ける Azure Local のサブスクリプション グループ。 resource_group
このイメージに関連付ける Azure Local のリソース グループ。 location
Azure Local の場所。 たとえば、 eastus
になります。image-path
ローカル共有内のイメージから始めて作成された VM イメージの名前。
注: Azure では、キーワード Windows を含むすべての名前が拒否されます。name
システム上のソース ギャラリー イメージ (VHDX のみ) へのパス。 たとえば、 C:\OSImages\winos.vhdx。 ソース イメージの前提条件を参照してください。 os-type
ソース イメージに関連付けられているオペレーティング システム。 Windows または Linux を使用できます。 出力例を次に示します。
PS C:\Users\azcli> $subscription = "<Subscription ID>" PS C:\Users\azcli> $resource_group = "mylocalrg" PS C:\Users\azcli> $location = "eastus" PS C:\Users\azcli> $osType = "Windows" PS C:\ClusterStorage\Volume1> $imageName = "mylocal-localimage" PS C:\ClusterStorage\Volume1> $imageSourcePath = "C:\ClusterStorage\Volume1\Windows_K8s_17763.2928.220505-1621_202205101158.vhdx"
ローカル共有のイメージから VM イメージを作成する
VM イメージをデプロイするカスタムの場所を選択します。 カスタムの場所は、Azure Local のカスタムの場所に対応している必要があります。 Azure Local のカスタムの場所 ID を取得します。 次のコマンドを実行します。
$customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for system>" --query id -o tsv)
Azure Local のローカル共有に、指定したイメージから始まる VM イメージを作成します。
az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --image-path $ImageSourcePath --name $ImageName --os-type $osType --storage-path-id $storagepathid
VM イメージのデプロイ ジョブが開始されます。
この例では、ストレージ パスは
--storage-path-id
フラグを使用して指定され、ワークロード データ (VM、VM イメージ、OS 以外のデータ ディスクを含む) が指定されたストレージ パスに確実に配置されます。フラグが指定されていない場合、ワークロード データは自動的に高可用性ストレージ パスに配置されます。
イメージのデプロイが完了するまでに数分かかる場合があります。 イメージのダウンロードにかかる時間は、ローカル共有内のイメージのサイズと、ダウンロードに使用できるネットワーク帯域幅によって異なります。
出力例を次に示します。
PS C:\Users\azcli> $customLocationID=(az customlocation show --resource-group $resource_group --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --image-path $ImageSourcePath --name $ImageName --os-type $osType --storage-path-id $storagepathid
type="CustomLocation" --location $Location --name $mktplaceImage --os-type $osType --image-path $mktImageSourcePath
Command group 'azurestackhci' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
{
"extendedLocation": {
"name": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
"type": "CustomLocation"
},
"id": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-localimage",
"location": "eastus",
"name": "mylocal-localimage",
"properties": {
"identifier": null,
"imagePath": null,
"osType": "Windows",
"provisioningState": "Succeeded",
"status": {
"downloadStatus": {},
"progressPercentage": 100,
"provisioningStatus": {
"operationId": "82f58893-b252-43db-97a9-258f6f7831d9*43114797B86E6D2B28C4B52B02302C81C889DABDD9D890F993665E223A5947C3",
"status": "Succeeded"
}
},
"storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
"version": {
"name": null,
"properties": {
"storageProfile": {
"osDiskImage": {}
}
}
}
},
"resourceGroup": "myhci-rg",
"systemData": {
"createdAt": "2023-11-02T06:15:10.450908+00:00",
"createdBy": "guspinto@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2023-11-02T06:15:56.689323+00:00",
"lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
"lastModifiedByType": "Application"
},
"tags": null,
"type": "microsoft.azurestackhci/galleryimages"
}
PS C:\Users\azcli>
VM イメージを一覧表示する
管理するイメージを選択するには、VM イメージの一覧を表示する必要があります。
Azure CLI を使用して VM イメージを一覧表示するには、次の手順に従います。
PowerShell を管理者として実行します。
パラメーターを設定する。
$subscription = "<Subscription ID associated with your Azure Local>" $resource_group = "<Resource group name for your Azure Local>"
Azure Local に関連付けられているすべての VM イメージを一覧表示します。 次のコマンドを実行します。
az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
使用するコマンドに応じて、Azure Local に関連付けられているイメージの対応するセットが一覧表示されます。
- サブスクリプションのみを指定した場合、コマンドはサブスクリプション内のすべてのイメージを一覧表示します。
- サブスクリプションとリソース グループの両方を指定すると、コマンドによってリソース グループ内のすべてのイメージが一覧表示されます。
これらのイメージには次のものが含まれます。
- Marketplace イメージからの VM イメージ。
- Azure Storage アカウント内に存在するカスタム イメージ、またはシステムまたはシステムに接続されているクライアント上のローカル共有内にあるカスタム イメージ。
出力例を次に示します。
PS C:\Users\azcli> az stack-hci-vm image list --subscription "<Subscription ID>" --resource-group "myhci-rg"
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
[
{
"extendedLocation": {
"name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl",
"type": "CustomLocation"
},
"id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/w
inServer2022Az-01",
"location": "eastus",
"name": "winServer2022Az-01",
"properties": {
"hyperVGeneration": "V2",
"identifier": {
"offer": "windowsserver",
"publisher": "microsoftwindowsserver",
"sku": "2022-datacenter-azure-edition-core"
},
"imagePath": null,
"osType": "Windows",
"provisioningState": "Succeeded",
"status": {
"downloadStatus": {
"downloadSizeInMB": 6710
},
"progressPercentage": 100,
"provisioningStatus": {
"operationId": "19742d69-4a00-4086-8f17-4dc1f7ee6681*E1E9889F0D1840B93150BD74D428EAE483CB67B0904F9A198C161AD471F670ED",
"status": "Succeeded"
}
},
"storagepathId": null,
"version": {
"name": "20348.2031.231006",
"properties": {
"storageProfile": {
"osDiskImage": {
"sizeInMB": 130050
}
}
}
}
},
"resourceGroup": "mylocal-rg",
"systemData": {
"createdAt": "2023-10-30T21:44:53.020512+00:00",
"createdBy": "guspinto@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2023-10-30T22:08:25.495995+00:00",
"lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
"lastModifiedByType": "Application"
},
"tags": {},
"type": "microsoft.azurestackhci/marketplacegalleryimages"
}
]
PS C:\Users\azcli>
この CLI コマンドの詳細については、「 az stack-hci-vm image listを参照してください。
VM イメージのプロパティを表示する
イメージを使用して VM を作成する前に、VM イメージのプロパティを表示したい場合があります。 イメージのプロパティを表示するには、次の手順に従います。
Azure CLI を使用してイメージのプロパティを表示するには、次の手順に従います。
PowerShell を管理者として実行します。
次のパラメーターを設定します。
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Marketplace image name>"
イメージのプロパティは、2 つの異なる方法で表示できます。ID を指定するか、名前とリソース グループを指定します。 Marketplace イメージ ID を指定するときは、次の手順を実行します。
次のパラメーターを設定します。
$mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage"
次のコマンドを実行してプロパティを表示します。
az stack-hci-vm image show --ids $mktplaceImageID
このコマンドの出力例を次に示します。
PS C:\Users\azcli> az stack-hci-vm image show --ids $mktplaceImageID Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus { "extendedLocation": { "name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/mylocal-cl", "type": "CustomLocation" }, "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage", "location": "eastus", "name": "mylocal-marketplaceimage", "properties": { "containerName": null, "hyperVGeneration": null, "identifier": null, "imagePath": null, "osType": "Windows", "provisioningState": "Succeeded", "status": null, "version": null }, "resourceGroup": "mylocal-rg", "systemData": { "createdAt": "2022-08-05T20:52:38.579764+00:00", "createdBy": "guspinto@microsoft.com", "createdByType": "User", "lastModifiedAt": "2022-08-05T20:52:38.579764+00:00", "lastModifiedBy": "guspinto@microsoft.com", "lastModifiedByType": "User" }, "tags": null, "type": "microsoft.azurestackhci/galleryimages" } PS C:\Users\azcli>
VM イメージの削除
何らかの理由でダウンロードが失敗した場合、またはイメージが不要になった場合は、VM イメージを削除できます。 VM イメージを削除するには、次の手順に従います。
PowerShell を管理者として実行します。
次のパラメーターを設定します。
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Markeplace image name>"
既存の VM イメージを削除します。 次のコマンドを実行します。
az stack-hci-vm image delete --subscription $subscription --resource-group $resource_group --name $mktplaceImage --yes
イメージは、次の 2 つの方法で削除できます。
- 名前とリソース グループを指定します。
- ID を指定します。
イメージを削除したら、イメージが削除されていることを確認できます。 名前とリソース グループを指定してイメージが削除されたときの出力例を次に示します。
PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "mylocal-rg"
PS C:\Users\azcli> $mktplaceImage = "mymylocal-marketplaceimage"
PS C:\Users\azcli> az stack-hci-vm image delete --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Are you sure you want to perform this operation? (y/n): y
PS C:\Users\azcli> az stack-hci-vm image show --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
ResourceNotFound: The Resource 'Microsoft.AzureStackHCI/marketplacegalleryimages/myhci-marketplaceimage' under resource group 'mylocal-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>