Azure VM Image Builder 개요

적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합 ✔️ 균일한 확장 집합

표준화된 VM(가상 머신) 이미지를 사용하면 조직은 보다 쉽게 클라우드로 마이그레이션하고 배포의 일관성을 보장할 수 있습니다. 이미지에는 일반적으로 미리 정의된 보안, 구성 설정 및 필수 소프트웨어가 포함되어 있습니다. 자체 이미징 파이프라인을 설정하려면 시간, 인프라 및 기타 세부 정보가 필요합니다. Azure VM Image Builder를 사용하면 이미지를 설명하는 구성을 만들어서 서비스에 배포하기만 하면 됩니다. 그러면 이미지가 빌드되어 배포됩니다.

VM Image Builder를 사용하면 기존 스크립트, 명령 및 프로세스를 계속 사용하여 기존 이미지 사용자 지정 파이프라인을 Azure로 마이그레이션할 수 있습니다. 이미지를 만든 후 VM이 워크로드를 수행할 수 있도록 핵심 애플리케이션을 VM 이미지에 통합할 수 있습니다. Azure Virtual Desktop용 이미지를 Azure Stack에서 사용할 VHD(가상 하드 디스크)로 빌드하는 구성을 추가할 수도 있습니다.

VM Image Builder를 사용하면 Azure Marketplace의 Windows 또는 Linux 이미지나 기존 사용자 지정 이미지를 시작한 다음, 고유의 사용자 지정을 추가할 수 있습니다. 결과 이미지를 Azure Compute Gallery(이전에는 Shared Image Gallery)에 관리 이미지 또는 VHD로 호스트할 위치를 지정할 수도 있습니다.

기능

사용자 지정 VM 이미지를 직접 만들거나 다른 도구를 사용하여 만드는 것이 가능하지만 프로세스가 번거롭고 신뢰할 수 없습니다. HashiCorp Packer를 기반으로 하는 VM Image Builder는 관리되는 서비스의 이점을 제공합니다.

단순함

VM Image Builder는 다음과 같은 특징이 있어서 VM 이미지를 만드는 복잡성이 감소합니다.

  • VM 이미지를 만들기 위해 복잡한 도구, 프로세스 및 수동 단계를 사용할 필요가 없습니다. VM Image Builder는 이미지(Sysprep)를 일반화해야 하는 필요성과 같은 모든 세부 사항과 Azure 관련 요구 사항을 없애고 숨깁니다. 그리고 상급 사용자에게 이러한 요구 사항을 재정의할 수 있는 기능을 제공합니다.

  • 기존 이미지 빌드 파이프라인과 통합하여 클릭-실행 환경을 구축할 수 있습니다. 이렇게 하려면 파이프라인에서 VM Image Builder를 호출하거나 Azure VM Image Builder 서비스 DevOps 작업(미리 보기)을 사용하면 됩니다.

  • 다양한 원본에서 사용자 지정 데이터를 가져올 수 있으므로 한 곳에서 모든 데이터를 수집할 필요가 없습니다.

  • Compute Gallery와 통합할 수 있습니다. 그러면 이미지를 전역적으로 배포, 복제, 버전 지정 및 스케일링하는 데 사용할 수 있는 이미지 관리 시스템이 만들어집니다. 또한 동일한 결과 이미지를 처음부터 다시 빌드하지 않고 VHD로 배포하거나 하나 이상의 관리되는 이미지로 배포할 수 있습니다.

코드 제공 인프라(Infrastructure as code)

VM Image Builder를 사용하면 장기 인프라(예: 사용자 지정 데이터를 보관하는 스토리지 계정) 또는 일시적인 인프라(예: 이미지 빌드를 위한 임시 VM)를 관리할 필요가 없습니다.

VM Image Builder는 VM 이미지 빌드 아티팩트를 Azure 리소스로 저장합니다. 이 기능은 오프라인 정의를 유지해야 하는 필요성과 실수로 인한 삭제 또는 업데이트로 인한 환경 드리프트의 위험을 모두 제거합니다.

보안

이미지를 안전하게 보관하기 위해 VM Image Builder는 다음과 같이 합니다.

  • 기준 이미지(즉, 최소 보안 및 회사 구성)를 만들고 다른 부서에서 기준 이미지를 추가로 사용자 지정할 수 있게 합니다. VM Image Builder를 사용하여 최신 패치 버전의 원본 이미지를 사용하는 골든 이미지를 빠르게 다시 빌드함으로써 이러한 이미지의 보안을 유지하고 규정을 준수할 수 있습니다. 또한 VM Image Builder를 사용하면 Azure Windows 보안 기준을 충족하는 이미지를 더 쉽게 빌드할 수 있습니다. 자세한 내용은 VM Image Builder - Windows 기준 템플릿을 참조하세요.

  • 공개적으로 액세스할 수 있게 만들지 않고도 사용자 지정 아티팩트 가져오기를 사용할 수 있습니다. VM Image Builder는 Azure Managed Identity를 사용하여 이러한 리소스를 가져올 수 있으며, Azure RBAC(역할 기반 액세스 제어)를 사용하여 이 ID의 권한을 필요한 만큼 엄격하게 제한할 수 있습니다. 아티팩트 비밀을 지키고 권한 없는 작업자에 의한 변조를 방지할 수 있습니다.

  • 액세스 권한을 Azure-RBAC로 제어하므로 사용자 지정 아티팩트의 복사본, 임시 컴퓨팅 및 스토리지 리소스 그리고 결과 이미지를 구독 내에 안전하게 저장합니다. 사용자 지정된 이미지를 만드는 데 사용되는 빌드 VM에도 적용되는 이 수준의 보안은 사용자 지정 스크립트 및 파일이 알 수 없는 구독의 알 수 없는 VM에 복사되지 않도록 방지하는 데 도움이 됩니다. 또한 빌드 VM에 격리된 VM 제품을 사용하여 다른 고객의 워크로드와 확실하게 격리할 수 있습니다.

  • VM Image Builder를 기존 가상 네트워크에 연결할 수 있습니다. 그러면 DSC(Desired State Configuration 끌어오기 서버), Chef, Puppet, 파일 공유 또는 기타 라우팅 가능한 서버와 서비스 같은 기존 구성 서버와 통신할 수 있습니다.

  • 사용자가 할당한 ID를 VM Image Builder 빌드 VM(즉, VM Image Builder 서비스가 구독에 만들고 이미지를 빌드 및 사용자 지정하는 데 사용하는 VM)에 할당하도록 구성할 수 있습니다. 그런 다음 사용자 지정 시 이러한 ID를 사용하여 구독에서 비밀을 비롯한 Azure 리소스에 액세스할 수 있습니다. VM Image Builder에 해당 리소스에 대한 직접 액세스 권한을 할당할 필요가 없습니다.

지역

VM Image Builder 서비스는 다음 지역에서 사용할 수 있습니다.

참고 항목

이러한 지역 외부에도 이미지를 배포할 수 있습니다.

  • 미국 동부
  • 미국 동부 2
  • 미국 중서부
  • 미국 서부
  • 미국 서부 2
  • 미국 서부 3
  • 미국 중남부
  • 북유럽
  • 서유럽
  • 남부 동아시아
  • 오스트레일리아 남동부
  • 오스트레일리아 동부
  • 영국 남부
  • 영국 서부
  • 브라질 남부
  • 캐나다 중부
  • 인도 중부
  • 미국 중부
  • 프랑스 중부
  • 독일 중서부
  • 일본 동부
  • 미국 중북부
  • 노르웨이 동부
  • 스위스 북부
  • Jio 인도 서부
  • 아랍에미리트 북부
  • 동아시아
  • 한국 중부
  • 남아프리카 공화국 북부
  • 카타르 중부
  • USGov 애리조나(공개 미리 보기)
  • USGov 버지니아(공개 미리 보기)
  • 중국 북부 3(공개 미리 보기)
  • 스웨덴 중부
  • 폴란드 중부
  • 이탈리아 북부

페어팩스 지역(USGov 애리조나 및 USGov 버지니아)에서 Azure VM Image Builder 공개 미리 보기에 액세스하려면 Microsoft.VirtualMachineImages/FairfaxPublicPreview 기능을 등록해야 합니다. 이렇게 하려면 PowerShell 또는 Azure CLI에서 다음 명령을 실행합니다.

Register-AzProviderPreviewFeature -ProviderNamespace Microsoft.VirtualMachineImages -Name FairfaxPublicPreview

중국 북부 3 지역의 Azure VM Image Builder 공개 미리 보기에 액세스하려면 Microsoft.VirtualMachineImages/MooncakePublicPreview 기능을 등록해야 합니다. 이렇게 하려면 PowerShell 또는 Azure CLI에서 다음 명령을 실행합니다.

Register-AzProviderPreviewFeature -ProviderNamespace Microsoft.VirtualMachineImages -Name MooncakePublicPreview

OS 지원

VM Image Builder는 모든 Azure Marketplace 기본 운영 체제 이미지와 함께 작동하도록 설계되었습니다.

참고 항목

이제 2023년 3월부터 포털 내에서 Azure Image Builder 서비스를 사용할 수 있습니다. 포털 내에서 사용자 지정 이미지 빌드 및 유효성 검사를 시작합니다.

기밀 VM 및 신뢰할 수 있는 시작 지원

VM Image Builder는 특정 제약 조건을 사용하여 TrustedLaunchSupported 및 ConfidentialVMSupported 이미지에 대한 추가 지원을 제공합니다. 다음은 제약 조건 목록입니다.

보안 유형 상태 지원
TrustedLaunchSupported 이미지 빌드에 대한 원본 이미지로 지원
ConfidentialVMSupported 이미지 빌드에 대한 원본 이미지로 지원
TrustedLaunch 원본 이미지로 지원되지 않음
ConfidentialVM 원본 이미지로 지원되지 않음

참고 항목

TrustedLaunchSupported 이미지를 사용하는 경우 원본 및 배포가 모두 TrustedLaunchSupported여야 지원됩니다. 원본이 정상이고 배포가 TrustedLaunchSupported이거나 원본이 TrustedLaunchSupported이고 배포가 일반 Gen2인 경우 지원되지 않습니다.

작동 방식

VM Image Builder는 Azure 리소스 공급자가 액세스할 수 있는 완전 관리형 Azure 서비스입니다. 리소스 공급자는 원본 이미지, 수행할 사용자 지정 및 새 이미지를 배포할 위치를 지정하여 VM Image Builder를 구성합니다. 다음은 워크플로를 간략하게 보여주는 다이어그램입니다.

AIB 개념 개요 다이어그램

Azure PowerShell, Azure CLI 또는 Azure Resource Manager 템플릿을 사용하거나 VM Image Builder DevOps 작업을 사용하여 템플릿 구성을 전달할 수 있습니다. 구성을 서비스에 제출하면 Azure가 이미지 템플릿 리소스를 만듭니다. 이미지 템플릿 리소스가 만들어지면 준비 리소스 그룹이 구독에 IT_\<DestinationResourceGroup>_\<TemplateName>_\(GUID) 형식으로 만들어집니다. 준비 리소스 그룹에는 ScriptURI 속성의 File, Shell 및 PowerShell 사용자 지정에서 참조되는 파일과 스크립트가 포함됩니다.

빌드를 실행하려면 VM Image Builder 템플릿 리소스에서 Run을 호출합니다. 그러면 VM Image Builder 서비스는 VM, 네트워크, 디스크 및 네트워크 어댑터와 같은 빌드에 대한 추가 리소스를 배포합니다.

기존 가상 네트워크를 사용하지 않고 이미지를 빌드하면 VM Image Builder는 공용 IP 및 네트워크 보안 그룹도 배포하고, SSH(Secure Shell) 또는 WinRM(Windows 원격 관리) 프로토콜을 사용하여 빌드 VM에 연결합니다.

기존 가상 네트워크를 선택하면 Azure Private Link를 통해 서비스가 배포되고, 공용 IP 주소가 필요 없습니다. 자세한 내용은 Azure VM Image Builder 네트워킹 개요를 참조하세요.

빌드가 완료되면 준비 리소스 그룹과 스토리지 계정을 제외한 모든 리소스가 삭제됩니다. 이미지 템플릿 리소스를 삭제하여 제거할 수도 있고, 그대로 두고 빌드를 다시 실행할 수도 있습니다.

여러 예제, 단계별 가이드, 구성 템플릿 및 솔루션을 보려면 VM Image Builder GitHub 리포지토리로 이동합니다.

이동 지원

이미지 템플릿 리소스는 변경할 수 없으며, 리소스 및 준비 리소스 그룹에 대한 링크를 포함합니다. 따라서 이 리소스 종류는 이동할 수 없습니다.

이미지 템플릿 리소스를 이동하려면 구성 템플릿의 복사본이 있는지 확인하고, 복사본이 없는 경우 리소스에서 기존 구성을 추출합니다. 그런 다음, 새 리소스 그룹에 새 이미지 템플릿 리소스를 새 이름으로 만들고, 이전 이미지 템플릿 리소스를 삭제합니다.

사용 권한

VM Image Builder 서비스에 등록하면 준비 리소스 그룹을 만들고, 관리하고, 삭제할 수 있는 서비스 권한을 부여하게 되며 IT_* 접두사가 추가됩니다. 또한 이미지 빌드에 필요한 리소스를 추가할 수 있는 권한이 생깁니다. 이렇게 되는 이유는 성공적으로 등록을 마치면 구독에서 VM Image Builder 서비스 사용자 이름을 사용할 수 있기 때문입니다.

VM Image Builder가 관리되는 이미지 또는 Compute Gallery에 이미지를 배포하도록 허용하려면 이미지를 읽고 쓸 수 있는 권한이 있는 Azure 사용자 할당 ID를 만들어야 합니다. Azure Storage에 액세스하는 경우 프라이빗 및 퍼블릭 컨테이너를 읽을 권한이 필요합니다.

API 버전 2021-10-01 이상에서 VM Image Builder는 Azure 사용자 할당 ID를 빌드 VM에 추가하여 구독에서 Azure Key Vault와 같은 서비스로 인증해야 하는 시나리오를 지원합니다.

권한에 대한 자세한 내용은 다음을 참조하십시오.

비용

VM Image Builder를 사용하여 이미지를 만들고, 빌드하고, 저장할 때 컴퓨팅, 네트워킹 및 스토리지 비용이 발생합니다. 이러한 비용은 사용자 지정 이미지를 수동으로 만들 때 발생하는 비용과 비슷합니다. 리소스 요금은 Azure 요율로 청구됩니다.

참고 항목

현재 Azure Image Builder 서비스는 Windows Server용 Azure 하이브리드 혜택을 지원하지 않습니다.

이미지 생성 프로세스 동안 파일이 다운로드되어 IT_<DestinationResourceGroup>_<TemplateName> 리소스 그룹에 저장되며, 스토리지 비용이 약간 발생합니다. 이러한 파일을 보관하지 않으려면 이미지를 빌드한 후 이미지 템플릿을 삭제하세요.

VM Image Builder는 VM에 필요한 스토리지 및 네트워킹 옵션과 함께 Gen1 이미지에는 기본 Standard_D1_v2, Gen2 이미지에는 Standard_D2ds_v4 VM 크기를 사용하여 VM을 만듭니다. 이러한 리소스는 빌드 프로세스 기간 동안 지속되며 VM Image Builder가 이미지 만들기를 완료하면 삭제됩니다.

VM Image Builder는 사용자가 선택한 지역에 이미지를 배포하며, 네트워크 송신 요금이 발생할 수 있습니다.

Hyper-V 세대

VM Image Builder는 현재 Compute Gallery에 Hyper-V Gen1 및 Gen2 이미지를 관리되는 이미지 또는 VHD로 만들 수 있습니다. 배포된 이미지는 항상 제공된 이미지와 같은 세대입니다.

Gen2 이미지의 경우 올바른 SKU를 사용하고 있는지 확인합니다. 예를 들어 Ubuntu Server 18.04 Gen2 이미지의 SKU는 18_04-lts-gen2입니다. Ubuntu Server 18.04 Gen1 이미지의 SKU는 18.04-lts입니다.

다음은 이미지 게시자 기반의 SKU를 찾는 방법입니다.

# Find all Gen2 SKUs published by Microsoft Windows Desktop
az vm image list --publisher MicrosoftWindowsDesktop --sku g2 --output table --all

# Find all Gen2 SKUs published by Canonical
az vm image list --publisher Canonical --sku gen2 --output table --all

Gen2를 지원하는 Azure VM 이미지에 대한 자세한 내용은 Azure Marketplace의 Gen2 VM 이미지를 참조하세요.

다음 단계

VM Image Builder를 사용해 보려면 Linux 또는 Windows 이미지 빌드에 대한 문서를 참조하세요.