이 문서는 EOL(수명 종료) 상태인 Linux 배포판인 CentOS를 참조합니다. 이에 따라 사용 및 플랜을 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.
Azure Compute Gallery(이전의 Shared Image Gallery)는 조직 전체에서 사용자 지정 이미지 공유를 단순화합니다. 사용자 지정 이미지는 Marketplace 이미지와 같지만 직접 만듭니다. VM, VHD, 스냅샷, 관리되는 이미지 또는 다른 이미지 버전에서 이미지를 만들 수 있습니다.
Azure Compute Gallery를 사용하면 사용자 지정 VM 이미지를 조직의 다른 사용자, 지역 내 또는 여러 지역, Microsoft Entra 테넌트 내에서 또는 커뮤니티 갤러리를 사용하여 공개적으로 공유할 수 있습니다. 공유할 이미지, 이미지를 제공할 지역, 이미지를 공유할 사람을 선택하세요. 이미지를 논리적으로 그룹화할 수 있도록 여러 갤러리를 만들 수 있습니다. ARM64, 가속 네트워킹 및 TrustedVM 등과 같은 많은 새로운 기능은 Azure Compute Gallery를 통해서만 지원되며 리형 이미지에는 사용할 수 없습니다.
Azure Compute Gallery 기능에는 여러 가지 리소스가 있습니다.
리소스
설명
이미지 원본
이는 갤러리에서 이미지 버전을 만드는 데 사용할 수 있는 리소스입니다. 이미지 소스는 일반화 또는 특수화된 기존 Azure VM, 관리형 이미지, 스냅샷 또는 다른 갤러리의 이미지 버전일 수 있습니다.
갤러리
Azure Marketplace와 마찬가지로 갤러리는 이미지 및 VM 애플리케이션을 관리하고 공유하는 데 사용되는 리포지토리이지만 액세스할 수 있는 사람을 제어할 수 있습니다.
이미지 정의
이미지 정의는 갤러리 내에 생성되고, 내부적으로 사용하기 위해 충족해야 할 요구 사항과 이미지에 대한 정보를 전달합니다. 여기에는 이미지가 Windows인지, Linux인지 여부, 릴리스 정보, 최소 및 최대 메모리 요구 사항이 포함됩니다. 이미지의 형식 정의입니다.
이미지 버전
이미지 버전은 갤러리를 사용하는 경우 VM을 만들 때 사용합니다. 사용 환경에 필요한 만큼 여러 버전의 이미지를 가질 수 있습니다. 관리되는 이미지와 마찬가지로 이미지 버전을 사용하여 VM을 만들 때는 이미지 버전을 사용하여 VM의 새 디스크를 만듭니다. 이미지 버전은 여러 번 사용할 수 있습니다.
시작하기 전에
이 문서를 완료하려면 기존 Azure Compute Gallery와 Azure에서 사용할 수 있는 이미지 원본이 있어야 합니다. 이미지 원본은 다음과 같습니다.
Azure Portal로 이동한 다음 Azure Compute Gallery를 검색하여 선택합니다.
목록에서 사용하려는 갤러리를 선택합니다.
갤러리 페이지의 페이지 상단에서 추가를 선택한 다음 드롭다운에서 VM 이미지 정의를 선택합니다.
Azure Compute Gallery에 새 이미지 정의 추가 페이지의 기본 탭에서 지역을 선택합니다.
이미지 정의 이름에 myImageDefinition과 같은 이름을 입력합니다.
운영 체제에서 원본에 따라 올바른 옵션을 선택합니다.
VM 생성의 경우 원본에 따라 옵션을 선택합니다. 대부분의 경우에는 1세대를 선택하면 됩니다. 자세한 내용은 Gen2 VM에 대한 지원을 참조하세요.
운영 체제 상태에서 원본에 따라 옵션을 선택합니다. 자세한 내용은 일반화 및 특수화를 참조하세요.
게시자에 myPublisher와 같은 고유한 이름을 입력합니다.
제품에 myOffer와 같은 고유한 이름을 입력합니다.
SKU에 mySKU와 같은 고유한 이름을 입력합니다.
페이지의 아래쪽에서 검토 + 생성를 선택합니다.
이미지 정의가 유효성 검사를 통과한 후 만들기를 선택합니다.
배포가 완료되면 리소스로 이동을 선택합니다.
이미지 정의 페이지의 시작 탭에서 버전 만들기를 선택합니다.
지역에서 이미지를 만들 지역을 선택합니다. 어떤 경우에는 원본이 이미지가 만들어진 동일한 영역에 있어야 합니다. 나중에 드롭다운 목록에 원본이 표시되지 않으면 이미지의 지역을 변경해 보세요. 나중에 언제든지 이미지를 다른 지역에 복제할 수 있습니다.
버전 번호에 대해 1.0.0과 같은 번호를 입력합니다. 이미지 버전 이름은 정수를 사용하여 정.부.패치 형식을 따라야 합니다.
원본의 드롭다운에서 원본에 사용 중인 파일 형식을 선택합니다. 각 원본 유형에 대한 구체적인 정보는 아래 표를 참조하세요.
원본
기타 필드
디스크 또는 스냅샷
- OS 디스크에 대해 드롭다운에서 디스크 또는 스냅샷을 선택합니다. - 데이터 디스크를 추가하려면 LUN 번호를 입력한 다음, 드롭다운에서 데이터 디스크를 선택합니다.
이미지 버전
- 드롭다운에서 원본 갤러리를 선택합니다. - 드롭다운에서 올바른 이미지 정의를 선택합니다. - 드롭다운에서 사용하려는 기존 이미지 버전을 선택합니다.
관리형 이미지
드롭다운에서 원본 이미지를 선택합니다. 관리형 이미지는 인스턴스 세부 정보에서 선택한 것과 동일한 지역에 있어야 합니다.
스토리지 계정의 VHD
찾아보기를 선택하여 VHD에 대한 스토리지 계정을 선택합니다.
버전 번호 대신 latest를 사용하여 VM을 만들 때 이 버전을 사용하지 않으려면 최신 항목에서 제외에서 기본값인 아니요를 그대로 둡니다.
수명 종료 날짜의 경우 달력에서 이 버전의 사용이 중단되어야 하는 날짜를 선택합니다.
복제 탭의 드롭다운에서 스토리지 유형을 선택합니다.
기본 복제본 수를 설정합니다. 추가하는 각 지역에 대해 이를 재정의할 수 있습니다.
원본 지역에 복제해야 하므로 목록의 첫 번째 복제본이 이미지를 만든 지역에 있게 됩니다. 드롭다운에서 영역을 선택하고 필요에 따라 복제본 수를 조정하여 복제본을 더 추가할 수 있습니다.
완료되면 검토 + 만들기를 선택합니다. Azure가 구성의 유효성을 검사합니다.
이미지 버전이 유효성 검사를 통과하면 만들기를 선택합니다.
배포가 완료되면 리소스로 이동을 선택합니다.
이미지를 모든 대상 영역에 복제하는 데 시간이 걸릴 수 있습니다.
포털에서 기존 VM을 이미지로 캡처할 수도 있습니다. 자세한 내용은 포털에서 VM 이미지 만들기를 참조하세요.
이미지 정의는 이미지에 대한 논리적 그룹화를 만듭니다. 내부에서 생성된 이미지 버전에 대한 정보를 관리하는 데 사용됩니다.
az sig image-definition create를 사용하여 갤러리에서 이미지 정의를 만듭니다. 이미지 정의가 올바른 형식인지 확인합니다. VM을 일반화한 경우(Linux의 경우 waagent -deprovision, Windows의 경우 Sysprep 사용) --os-state generalized를 사용하여 범용 이미지 정의를 만들어야 합니다. 기존 사용자 계정을 제거하지 않고 VM을 사용하려는 경우 --os-state specialized를 사용하여 특수화된 이미지 정의를 만듭니다.
다음 예제에서는 이미지 정의의 이름이 myImageDefinition이며 특수 Linux OS 이미지에 대한 것입니다. Windows OS를 사용하여 이미지에 대한 정의를 만들려면 --os-type Windows를 사용합니다.
az sig image-definition create \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--publisher myPublisher \
--offer myOffer \
--sku mySKU \
--os-type Linux \
--os-state specialized
참고 항목
타사 마켓플레이스 이미지에서 파생된 이미지를 포함할 이미지 정의의 경우 계획 정보는 타사 이미지의 계획 정보와 정확히 일치해야 합니다. 이미지 정의를 만들 때 --plan-name, --plan-product, --plan-publisher를 추가하여 이미지 정의에 플랜 정보를 포함합니다.
아래 예에서는 VM에서 이미지를 만들고 있습니다. 이미지 버전이 1.0.0이며, 영역 중복 스토리지를 사용하여 두 복제본을 미국 중서부 지역에, 하나의 복제본을 각각 미국 중남부 지역 및 미국 동부 2 지역에 만듭니다. 복제 지역에는 원본 VM이 있는 지역이 포함되어야 합니다.
동일한 관리형 이미지를 사용하여 다른 이미지 버전을 만들려면 먼저 해당 이미지 버전이 완전히 빌드되어 복제될 때까지 기다려야 합니다.
또한 이미지 버전을 만들 때 --storage-account-type premium_lrs를 추가하여 Premium Storage에 이미지를 저장하거나, --storage-account-type standard_zrs를 추가하여 영역 중복 스토리지에 이미지를 저장할 수도 있습니다.
이미지 정의는 이미지에 대한 논리적 그룹화를 만듭니다. 이미지 정의를 만들 때 모든 정보가 올바른지 확인합니다. 원본 VM을 일반화한 경우 -OsState generalized를 사용하여 이미지 정의를 만들어야 합니다. 원본을 일반화하지 않은 경우 -OsState specialized를 사용하여 이미지 정의를 만듭니다.
타사 이미지에서 파생된 이미지를 포함할 이미지 정의의 경우 계획 정보는 타사 이미지의 계획 정보와 정확히 일치해야 합니다. 이미지 정의를 만들 때 -PurchasePlanName, -PurchasePlanProduct, -PurchasePlanPublisher를 추가하여 이미지 정의에 플랜 정보를 포함합니다.
이미지를 모든 대상 지역에 복제하는 데는 다소 시간이 소요되므로 진행 상태를 추적할 수 있게 작업을 만들었습니다. 작업의 진행률을 보려면 $job.State를 입력합니다.
$job.State
참고 항목
동일한 관리형 이미지를 사용하여 다른 이미지 버전을 만들려면 먼저 해당 이미지 버전이 완전히 빌드되어 복제될 때까지 기다려야 합니다.
또한 이미지 버전을 만들 때 -StorageAccountType Premium_LRS를 추가하여 Premium Storage에 이미지를 저장하거나, -StorageAccountType Standard_ZRS를 추가하여 영역 중복 스토리지에 이미지를 저장할 수도 있습니다.
# Set some variables
tenantID="<tenant ID for the source image>"
subID="<subscription ID where the image will be creted>"
sourceImageID="<resource ID of the source image>"
# Login to the subscription where the new image will be created
az login
# Log in to the tenant where the source image is available
az login --tenant $tenantID
# Log back in to the subscription where the image will be created and ensure subscription context is set
az login
az account set --subscription $subID
# Create the image
az sig image-version create `
--gallery-image-definition myImageDef `
--gallery-image-version 1.0.0 `
--gallery-name myGallery `
--resource-group myResourceGroup `
--image-version $sourceImageID
--location myLocation
# Set variables
$targetSubID = "<subscription ID for the target>"
$sourceTenantID = "<tenant ID where for the source image>"
$sourceImageID = "<resource ID of the source image>"
# Login to the tenant where the source image is published
Connect-AzAccount -Tenant $sourceTenantID -UseDeviceAuthentication
# Login to the subscription where the new image will be created and set the context
Connect-AzAccount -UseDeviceAuthentication -Subscription $targetSubID
Set-AzContext -Subscription $targetSubID
# Create the image version from another image version in a different tenant
New-AzGalleryImageVersion `
-ResourceGroupName myResourceGroup -GalleryName myGallery `
-GalleryImageDefinitionName myImageDef `
-Location "West US 2" `
-Name 1.0.0 `
-SourceImageId $sourceImageID