가상 컴퓨터 또는 VHD의 이미지를 만드는 방법How to create an image of a virtual machine or VHD

Azure에서 사용할 가상 컴퓨터(VM)의 복사본을 여러 개 만들려면 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 사용에 대한 자세한 내용은 Azure에서 Packer를 사용하여 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. 예제 매개 변수 이름에는 myResourceGroup, myVnet, myVM이 포함됩니다.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",

다음 예제에서는 이미지 리소스 ID를 지정하여 원본 이미지와 다른 리소스 그룹에 VM을 만드는 az vm create를 사용합니다.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.