Azure で一般化された VM の管理対象イメージを作成するCreate a managed image of a generalized VM in Azure

ストレージ アカウントにマネージド ディスクまたはアンマネージド ディスクとして格納されている一般化された仮想マシン (VM) からマネージド イメージ リソースを作成できます。A managed image resource can be created from a generalized virtual machine (VM) that is stored as either a managed disk or an unmanaged disk in a storage account. イメージは複数の VM の作成に使用できます。The image can then be used to create multiple VMs. マネージド イメージの課金方法については、「Managed Disks の価格」をご覧ください。For information on how managed images are billed, see Managed Disks pricing.

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

Sysprep を使用して Windows VM を一般化するGeneralize the Windows VM using Sysprep

Sysprep はすべての個人アカウント情報とセキュリティ情報を削除して、マシンをイメージとして使用できるように準備します。Sysprep removes all your personal account and security information, and then prepares the machine to be used as an image. Sysprep については、Sysprep の概要を参照してください。For information about Sysprep, see Sysprep overview.

コンピューター上で実行されるサーバー ロールが Sysprep でサポートされていることを確認します。Make sure the server roles running on the machine are supported by Sysprep. 詳細については、「サーバーの役割の Sysprep サポート」と「サポートされていないシナリオ」を参照してください。For more information, see Sysprep support for server roles and Unsupported scenarios.

重要

VM で Sysprep を実行すると、その VM は一般化されていると見なされ、再起動できなくなります。After you have run Sysprep on a VM, that VM is considered generalized and cannot be restarted. VM の一般化プロセスは元に戻せません。The process of generalizing a VM is not reversible. 元の VM の機能を保持する場合は、VM のコピーを作成し、そのコピーを一般化してください。If you need to keep the original VM functioning, you should create a copy of the VM and generalize its copy.

初めて VHD を Azure に仮想ハード ディスク (VHD) にアップロードする前に Sysprep を実行する予定の場合は、VM の準備ができていることを確認してください。If you plan to run Sysprep before uploading your virtual hard disk (VHD) to Azure for the first time, make sure you have prepared your VM.

Windows VM を一般化するには、次の手順に従います。To generalize your Windows VM, follow these steps:

  1. Windows VM にサインインします。Sign in to your Windows VM.

  2. 管理者としてコマンド プロンプト ウィンドウを開きます。Open a Command Prompt window as an administrator. ディレクトリを %windir%\system32\sysprep に変更し、sysprep.exeを実行します。Change the directory to %windir%\system32\sysprep, and then run sysprep.exe.

  3. [システム準備ツール] ダイアログ ボックスで [システムの OOBE (Out-of-Box Experience) に入る] を選択し、 [一般化する] チェック ボックスを選択します。In the System Preparation Tool dialog box, select Enter System Out-of-Box Experience (OOBE) and select the Generalize check box.

  4. [シャットダウン オプション][シャットダウン] を選択します。For Shutdown Options, select Shutdown.

  5. [OK] を選択します。Select OK.

    Sysprep の開始

  6. Sysprep は完了時に VM をシャットダウンします。When Sysprep completes, it shuts down the VM. VM は再起動しないでください。Do not restart the VM.

ポータルで管理対象イメージを作成するCreate a managed image in the portal

  1. Azure Portalを開きます。Open the Azure portal.

  2. 左側のメニューで [仮想マシン] を選択し、一覧から VM を選択します。In the menu on the left, select Virtual machines and then select the VM from the list.

  3. VM の [仮想マシン] ページの上部のメニューで、 [キャプチャ] を選択します。In the Virtual machine page for the VM, on the upper menu, select Capture.

    [イメージの作成] ページが表示されます。The Create image page appears.

  4. [名前] で、あらかじめ設定されている名前を受け入れるか、イメージに使用する名前を入力します。For Name, either accept the pre-populated name or enter a name that you would like to use for the image.

  5. [リソース グループ] で、 [新規作成] を選択して名前を入力するか、または [Use existing(既存の値を使用する)] を選択してドロップダウン リストから使うリソース グループを選びます。For Resource group, either select Create new and enter a name, or select Use existing and select a resource group to use from the drop-down list.

  6. イメージが作成された後にソース VM を削除する場合、 [イメージの作成後、この仮想マシンを自動的に削除します] を選択します。If you want to delete the source VM after the image has been created, select Automatically delete this virtual machine after creating the image.

  7. いずれかの可用性ゾーンでイメージを使用する機能が必要な場合、 [Zone resiliency (ゾーンの回復性)][オン] を選択します。If you want the ability to use the image in any availability zone, select On for Zone resiliency.

  8. [作成] を選択してイメージを作成します。Select Create to create the image.

  9. 作成したイメージは、リソース グループのリソースの一覧に [イメージ] リソースとして表示されます。After the image is created, you can find it as an Image resource in the list of resources in the resource group.

Powershell を使って VM のイメージを作成するCreate an image of a VM using Powershell

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

VM からイメージを直接作成すると、OS ディスクやすべてのデータ ディスクなど、VM に関連付けられているすべてのディスクが、イメージに確実に含まれます。Creating an image directly from the VM ensures that the image includes all of the disks associated with the VM, including the OS disk and any data disks. この例では、マネージド ディスクを使用する VM から管理対象イメージを作成する方法を示します。This example shows how to create a managed image from a VM that uses managed disks.

始める前に、Azure PowerShell モジュールの最新バージョンがあることを確認してください。Before you begin, make sure that you have the latest version of the Azure PowerShell module. バージョンを確認するには、PowerShell で Get-Module -ListAvailable Az を実行してください。To find the version, run Get-Module -ListAvailable Az in PowerShell. アップグレードが必要な場合は、「PowerShellGet を使用した Windows への Azure PowerShell のインストール」を参照してください。If you need to upgrade, see Install Azure PowerShell on Windows with PowerShellGet. PowerShell をローカルで実行している場合、Connect-AzAccount を実行して Azure との接続を作成します。If you are running PowerShell locally, run Connect-AzAccount to create a connection with Azure.

注意

イメージをゾーン冗長ストレージに格納する場合は、可用性ゾーンをサポートするリージョンにストレージを作成し、イメージの構成に -ZoneResilient パラメーターを含める必要があります (New-AzImageConfig コマンド)。If you would like to store your image in zone-redundant storage, you need to create it in a region that supports availability zones and include the -ZoneResilient parameter in the image configuration (New-AzImageConfig command).

VM イメージを作成するには、次の手順を実行します。To create a VM image, follow these steps:

  1. 変数をいくつか作成します。Create some variables.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. VM の割り当てが解除されていることを確認します。Make sure the VM has been deallocated.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. 仮想マシンの状態を [一般化] に設定します。Set the status of the virtual machine to Generalized.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
    
  4. 仮想マシンを取得します。Get the virtual machine.

    $vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
    
  5. イメージの設定を作成します。Create the image configuration.

    $image = New-AzImageConfig -Location $location -SourceVirtualMachineId $vm.Id 
    
  6. イメージを作成します。Create the image.

    New-AzImage -Image $image -ImageName $imageName -ResourceGroupName $rgName
    

Powershell を使ってマネージド ディスクからイメージを作成するCreate an image from a managed disk using PowerShell

OS ディスクのみのイメージを作成する場合は、OS ディスクとしてマネージド ディスクの ID を指定します。If you want to create an image of only the OS disk, specify the managed disk ID as the OS disk:

  1. 変数をいくつか作成します。Create some variables.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. VM を取得します。Get the VM.

    $vm = Get-AzVm -Name $vmName -ResourceGroupName $rgName
    
  3. マネージド ディスクの ID を取得します。Get the ID of the managed disk.

    $diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
    
  4. イメージの設定を作成します。Create the image configuration.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
    
  5. イメージを作成します。Create the image.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

Powershell を使ってスナップショットからイメージを作成するCreate an image from a snapshot using Powershell

次の手順に従って、一般化された VM のスナップショットから管理対象イメージを作成できます。You can create a managed image from a snapshot of a generalized VM by following these steps:

  1. 変数をいくつか作成します。Create some variables.

    $rgName = "myResourceGroup"
    $location = "EastUS"
    $snapshotName = "mySnapshot"
    $imageName = "myImage"
    
  2. スナップショットを取得します。Get the snapshot.

    $snapshot = Get-AzSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
    
  3. イメージの構成を作成します。Create the image configuration.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
    
  4. イメージを作成します。Create the image.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

ストレージ アカウント内の VHD からイメージを作成しますCreate an image from a VHD in a storage account

ストレージ アカウントで、一般化された OS の VHD から管理対象イメージを作成します。Create a managed image from a generalized OS VHD in a storage account. ストレージ アカウントでは、 https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd という形式の VHD の URI が必要です。You need the URI of the VHD in the storage account, which is in the following format: https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd. この例では、VHD は vhdcontainer という名前のコンテナーの mystorageaccount 内にあり、VHD ファイル名は vhdfilename.vhd です。In this example, the VHD is in mystorageaccount, in a container named vhdcontainer, and the VHD filename is vhdfilename.vhd.

  1. 変数をいくつか作成します。Create some variables.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    $osVhdUri = "https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd"
    
  2. VM を停止するか、VM の割り当てを解除します。Stop/deallocate the VM.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. VM を一般化としてマークします。Mark the VM as generalized.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized  
    
  4. 一般化した OS VHD を使ってイメージを作成します。Create the image by using your 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
    

次の手順Next steps