次の方法で共有


Azure Storage アカウントでイメージを使用して Azure Stack HCI VM イメージを作成する

適用対象: Azure Stack HCI バージョン 23H2

この記事では、Azure Storage アカウントのソース イメージを使用して、Azure Stack HCI 用の仮想マシン (VM) イメージを作成する方法について説明します。 Azure portal または Azure CLI を使用して VM イメージを作成し、これらの VM イメージを使用して Azure Stack HCI 上に Arc VM を作成できます。

前提条件

開始する前に、次の前提条件が満たされていることを確認してください。

  • 前提条件を確認して してください

  • Azure Storage アカウントのカスタム イメージの場合、次の追加の前提条件があります。

    • Azure Storage アカウントに VHD が読み込まれている必要があります。 azure Storage アカウントに VHD イメージを アップロードする方法について説明します
    • VHDX を使用する場合:
      • VHDX イメージは、Gen 2 の種類であり、セキュア ブートが有効になっている必要があります。
      • VHDX イメージは、 sysprep /generalize /shutdown /oobeを使用して準備する必要があります。 詳細については、「 Sysprep コマンド ライン オプションを参照してください。
  • クライアントを使用して Azure Stack HCI クラスターに接続する場合は、「 Azure CLI クライアント経由で Azure Stack HCI に接続するを参照してください。

  • イメージに使用するストレージ アカウントに Storage BLOB データ共同作成者 ロールがあることを確認します。 詳細は、「BLOB データにアクセスするための Azure ロールを割り当てる」を参照してください。

  • VHD または VHDX をページ BLOB イメージとしてストレージ アカウントにアップロードしていることを確認します。 ストレージ アカウントを使用して VM イメージを作成するには、ページ BLOB イメージのみがサポートされています。

Azure Storage アカウントから VM イメージを追加する

Azure Storage アカウントのイメージから始まる VM イメージを作成し、このイメージを使用して Azure Stack HCI クラスターに VM をデプロイします。

Azure CLI を使用して VM イメージを作成するには、次の手順に従います。

サインインしてサブスクリプションを設定する

  1. Azure Stack HCI システム上 サーバーに接続します。

  2. サインイン。 型:

    az login --use-device-code
    
  3. サブスクリプションを設定します。

    az account set --subscription <Subscription ID>
    

パラメーターを設定します。

  1. サブスクリプション、リソース グループ、場所、ローカル共有内のイメージへのパス、およびイメージの OS の種類を設定します。 < >のパラメーターを適切な値に置き換えます。
$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Stack HCI cluster>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = "<path to the source image in the Storage account>"

パラメーターについては次の表で説明します。

パラメーター 説明
subscription このイメージに関連付ける Azure Stack HCI クラスターのリソース グループ。
resource_group このイメージに関連付ける Azure Stack HCI クラスターのリソース グループ。
location Azure Stack HCI クラスターの場所。 たとえば、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 = "myhci-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "myhci-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 イメージを作成する

  1. VM イメージをデプロイするカスタムの場所を選択します。 カスタムの場所は、Azure Stack HCI クラスターのカスタムの場所に対応している必要があります。 Azure Stack HCI クラスターのカスタムの場所 ID を取得します。 次のコマンドを実行します。

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for HCI cluster>" --query id -o tsv)
    
  2. 指定したマーケットプレース イメージから始まる 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 "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 --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/myhci-rg/providers/Microsoft.ExtendedLocation/customLocations/myhci-cl",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-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/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": null
  },
  "resourceGroup": "myhci-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 イメージを一覧表示するには、次の手順に従います。

  1. PowerShell を管理者として実行します。

  2. パラメーターを設定する。

    $subscription = "<Subscription ID associated with your cluster>"
    $resource_group = "<Resource group name for your cluster>"
    
  3. クラスターに関連付けられているすべての VM イメージを一覧表示します。 次のコマンドを実行します。

    az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
    

    使用するコマンドに応じて、Azure Stack HCI クラスターに関連付けられているイメージの対応するセットが一覧表示されます。

    • サブスクリプションのみを指定した場合、コマンドはサブスクリプション内のすべてのイメージを一覧表示します。
    • サブスクリプションとリソース グループの両方を指定すると、コマンドによってリソース グループ内のすべてのイメージが一覧表示されます。

    これらのイメージには次のものが含まれます。

    • 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": "myhci-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>

VM イメージのプロパティを表示する

イメージを使用して VM を作成する前に、VM イメージのプロパティを表示したい場合があります。 イメージのプロパティを表示するには、次の手順に従います。

Azure CLI を使用してイメージのプロパティを表示するには、次の手順に従います。

  1. PowerShell を管理者として実行します。

  2. 次のパラメーターを設定します。

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. イメージのプロパティは、2 つの異なる方法で表示できます。ID を指定するか、名前とリソース グループを指定します。 Marketplace イメージ ID を指定するときは、次の手順を実行します。

    1. 次のパラメーターを設定します。

      $mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage"
      
    2. 次のコマンドを実行してプロパティを表示します。

      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/myhci-cl",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage",
        "location": "eastus",
        "name": "myhci-marketplaceimage",
        "properties": {
          "containerName": null,
          "hyperVGeneration": null,
          "identifier": null,
          "imagePath": null,
          "osType": "Windows",
          "provisioningState": "Succeeded",
          "status": null,
          "version": null
        },
        "resourceGroup": "myhci-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 イメージを削除するには、次の手順に従います。

  1. PowerShell を管理者として実行します。

  2. 次のパラメーターを設定します。

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $galleryImageName = "<Gallery image name>"    
    
  3. 既存の 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 = "myhci-rg"
PS C:\Users\azcli> $mktplaceImage = "myhci-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 'myhci-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>

次のステップ