Azure에서 일반화된 VM의 레거시 관리 이미지 만들기

Important

이 문서에서는 이전 관리형 이미지 기술에 대해 설명합니다. 최신 기술의 경우 고객은 Azure Compute Gallery를 사용하는 것이 좋습니다. ARM64, 신뢰할 수 있는 시작 및 기밀 VM과 같은 모든 새로운 기능은 Azure Compute Gallery를 통해서만 지원됩니다. 기존 관리 이미지가 있는 경우 원본으로 사용하고 Azure Compute Gallery 이미지를 만들 수 있습니다. 자세한 내용은 이미지 정의 및 이미지 버전 만들기를 참조하세요.

Azure에서 VM을 generalized로 표시하면 VM을 다시 시작할 수 없습니다.

하나의 관리형 이미지는 최대 20개의 동시 배포를 지원합니다. 동일한 관리형 이미지에서 20개가 넘는 VM을 동시에 만들려고 하면 단일 VHD의 스토리지 성능 제한으로 인해 프로비저닝 시간이 초과될 수 있습니다. 20개가 넘는 VM을 동시에 만들려면 20개의 동시 VM 배포마다 1개의 복제본으로 구성된 Azure Compute Gallery(이전의 Shared Image Gallery) 이미지를 사용합니다.

관리형 이미지의 청구 방법에 대한 자세한 내용은 Managed Disks 가격 책정을 참조하세요.

필수 조건

  • 이미지를 생성하려면 일반화된 VM이 필요합니다.

CLI: VM의 레거시 관리형 이미지 만들기

az image create를 사용하여 VM의 이미지를 만듭니다. 다음 예제에서는 myVM이라는 VM 리소스를 사용하여 myResourceGroup이라는 리소스 그룹에서 myImage라는 이미지를 만듭니다.

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

Note

The image is created in the same resource group as your source VM. You can create VMs in any resource group within your subscription from this image. From a management perspective, you may wish to create a specific resource group for your VM resources and images.

If you are capturing an image of a generation 2 VM, also use the --hyper-v-generation V2 parameter. for more information, see Generation 2 VMs.

If you would like to store your image in zone-resilient storage, you need to create it in a region that supports availability zones and include the --zone-resilient true parameter.

This command returns JSON that describes the VM image. Save this output for later reference.

PowerShell: VM의 레거시 관리형 이미지 만들기

VM에서 직접 이미지를 만들면 OS 디스크와 데이터 디스크를 포함하여 VM에 연결된 모든 디스크가 이미지에 포함됩니다. 이 예제에서는 VM에서 관리되는 디스크를 사용하는 관리되는 이미지를 만드는 방법을 보여 줍니다.

시작하기 전에 Azure PowerShell 모듈이 최신 버전인지 확인합니다. 버전을 확인하려면 PowerShell에서 Get-Module -ListAvailable Az를 실행합니다. 버전을 업그레이드해야 하는 경우 PowerShellGet을 사용하여 Windows에서 Azure PowerShell 설치를 참조하세요. PowerShell을 로컬로 실행하는 경우 Connect-AzAccount를 실행하여 Azure와 연결합니다.

참고 항목

이미지를 영역 중복 스토리지에 저장하려는 경우 가용성 영역을 지원하고 이미지 구성에 -ZoneResilient 매개 변수(New-AzImageConfig 명령)를 포함하는 지역에 이미지를 만들어야 합니다.

VM 이미지를 만들려면 다음 단계를 수행합니다.

  1. 일부 변수를 만듭니다.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. VM의 할당이 취소되었는지 확인합니다.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. 가상 머신의 상태를 일반화됨으로 설정합니다.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
    
  4. 가상 머신을 가져옵니다.

    $vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
    
  5. 이미지 구성을 만듭니다.

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

    $imageName -ResourceGroupName $rgName
    

PowerShell: 관리 디스크에서 레거시 관리형 이미지 만들기

OS 디스크의 이미지만 만들려면 관리 디스크 ID를 OS 디스크로 지정합니다.

  1. 일부 변수를 만듭니다.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. VM을 가져옵니다.

    $vm = Get-AzVm -Name $vmName -ResourceGroupName $rgName
    
  3. 관리되는 디스크의 ID를 가져옵니다.

    $diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
    
  4. 이미지 구성을 만듭니다.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
    
  5. 이미지를 만듭니다.

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

PowerShell: 스냅샷에서 레거시 관리형 이미지 만들기

다음 단계를 수행하면 일반화된 VM의 스냅샷에서 관리되는 이미지를 만들 수 있습니다.

  1. 일부 변수를 만듭니다.

    $rgName = "myResourceGroup"
    $location = "EastUS"
    $snapshotName = "mySnapshot"
    $imageName = "myImage"
    
  2. 스냅샷을 가져옵니다.

    $snapshot = Get-AzSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
    
  3. 이미지 구성을 만듭니다.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
    
  4. 이미지를 만듭니다.

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

PowerShell: 스토리지 계정을 사용하는 VM에서 레거시 관리형 이미지 만들기

관리 디스크를 사용하지 않는 VM에서 관리형 이미지를 만들려면 스토리지 계정에 있는 OS VHD의 URI가 필요합니다. 이 URI는 https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd 형식입니다. 이 예제의 VHD는 vhdcontainer 컨테이너의 mystorageaccount에 있으며 VHD 파일 이름은 vhdfilename.vhd입니다.

  1. 일부 변수를 만듭니다.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    $osVhdUri = "https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd"
    
  2. VM을 중지하고 할당을 취소합니다.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. VM을 일반화됨으로 표시합니다.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized    
    
  4. 일반화된 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
    

CLI: 레거시 관리형 이미지에서 VM 만들기

az vm create로 만든 이미지를 사용하여 VM을 만듭니다. 다음 예제에서는 myImage라는 이미지에서 myVMDeployed라는 VM을 만듭니다.

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

CLI: 레거시 관리형 이미지에서 다른 리소스 그룹에 VM 만들기

구독 내 모든 리소스 그룹의 이미지에서 VM을 만들 수 있습니다. 이미지와 다른 리소스 그룹에 VM을 만들려면 이미지에 완전한 리소스 ID를 지정합니다. az image list를 사용하여 이미지 목록을 봅니다. 다음 예제와 유사하게 출력됩니다.

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

다음 예제에서는 이미지 리소스 ID를 지정하여 원본 이미지가 아닌 리소스 그룹에 VM을 만드는 az vm create를 사용합니다.

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

포털: 레거시 관리형 이미지에서 VM 만들기

Azure에서 VM 만들기: 포털에서 이미지를 찾고, 'VM 만들기'를 선택하고, 세부 정보를 입력하고, 크기를 선택하고, 설정을 조정하고, 배포합니다.

  1. Azure Portal로 이동하여 관리형 이미지를 찾습니다. 이미지을 검색하고 선택합니다.

  2. 목록에서 사용할 이미지를 선택합니다. 이미지 개요 페이지가 열립니다.

  3. 메뉴에서 VM 만들기를 선택합니다.

  4. 가상 머신 정보를 입력합니다. 여기에서 입력한 이사용자 이름과 암호는 가상 머신에 로그인하는 데 사용됩니다. 완료되면 확인을 선택합니다. 기존 리소스 그룹에서 새 VM을 만들거나 새로 만들기를 선택하여 VM을 저장할 새 리소스 그룹을 만들 수 있습니다.

  5. VM의 크기를 선택합니다. 더 많은 크기를 보려면 모두 보기를 선택하거나 지원되는 디스크 형식 필터를 변경합니다.

  6. 설정에서 필요한 항목을 변경하고 확인을 선택합니다.

  7. 요약 페이지에서 이미지 이름이 프라이빗 이미지 아래 나열되어야 합니다. 확인을 선택하여 가상 머신 배포를 시작합니다.

PowerShell: 레거시 관리형 이미지에서 VM 만들기

New-AzVm cmdlet에 설정된 간소화된 매개 변수를 사용하여 이미지에서 VM을 만드는 데 PowerShell을 사용할 수 있습니다. 이미지는 VM을 만들 동일한 리소스 그룹에 있어야 합니다.

New-AzVm에 대해 설정된 간소화된 매개 변수를 사용하려면 이름, 리소스 그룹 및 이미지 이름을 제공하여 이미지에서 VM을 만들어야 합니다. New-AzVm은 자동으로 생성하는 모든 리소스의 이름으로 -Name 매개 변수의 값을 사용합니다. 이 예제에서는 각 리소스에 보다 자세한 이름을 입력하지만 cmdlet을 통해 자동으로 만들 수 있습니다. 사전에 가상 네트워크와 같은 리소스를 만들고, 리소스 이름을 cmdlet에 전달할 수도 있습니다. New-AzVm은 이름별로 찾을 수 있는 경우 기존 리소스를 사용합니다.

다음 예제에서는 myImage라는 이미지의 myResourceGroup 리소스 그룹에서 myVMFromImage라는 VM을 만듭니다.

New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVMfromImage" `
    -ImageName "myImage" `
    -Location "East US" `
    -VirtualNetworkName "myImageVnet" `
    -SubnetName "myImageSubnet" `
    -SecurityGroupName "myImageNSG" `
    -PublicIpAddressName "myImagePIP" 

다음 단계