Azure で一般化された VM の管理対象イメージを作成する
適用対象: ✔️ Windows VM
マネージド イメージは、一貫したベースライン VM が必要な開発およびテスト環境で役立ちます。 ストレージ アカウントにマネージド ディスクまたはアンマネージド ディスクとして格納されている一般化された仮想マシン (VM) からマネージド イメージ リソースを作成できます。 イメージは複数の VM の作成に使用できます。 マネージド イメージの課金方法については、「Managed Disks の価格」をご覧ください。
1 つのマネージド イメージは、最大 20 個の同時デプロイをサポートします。 同じマネージド イメージから 20 個を超える VM を同時に作成しようとすると、1 つの VHD におけるストレージ パフォーマンスの制限によって、プロビジョニングのタイムアウトが発生する可能性があります。 20 個を超える VM を同時に作成するには、20 のコンカレント VM デプロイごとに 1 つのレプリカで構成された Azure Compute Gallery (旧称 Shared Image Gallery) イメージを使用します。
前提条件
イメージを作成するには、一般化された VM が必要です。
ポータルを使用して VM からマネージド イメージを作成する
Azure ポータルにアクセスします。 [仮想マシン] を検索して選択します。
一覧で VM を選択します。
VM の [仮想マシン] ページの上部のメニューで、 [キャプチャ] を選択します。 [イメージの作成] ページが表示されます。
[Share image to Azure compute gallery](Azure Compute Gallery でイメージを共有する) では、[No, capture only a managed image](いいえ、マネージド イメージのみをキャプチャします) を選択します。
[リソース グループ] では、VM と同じリソース グループにイメージを作成するか、サブスクリプション内の別のリソース グループを選択できます。
[名前] では、事前に設定されている名前を受け入れるか、イメージの独自の名前を入力します。
イメージが作成された後にソース VM を削除する場合、 [イメージの作成後、この仮想マシンを自動的に削除します] を選択します。
-
- いずれかの可用性ゾーンでイメージを使用する機能が必要な場合、 [Zone resiliency (ゾーンの回復性)] に [オン] を選択します。
[作成] を選択してイメージを作成します。
作成したイメージは、リソース グループのリソースの一覧に [イメージ] リソースとして表示されます。
PowerShell を使用して VM のマネージド イメージを作成する
VM からイメージを直接作成すると、OS ディスクやすべてのデータ ディスクなど、VM に関連付けられているすべてのディスクが、イメージに確実に含まれます。 この例では、マネージド ディスクを使用する VM から管理対象イメージを作成する方法を示します。
始める前に、Azure PowerShell モジュールの最新バージョンがあることを確認してください。 バージョンを確認するには、PowerShell で Get-Module -ListAvailable Az
を実行してください。 アップグレードが必要な場合は、「PowerShellGet を使用した Windows への Azure PowerShell のインストール」を参照してください。 PowerShell をローカルで実行している場合、Connect-AzAccount
を実行して Azure との接続を作成します。
Note
イメージをゾーン冗長ストレージに格納する場合は、可用性ゾーンをサポートするリージョンにストレージを作成し、イメージの構成に -ZoneResilient
パラメーターを含める必要があります (New-AzImageConfig
コマンド)。
VM イメージを作成するには、次の手順を実行します。
変数をいくつか作成します。
$vmName = "myVM" $rgName = "myResourceGroup" $location = "EastUS" $imageName = "myImage"
VM の割り当てが解除されていることを確認します。
Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
仮想マシンの状態を [一般化] に設定します。
Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
仮想マシンを取得します。
$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
イメージの設定を作成します。
$image = New-AzImageConfig -Location $location -SourceVirtualMachineId $vm.Id
イメージを作成します。
New-AzImage -Image $image -ImageName $imageName -ResourceGroupName $rgName
Powershell を使ってマネージド ディスクからイメージを作成する
OS ディスクのみのイメージを作成する場合は、OS ディスクとしてマネージド ディスクの ID を指定します。
変数をいくつか作成します。
$vmName = "myVM" $rgName = "myResourceGroup" $location = "EastUS" $imageName = "myImage"
VM を取得します。
$vm = Get-AzVm -Name $vmName -ResourceGroupName $rgName
マネージド ディスクの ID を取得します。
$diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
イメージの設定を作成します。
$imageConfig = New-AzImageConfig -Location $location $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
イメージを作成します。
New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
PowerShell を使用してスナップショットからマネージド イメージを作成する
次の手順に従って、一般化された VM のスナップショットから管理対象イメージを作成できます。
変数をいくつか作成します。
$rgName = "myResourceGroup" $location = "EastUS" $snapshotName = "mySnapshot" $imageName = "myImage"
スナップショットを取得します。
$snapshot = Get-AzSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
イメージの設定を作成します。
$imageConfig = New-AzImageConfig -Location $location $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
イメージを作成します。
New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
ストレージ アカウントを使用する VM からマネージド イメージを作成する
マネージド ディスクを使用しない VM からマネージド イメージを作成するには、ストレージ アカウントで、 https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd という形式の OS VHD の URI が必要です。 この例では、VHD は vhdcontainer という名前のコンテナーの mystorageaccount 内にあり、VHD ファイル名は vhdfilename.vhd です。
変数をいくつか作成します。
$vmName = "myVM" $rgName = "myResourceGroup" $location = "EastUS" $imageName = "myImage" $osVhdUri = "https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd"
VM を停止するか、VM の割り当てを解除します。
Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
VM を一般化としてマークします。
Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
一般化した OS VHD を使ってイメージを作成します。
$imageConfig = New-AzImageConfig -Location $location $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri $image = New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
次のステップ
- 管理イメージから VM を作成する。
- Azure Compute Gallery (旧称 Shared Image Gallery) の使用方法について学習する