Azure Storage アカウントでイメージを使用して Azure ローカル VM イメージを作成する
適用対象: Azure Local バージョン 23H2
この記事では、Azure Storage アカウントのソース イメージを使用して、Azure Local 用の仮想マシン (VM) イメージを作成する方法について説明します。 Azure portal または Azure CLI を使用して VM イメージを作成し、これらの VM イメージを使用して Azure Local に Arc VM を作成できます。
前提条件
開始する前に、次の前提条件が満たされていることを確認してください。
前提条件を確認して してください。
Azure Storage アカウントのカスタム イメージの場合、次の追加の前提条件があります。
- Azure Storage アカウントに VHD が読み込まれている必要があります。 azure Storage アカウントに VHD イメージを アップロードする方法について説明します。
- VHD または VHDX をページ BLOB イメージとしてストレージ アカウントにアップロードしていることを確認します。 ストレージ アカウントを使用して VM イメージを作成するには、ページ BLOB イメージのみがサポートされています。
- VHDX を使用する場合:
- VHDX イメージは、Gen 2 の種類であり、セキュア ブートが有効になっている必要があります。
- VHDX イメージは、
sysprep /generalize /shutdown /oobe
を使用して準備する必要があります。 詳細については、「 Sysprep コマンド ライン オプションを参照してください。
クライアントを使用して Azure Local インスタンスに接続する場合は、「 Azure CLI クライアント経由で Azure Local に接続するを参照してください。
イメージに使用するストレージ アカウントに Storage BLOB データ共同作成者 ロールがあることを確認します。 詳細は、「BLOB データにアクセスするための Azure ロールを割り当てる」を参照してください。
Azure Storage アカウントから VM イメージを追加する
Azure Storage アカウント内のイメージから始まる 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>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = "<path to the source image in the Storage account>"
パラメーターについては次の表で説明します。
パラメーター | 説明 |
---|---|
subscription |
このイメージに関連付ける Azure Local のサブスクリプション。 |
resource_group |
このイメージに関連付ける Azure Local のリソース グループ。 |
location |
Azure ローカル インスタンスの場所。 たとえば、eastus になります。 |
imageName |
ローカル共有内のイメージから始めて作成された VM イメージの名前。 注: Azure では、キーワード Windows を含むすべての名前が拒否されます。 |
imageSourcePath |
ストレージ アカウント内のイメージの BLOB SAS URL へのパス。 詳細については、ストレージ アカウントにイメージの BLOB SAS URL を する方法を参照してください。 注: パス内のすべてのアンパサンドが二重引用符でエスケープされ、パス文字列全体が単一引用符で囲まれていることを確認してください。 |
os-type |
ソース イメージに関連付けられているオペレーティング システム。 Windows または Linux を使用できます。 |
出力例を次に示します。
PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "mylocal-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "mylocal-storacctimage"
PS C:\Users\azcli> $imageSourcePath = 'https://vmimagevhdsa1.blob.core.windows.net/vhdcontainer/Windows_InsiderPreview_ServerStandard_en-us_VHDX_25131.vhdx?sp=r"&"st=2022-08-05T18:41:41Z"&"se=2022-08-06T02:41:41Z"&"spr=https"&"sv=2021-06-08"&"sr=b"&"sig=X7A98cQm%2FmNRaHmTbs9b4OWVv%2F9Q%2FJkWDBHVPyAc8jo%3D'
Azure Storage アカウントのイメージから VM イメージを作成する
VM イメージをデプロイするカスタムの場所を選択します。 カスタムの場所は、Azure Local のカスタムの場所に対応している必要があります。 Azure Local のカスタムの場所 ID を取得します。 次のコマンドを実行します。
$customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for your Azure Local>" --query id -o tsv)
指定したマーケットプレース イメージから始まる VM イメージを作成します。 マーケットプレース イメージのオファー、発行元、SKU、バージョンを必ず指定してください。
az stack-hci-vm image create --subscription $subscription --resource-group $resource_Group --custom-location $customLocationID --location $location --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
VM イメージのデプロイ ジョブが開始されます。
この例では、ストレージ パスは
--storage-path-id
フラグを使用して指定され、ワークロード データ (VM、VM イメージ、OS 以外のデータ ディスクを含む) が指定されたストレージ パスに確実に配置されます。フラグが指定されていない場合、ワークロード データは自動的に高可用性ストレージ パスに配置されます。
イメージのデプロイが完了するまでに数分かかる場合があります。 イメージのダウンロードにかかる時間は、Azure Storage アカウント内のイメージのサイズと、ダウンロードに使用できるネットワーク帯域幅によって異なります。
出力例を次に示します。
PS > $customLocationID=(az customlocation show --resource-group $resource_group --name "mylocal-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 --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
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/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
"type": "CustomLocation"
},
"id": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-storacctimage",
"location": "eastus",
"name": "windos",
"properties": {
"identifier": null,
"imagePath": null,
"osType": "Windows",
"provisioningState": "Succeeded",
"status": {
"downloadStatus": {
"downloadSizeInMB": 7876
},
"progressPercentage": 100,
"provisioningStatus": {
"operationId": "cdc9c9a8-03a1-4fb6-8738-7a8550c87fd1*31CE1EA001C4B3E38EE29B78ED1FD47CCCECF78B4CEA9E9A85C0BAEA5F6D80CA",
"status": "Succeeded"
}
},
"storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/storagecontainers/mylocal-storagepath",
"version": null
},
"resourceGroup": "mylocal-rg",
"systemData": {
"createdAt": "2023-11-03T20:17:10.971662+00:00",
"createdBy": "guspinto@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2023-11-03T21:08:01.190475+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>