仮想マシンまたは VHD のイメージを作成する方法How to create an image of a virtual machine or VHD

仮想マシン (VM) のコピーを複数作成し、Azure で使用するには、VM または OS VHD のイメージをキャプチャします。To create multiple copies of a virtual machine (VM) to use in Azure, capture an image of the VM or the OS VHD. イメージを作成するには、個人のアカウント情報を削除する必要があります。複数回行うデプロイが安全になります。To create an image, you need remove personal account information which makes it safer to deploy multiple times. 次の手順で既存の VM のプロビジョニングと割り当てを解除し、イメージを作成します。In the following steps you deprovision an existing VM, deallocate and create an image. このイメージを使用して、サブスクリプション内の任意のリソース グループに VM を作成できます。You can use this image to create VMs across any resource group within your subscription.

バックアップやデバッグのために既存の Linux VM のコピーを作成する方法、あるいはオンプレミス VM から特別な Linux VHD をアップロードする方法については、「カスタム ディスク イメージをアップロードして Linux VM を作成する」を参照してください。If you want to create a copy of your existing Linux VM for backup or debugging, or upload a specialized Linux VHD from an on-premises VM, see Upload and create a Linux VM from custom disk image.

Packer を使用し、カスタム構成を作成することもできます。You can also use Packer to create your custom configuration. Packer の使用方法については、「Packer を使用して Azure に Linux 仮想マシンのイメージを作成する方法」を参照してください。For more information on using Packer, see How to use Packer to create Linux virtual machine images in Azure.

開始する前にBefore you begin

次の前提条件が満たされていることを確認します。Ensure that you meet the following prerequisites:

  • 管理ディスクを使用し、Resource Manager デプロイ モデルで作成された Azure VM が必要です。You need an Azure VM created in the Resource Manager deployment model using managed disks. Linux VM を作成していない場合は、ポータルAzure CLI、または Resource Manager テンプレートを使うことができます。If you haven't created a Linux VM, you can use the portal, the Azure CLI, or Resource Manager templates. 必要に応じて VM を構成します。Configure the VM as needed. たとえば、データ ディスクを追加し、更新プログラムを適用し、アプリケーションをインストールします。For example, add data disks, apply updates, and install applications.

  • 最新の Azure CLI 2.0 がインストールされ、az login を使用して Azure アカウントにログインしている必要もあります。You also need to have the latest Azure CLI 2.0 installed and be logged in to an Azure account using az login.

クイック コマンドQuick commands

このトピックには簡易版があります。Azure VM の概要、テスト、評価については、「CLI を使用した Azure VM のカスタム イメージの作成」でも説明しています。For a simplified version of this topic, for testing, evaluating or learning about VMs in Azure, see Create a custom image of an Azure VM using the CLI.

手順 1: VM のプロビジョニングを解除するStep 1: Deprovision the VM

Azure VM エージェントで VM のプロビジョニングを解除し、マシン固有のファイルとデータを削除します。You deprovision the VM, using the Azure VM agent, to delete machine specific files and data. ソース Linux VM で -deprovision+user パラメーターを指定して waagent コマンドを実行します。Use the waagent command with the -deprovision+user parameter on your source Linux VM. 詳細については、「Azure Linux エージェント ユーザー ガイド」をご覧ください。For more information, see the Azure Linux Agent user guide.

  1. SSH クライアントを使って Linux VM に接続します。Connect to your Linux VM using an SSH client.
  2. SSH のウィンドウで、次のコマンドを入力します。In the SSH window, type the following command:

    sudo waagent -deprovision+user
    


    注意

    このコマンドはイメージとしてキャプチャする VM に対して実行するだけとします。Only run this command on a VM that you intend to capture as an image. これにより、イメージからすべての機密情報が削除されることや、イメージが再配布に適した状態になることが保証されるわけではありません。It does not guarantee that the image is cleared of all sensitive information or is suitable for redistribution. +user パラメーターにより、前回プロビジョニングされたユーザー アカウントも削除されます。The +user parameter also removes the last provisioned user account. VM にアカウントの資格情報を保存する場合、-deprovision を使用します。ユーザー アカウントが残ります。If you want to keep account credentials in the VM, just use -deprovision to leave the user account in place.

  3. y 」と入力して続行します。Type y to continue. -force パラメーターを追加すると、この確認手順を省略できます。You can add the -force parameter to avoid this confirmation step.

  4. コマンドが完了した後、「exit」と入力します。After the command completes, type exit. SSH クライアントが閉じられます。This step closes the SSH client.

手順 2. VM イメージを作成するStep 2: Create VM image

Azure CLI 2.0 を使用し、一般化されたものとして VM を設定し、イメージをキャプチャします。Use the Azure CLI 2.0 to mark the VM as generalized and capture the image. 次の例では、パラメーター名を独自の値を置き換えます。In the following examples, replace example parameter names with your own values. たとえば、myResourceGroupmyVnetmyVMといったパラメーター名にします。Example parameter names include myResourceGroup, myVnet, and myVM.

  1. az vm deallocate で、プロビジョニングを解除した VM の割り当てを解除します。Deallocate the VM that you deprovisioned with az vm deallocate. 次の例では、myResourceGroup という名前のリソース グループ内の myVM という VM の割り当てを解除します。The following example deallocates the VM named myVM in the resource group named myResourceGroup:

    az vm deallocate \
      --resource-group myResourceGroup \
      --name myVM
    
  2. az vm generalize を使用して VM の状態を一般化に設定します。Mark the VM as generalized with az vm generalize. 次の例では、myResourceGroup という名前のリソース グループ内の myVM という VM を一般化として設定します。The following example marks the the VM named myVM in the resource group named myResourceGroup as generalized:

    az vm generalize \
      --resource-group myResourceGroup \
      --name myVM
    
  3. az image create で VM リソースのイメージを作成します。Now create an image of the VM resource with az image create. 次の例では、myVM という名前の VM リソースを使用して myResourceGroup という名前のリソース グループに含まれる myImage という名前のイメージを作成します。The following example creates an image named myImage in the resource group named myResourceGroup using the VM resource named myVM:

    az image create \
      --resource-group myResourceGroup \
      --name myImage --source myVM
    

    注意

    このイメージは、ソース VM と同じリソース グループに作成されます。The image is created in the same resource group as your source VM. このイメージから、サブスクリプション内の任意のリソース グループに VM を作成できます。You can create VMs in any resource group within your subscription from this image. 管理の観点から、VM のリソースとイメージに専用のリソース グループを作成することをお勧めします。From a management perspective, you may wish to create a specific resource group for your VM resources and images.

手順 3: キャプチャしたイメージから VM を作成するStep 3: Create a VM from the captured image

az vm create で、作成したイメージを使用して VM を作成します。Create a VM using the image you created with az vm create. 次の例では、myImage という名前のイメージから myVMDeployed という名前の VM を作成します。The following example creates a VM named myVMDeployed from the image named myImage:

az vm create \
   --resource-group myResourceGroup \
   --name myVMDeployed \
   --image myImage\
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

別のリソース グループで VM を作成するCreating the VM in another resource group

サブスクリプション内の任意のリソース グループでイメージから VM を作成できます。You can create VMs from an image in any resource group within your subscription. イメージとは別のリソース グループに VM を作成するには、イメージに対する完全なリソース ID を指定します。To create a VM in a different resource group than the image, specify the full resource ID to your image. az image list を実行すると、イメージの一覧が表示されます。Use az image list to view a list of images. 出力は次の例のようになります。The output is similar to the following example:

"id": "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage",
   "location": "westus",
   "name": "myImage",

次の例では、az vm create を実行し、イメージ リソース ID を指定してソース イメージとは別のリソース グループに VM を作成します。The following example uses az vm create to create a VM in a different resource group than the source image by specifying the image resource ID:

az vm create \
   --resource-group myOtherResourceGroup \
   --name myOtherVMDeployed \
   --image "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage" \
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

手順 4: デプロイを検証するStep 4: Verify the deployment

ここで、作成した仮想マシンに SSH を使用して接続し、デプロイを検証し、新しい VM の使用を開始します。Now SSH to the virtual machine you created to verify the deployment and start using the new VM. SSH を介して接続するには、az vm show を実行して、VM の IP アドレスか FQDN を見つけます。To connect via SSH, find the IP address or FQDN of your VM with az vm show:

az vm show \
   --resource-group myResourceGroup \
   --name myVMDeployed \
   --show-details

次のステップNext steps

ソース VM イメージから複数の VM を作成できます。You can create multiple VMs from your source VM image. イメージに変更を加える必要がある場合は、次の手順を実行します。If you need to make changes to your image:

  • イメージから VM を作成します。Create a VM from your image.
  • 必要な更新または構成の変更を行います。Make any updates or configuration changes.
  • 再度本記事の手順に従って、イメージのプロビジョニングの解除、割り当ての解除、一般化、作成を行います。Follow the steps again to deprovision, deallocate, generalize, and create an image.
  • 今後のデプロイには、この新しいイメージを使用します。Use this new image for future deployments. 必要に応じて、元のイメージを削除します。If desired, delete the original image.

CLI を使用して VM を管理する方法の詳細については、Azure CLI 2.0 に関するページをご覧ください。For more information on managing your VMs with the CLI, see Azure CLI 2.0.