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.

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.

중요

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.

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(첫 실행 경험) 시작을 선택하고 일반화 확인란을 선택합니다.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. 확인을 선택합니다.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. 리소스 그룹에서 새로 만들기를 선택하고 이름을 입력하거나 기존 항목 사용을 선택하고 드롭다운 목록에서 사용할 리소스 그룹을 선택합니다.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. 모든 가용성 영역에서 이미지를 사용하려면 영역 복원력에서 설정을 선택합니다.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

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.

시작하기 전에 AzureRM.Compute PowerShell 모듈이 최신 버전(버전 5.7.0 이상이어야 함)인지 확인합니다.Before you begin, make sure that you have the latest version of the AzureRM.Compute PowerShell module, which must be version 5.7.0 or later. 버전을 확인하려면 PowerShell에서 Get-Module -ListAvailable AzureRM.Compute를 실행합니다.To find the version, run Get-Module -ListAvailable AzureRM.Compute in PowerShell. 버전을 업그레이드해야 하는 경우 PowerShellGet을 사용하여 Windows에서 Azure PowerShell 설치를 참조하세요.If you need to upgrade, see Install Azure PowerShell on Windows with PowerShellGet. PowerShell을 로컬로 실행하는 경우 Connect-AzureRmAccount를 실행하여 Azure와 연결합니다.If you are running PowerShell locally, run Connect-AzureRmAccount to create a connection with Azure.

참고

이미지를 영역 중복 저장소에 저장하려는 경우 가용성 영역을 지원하고 이미지 구성에 -ZoneResilient 매개 변수(New-AzureRmImageConfig 명령)를 포함하는 지역에 이미지를 만들어야 합니다.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-AzureRmImageConfig 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-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. 가상 머신의 상태를 일반화됨으로 설정합니다.Set the status of the virtual machine to Generalized.

    Set-AzureRmVm -ResourceGroupName $rgName -Name $vmName -Generalized
    
  4. 가상 머신을 가져옵니다.Get the virtual machine.

    $vm = Get-AzureRmVM -Name $vmName -ResourceGroupName $rgName
    
  5. 이미지 구성을 만듭니다.Create the image configuration.

    $image = New-AzureRmImageConfig -Location $location -SourceVirtualMachineId $vm.Id 
    
  6. 이미지를 만듭니다.Create the image.

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

Powershell을 사용하여 관리되는 디스크에서 이미지 만들기Create an image from a managed disk using PowerShell

OS 디스크의 이미지만 만들려면 관리 디스크 ID를 OS 디스크로 지정합니다.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"
    $snapshotName = "mySnapshot"
    $imageName = "myImage"
    
  2. VM을 가져옵니다.Get the VM.

    $vm = Get-AzureRmVm -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-AzureRmImageConfig -Location $location
    $imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
    
  5. 이미지를 만듭니다.Create the image.

    New-AzureRmImage -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-AzureRmSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
    
  3. 이미지 구성을 만듭니다.Create the image configuration.

    $imageConfig = New-AzureRmImageConfig -Location $location
    $imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
    
  4. 이미지를 만듭니다.Create the image.

    New-AzureRmImage -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. 저장소 계정에 있는 VHD의 URI가 필요합니다. 이 URI는 https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd 형식입니다.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을 중지하고 할당을 취소합니다.Stop/deallocate the VM.

    Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. VM을 일반화됨으로 표시합니다.Mark the VM as generalized.

    Set-AzureRmVm -ResourceGroupName $rgName -Name $vmName -Generalized 
    
  4. 일반화된 OS VHD를 사용하여 이미지를 만듭니다.Create the image by using your generalized OS VHD.

    $imageConfig = New-AzureRmImageConfig -Location $location
    $imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri
    $image = New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

다음 단계Next steps