次の方法で共有


ローカル共有内のイメージを使用して Azure ローカル VM イメージを作成する

適用対象: Azure Local 2311.2 以降の Hyperconverged デプロイ

この記事では、ローカル共有のソース イメージを使用して Azure Local 用の仮想マシン (VM) イメージを作成する方法について説明します。 VM イメージは、Azure portal または Azure CLI を使用して作成できます。 次に、これらの VM イメージを使用して Azure ローカル VM を作成します。

前提条件

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

  • 前提条件を確認し、完了させてください

  • Azure Local のローカル共有内のカスタム イメージの場合、次の追加の前提条件があります。

    • VHD/VHDX がシステム上のローカル共有にアップロードされている必要があります。
    • VHDX イメージは、Gen 2 の種類であり、セキュア ブートが有効になっている必要があります。
    • VHDX イメージ OS は、 KMS または AVMA を含めてアクティブ化する必要があります。ただし、これらに限定されません。
    • VHDX イメージは、 sysprep /generalize /shutdown /oobeを使用して準備する必要があります。 詳細については、「 Sysprep コマンド ライン オプションを参照してください。
    • イメージは、インスタンス内のすべてのマシンで使用できるクラスター共有ボリューム上に存在する必要があります。 Windows オペレーティング システムと Linux オペレーティング システムの両方がサポートされています。

ローカル共有のイメージから VM イメージを追加する

VM イメージは、システムのローカル共有内のイメージから作成します。 次に、このイメージを使用して、Azure Local に VM をデプロイします。

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

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

  1. Azure Local で マシンに接続します。

  2. サインイン。 型:

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

    az account set --subscription <Subscription ID>
    

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

  1. イメージのサブスクリプション、リソース グループ、場所、OS の種類を設定します。 < >のパラメーターを適切な値に置き換えます。

    $subscription = "<Subscription ID>"
    $resourceGroup = "<Resource group>"
    $customLocationID = "<Custom or extended location of your Azure Local instance>"
    $location = "<Location for your Azure Local>"
    $imageSourcePath = '"<Path to the source image in local share>"'
    $imageName = "<VM image name>"
    $osType = "<OS of source image>"
    $storagePathID = "/subscriptions/<Subscription ID>/resourceGroups/local-rg/providers/Microsoft.AzureStackHCI/storagecontainers/local-sp"
    

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

    パラメーター (CLI フラグ) 変数名 説明
    subscription $サブスクリプション このイメージに関連付ける Azure Local のサブスクリプション グループ。
    resource-group $resourceGroup このイメージに関連付ける Azure Local のリソース グループ。
    custom-location $customLocationID Azure ローカル インスタンスのカスタムまたは拡張された場所の ARM ID。
    location $location Azure ローカル インスタンスの場所。 たとえば、「 eastus 」のように入力します。
    image-path $imageSourcePath ローカル共有内のソース ギャラリー イメージ (VHDX のみ) へのパス。 たとえば、「 C:\OSImages\winos.vhdx 」のように入力します。 ソース イメージの前提条件を参照してください。
    name $imageName ローカル共有内のイメージから始めて作成された VM イメージの名前。
    手記: Azure では、キーワード Windows を含むすべての名前が拒否されます。
    os-type $osType ソース イメージに関連付けられているオペレーティング システム。 たとえば、Windows や Linux などです。
    storage-path-id $storagePathID VM 構成とデータが保存される関連付けられたストレージ パス。

    出力例を次に示します。

    PS C:\Users\azcli> $subscription = "<Subscription ID>"
    PS C:\Users\azcli> $resourceGroup = "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 イメージを追加する

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

    $customLocationID=(az customlocation show --resource-group $resourceGroup --name "<custom location name for system>" --query id -o tsv)
    
  2. Azure Local のローカル共有に、指定したイメージから始まる VM イメージを作成します。

    az stack-hci-vm image create --subscription $subscription --resource-group $resourceGroup --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 $resourceGroup --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resourceGroup --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"
}    

次のステップ