Microsoft/Azure

Azure Specialized VM Image (개념, 차이, 생성 방법 등)

megapain 2020. 12. 5. 23:12

참고 자료

 

Azure Specialized VM Image에 대해 이것 저것 설명합니다. 

위 참고 자료를 살펴 보시는 것을 권해드립니다.

 

Azure (Custom) Image

우선 Azure Image가 무엇인지 알아야 합니다.

Azure에서 VM을 만들때 보통은 Azure Marketplace에서 제공하는 OS 이미지를 사용합니다. 

Azure marketplace images

 

이번에 설명하려는 Azure Image는 이 Azure marketplace에서 제공하는 이미지를 의미하는 것이 아니라, Customized 된 Image, 즉 Azure Custom Image를 의미합니다.

Azure marketplace의 이미지에는 단순히 OS만 설치되어 있기 때문에, VM을 생성한 후 필요한 기능(Feature)을 설치하거나, 소프트웨어나 솔루션, 혹은 업데이트를 추가로 설치하고 구성해야 합니다. VM이 몇 대 안되는 환경에서는 별 문제가 안되지만, VM 수가 수십 대를 넘어가는 환경에서는 VM 생성과 구성에 많은 시간이 소요되기 때문에 문제가 됩니다. 

만약 VM을 배포할 때마다 공통적으로 수행하는 작업들 (예를 들어, 필수 보안 설정, OS 업데이트, 백신 설치 등) 이 있다고 치고, 그 작업에 3시간이 걸린다고 가정하면, 10대의 VM을 배포할 때 공통 수행 작업에만 30 시간이 소요됩니다. (물론 작업을 병렬로 수행하면 시간이 줄어 들수도 있습니다만, 어쨌거나 시간이 오래 걸립니다.) 

만약 VM을 배포 할 때 이미 공통 작업이 완료된 상태로 배포된다면 어떨까요? 반복 작업에 소모되던 시간이 없어지게 되고, 필수 작업을 실수로 누락하는 일도 없을 겁니다. 

Azure marketplace의 OS 이미지에 필수, 공통 수행 작업을 완료한 다음 이미지로 만든 것을 Azure Custom Image라고 합니다. 

 

Generalized Image Vs Specialized Image

Azure Custom Image는 Generalized와 Specialized로 나뉩니다.

Generalized Image는 말 그대로 일반화된 VM에서 Image를 만든 것입니다. 일반화는 VM에서 시스템 및 사용자의 특정 정보를 제거하는 프로세스입니다. Windows의 경우 sysprep 도구를 사용하고, Linux의 경우 waagent -deprovision 또는 waagent -deprovision+user 를 사용합니다. VM 생성 완료 후 최초 부팅 될 때 시스템(VM 이름 등) 및 사용자 정보가 생성되므로 최초 부팅에 시간이 오래 걸립니다.

Specialized Image는 일반화하지 않은 VM에서 Image를 만든 것입니다. VM을 일반화하지 않았기 때문에 시스템 및 사용자 정보가 남아 있어서 최초 부팅이 빠릅니다. Specialized Image에서 VM을 만들면 컴퓨터 이름이 동일하게 만들어지기 때문에, 충돌을 방지하기 위해 컴퓨터 이름을 바꿔야 합니다.

실제 Azure 환경에서는 대부분 Generalize Image를 사용합니다. 검색되는 자료도 대부분 Generalized Image에 대한 내용들입니다. 

 

Specialized Image 생성

엄밀히 말해서 Azure Image를 만드는 것이 아니라 Azure Shared Image Gallery의 Image Version을 만드는 것입니다.

Shared Image Galley는 Azure Image를 보다 쉽고 효율적으로 관리하기 위한 서비스입니다. Shared Image Gallery에 대해서는 아래 링크에 상세한 내용이 나오니 참고하시기 바랍니다. 이 글에서는 Shared Image Galley에 대해서는 설명하지 않습니다.

Shared Image Gallery overview - docs.microsoft.com/en-us/azure/virtual-machines/windows/shared-image-galleries#generalized-and-specialized-images

 

Generalized Image는 Azure VM을 일반화 후 캡처(Capture)해서 만들지만, Specialized Image는 일반화 없이 Azure VM의 Disk 혹은 Disk Snapshot에서 만듭니다. 

 

이번 테스트 시나리오의 구성도는 아래와 같습니다.

East US의 VM에서 Specialized Image (Image Version)를 만들고, 이 Image를 사용하여 Korea Central에 VM을 생성합니다.

(*Azure Image는 기본적으로 Azure Image가 생성된 지역에서만 VM을 만들 수 있습니다. 예를 들어 East US의 Azure Image로 Korea Central에 Azure VM을 생성할 수 없습니다. Share Image Gallery는 이 Azure Image를 다른 Azure Region으로 복제하는 기능을 가지고 있습니다.)

Azure Specialized Image test senario

 

테스트를 위해 사전에 East US 지역에 가상 네트워크와 Base VM (vmssbase)을 준비합니다.

Base VM은 Windows 2019에 IIS 역할을 구성하고 중지(Deallocate)합니다.

 

Specialized Image를 생성하는 절차는 아래와 같습니다.

 

1. Azure Shared Image Galley 생성

Azure Portal - All services - Shared image galleries

All services - Shared image galleries

 

Shared image galleries - +Add

 

Basics

  • Resource group : SIG-RG
  • Name : EastUSSIG
  • Region : East US

Azure Image Gallery

 

Review+create - [Create]

 

Shared Image Galley 생성 완료

 

2. Image Definition 생성

대상 Shared Image Gallery - +Add new image definition

Add new image definition

 

Basics

  • Region : East US
  • Image definition name : Win2019Web-Spc
  • Operating system : Windows
  • VM generation : Gen 1
  • Operation system state : Specialized
  • Publisher : myPublisher
  • Offer : myOffer
  • SKU : mySku

Image definition

 

*이 글을 작성하는 시점에는 Image definition을 만들때 Version을 구성하더라도 Image Version이 생성되지 않는 이슈가 있습니다. 따라서 Version을 지정하지 않고 바로 생성 단계로 넘어갔습니다.

 

Review+create - [Create]

 

3. Image Version 생성

Image definition - Add version

Add Image version

 

Basics

  • Region : East US
  • Name (version number) : 1.0.0
  • Source : Disks and /or snapshots
  • OS disk : 원본 VM(vmssbase)의 OS Disk 선택
  • Replication - Target regions : Korea Central

Image version

 

Review+create - [Create]

 

Image Version 생성 완료

 

Specialized Image에서 VM 생성

Specialized Image (Image version)을 사용하여 Azure Korea Central 지역에 VM을 생성해봅니다.

Create VM

 

Basics

  • Region : Korea Central을 선택
  • Image : Specialized Image (Image Gallery의 Image version) 선택
    • Specialized Image에서 VM을 생성할 때는 접속 계정을 등록할 수 없습니다.

 

VM 생성 완료

 

VM에 RDP로 접속해봅니다. 

이때 ID, Password는 원본 VM과 동일하며, VM의 이름(hostname)도 원본 VM과 동일한 것을 확인할 수 있습니다. 충돌을 방지하기 위해 VM 이름을 바꾸는 것을 권장합니다.

 

-끝-