Azure 컴퓨팅 갤러리는 조직 전체에서 사용자 지정 이미지 공유를 간소화합니다. 사용자 지정 이미지는 Marketplace 이미지와 같지만 직접 만듭니다. VM, VHD, 스냅샷, 관리되는 이미지 또는 다른 이미지 버전에서 이미지를 만들 수 있습니다.
Azure Compute 갤러리를 사용하면 조직 내 또는 지역 간, Microsoft Entra 테넌트 내에서 또는 공개적으로 community 갤러리 사용하여 조직의 다른 사용자와 사용자 지정 VM 이미지를 공유할 수 있습니다. 공유할 이미지, 이미지를 제공할 지역, 이미지를 공유할 사람을 선택하세요. 이미지를 논리적으로 그룹화할 수 있도록 여러 갤러리를 만들 수 있습니다. ARM64, 가속 네트워킹 및 TrustedVM과 같은 많은 새로운 기능은 Azure 컴퓨팅 갤러리를 통해서만 지원되며 관리되는 이미지에는 사용할 수 없습니다.
Azure 컴퓨팅 갤러리 기능에는 여러 리소스 종류가 있습니다.
| 리소스 |
설명 |
|
이미지 원본 |
이는 갤러리에서 이미지 버전을 만드는 데 사용할 수 있는 리소스입니다. 이미지 소스는 기존의 일반화되거나 전문화된 Azure VM, 관리형 이미지, 스냅샷, 또는 다른 갤러리의 이미지 버전일 수 있습니다. |
|
갤러리 |
Azure Marketplace 마찬가지로 gallery는 이미지 관리 및 공유 및 VM 애플리케이션을 위한 리포지토리이지만 액세스 권한이 있는 사용자를 제어합니다. |
|
이미지 정의 |
이미지 정의는 갤러리 내에 생성되고, 내부적으로 사용하기 위해 충족해야 할 요구 사항과 이미지에 대한 정보를 전달합니다. 여기에는 이미지가 Windows 또는 Linux인지 여부, 릴리스 정보, 최소 및 최대 메모리 요구 사항이 포함됩니다. 이미지의 형식 정의입니다. |
|
이미지 버전 |
이미지 버전은 갤러리를 사용하는 경우 VM을 만들 때 사용합니다. 사용 환경에 필요한 만큼 여러 버전의 이미지를 가질 수 있습니다. 관리되는 이미지와 마찬가지로 이미지 버전을 사용하여 VM을 만들 때는 이미지 버전을 사용하여 VM의 새 디스크를 만듭니다. 이미지 버전은 여러 번 사용할 수 있습니다. |
사전 요구 사항
이 문서를 완료하려면 기존 Azure Compute 갤러리와 Azure 사용할 수 있는 이미지 원본이 있어야 합니다. 이미지 원본은 다음과 같습니다.
- 귀하의 구독에 있는 VM.
특수 및 일반 VM 모두에서 이미지를 캡처할 수 있습니다.
- 관리되는 이미지,
- 관리되는 OS 및 데이터 디스크.
- 스토리지 계정에 있는 VHD 형식의 OS 및 데이터 디스크.
- 동일한 갤러리 또는 동일한 구독의 다른 갤러리에 있는 다른 이미지 버전.
이미지에 데이터 디스크가 포함될 경우 데이터 디스크 크기는 1TB를 초과할 수 없습니다.
이미지 정의 이름은 대문자 또는 소문자, 숫자, 점, 대시 및 마침표로 구성될 수 있습니다. 이미지 정의에 대해 지정할 수 있는 값에 대한 자세한 내용은 이미지 정의를 참조하세요.
이미지 버전에 허용되는 문자는 숫자와 마침표입니다. 숫자는 32비트 정수 범위 내에 포함되어야 합니다. 형식: MajorVersion.MinorVersion.Patch.
이 문서를 진행하며 필요한 경우 리소스 이름을 바꿉니다.
일반화된 이미지의 경우 이미지를 캡처하기 전에 OS별 지침을 참조하세요.
커뮤니티 갤러리를 사용하여 이미지를 공유하는 경우 동일한 지역에서 갤러리, 이미지 정의 및 이미지 버전을 만들어야 합니다.
사용자가 커뮤니티 갤러리 이미지를 검색하면 최신 버전의 이미지만 표시됩니다.
중요
게시, 제안 및 SKU에 제공한 정보와 같은 이미지 정의의 정보는 공개적으로 사용 가능합니다.
이미지 만들기
이미지 정의 및 이미지 버전을 만들려면 아래 옵션을 선택합니다.
포털의 VM에서 이미지를 만들려면 VM 이미지 캡처를 참조하세요.
VM이 아닌 원본을 사용하여 이미지를 만들려면 다음 단계를 따릅니다.
Azure 포털 이동한 다음, Azure 컴퓨팅 갤러리 검색하여 선택합니다.
목록에서 사용하려는 갤러리를 선택합니다.
갤러리 페이지의 페이지 상단에서 추가를 선택한 다음 드롭다운에서 VM 이미지 정의를 선택합니다.
컴퓨팅 갤러리에 Azure 새 이미지 정의 추가 페이지의 Basics 탭에서 Region 선택합니다.
이미지 정의 이름에 myImageDefinition과 같은 이름을 입력합니다.
운영 체제에서 원본에 따라 올바른 옵션을 선택합니다.
VM 생성의 경우 원본에 따라 옵션을 선택합니다. 대부분의 경우에는 1세대를 선택하면 됩니다. 자세한 내용은 Gen2 VM에 대한 지원을 참조하세요.
운영 체제 상태에서 원본에 따라 옵션을 선택합니다. 자세한 내용은 일반화 및 특수화를 참조하세요.
PublishermyPublisher 같은 고유한 이름을 입력합니다.
오퍼에 myOffer와 같은 고유한 이름을 입력하세요.
SKU에 mySKU와 같은 고유한 이름을 입력합니다.
페이지의 아래쪽에서 검토 + 생성를 선택합니다.
이미지 정의가 유효성 검사를 통과한 후 만들기를 선택합니다.
배포가 완료되면 리소스로 이동을 선택합니다.
이미지 정의 페이지의 시작 탭에서 버전 만들기를 선택합니다.
지역에서 이미지를 만들 지역을 선택합니다. 어떤 경우에는 원본이 이미지가 만들어진 동일한 영역에 있어야 합니다. 나중에 드롭다운 목록에 원본이 표시되지 않으면 이미지의 지역을 변경해 보세요. 나중에 언제든지 이미지를 다른 지역에 복제할 수 있습니다.
버전 번호에 대해 1.0.0과 같은 번호를 입력합니다. 이미지 버전 이름은 정수로 구성된 주.부.패치 형식을 따라야 합니다.
원본의 드롭다운에서 원본에 사용 중인 파일 형식을 선택합니다. 각 원본 유형에 대한 구체적인 정보는 아래 표를 참조하세요.
| 원본 |
기타 필드 |
| 디스크 또는 스냅샷 |
- OS 디스크에 대해 드롭다운에서 디스크 또는 스냅샷을 선택합니다. - 데이터 디스크를 추가하려면 LUN 번호를 입력한 다음, 드롭다운에서 데이터 디스크를 선택합니다. |
| 이미지 버전 |
- 드롭다운에서 원본 갤러리를 선택합니다. - 드롭다운에서 올바른 이미지 정의를 선택합니다. - 드롭다운에서 사용하려는 기존 이미지 버전을 선택합니다. |
| 관리형 이미지 |
드롭다운에서 원본 이미지를 선택합니다. 관리형 이미지는 인스턴스 세부 정보에서 선택한 것과 동일한 지역에 있어야 합니다. |
| 스토리지 계정의 VHD |
찾아보기를 선택하여 VHD에 대한 스토리지 계정을 선택합니다. |
최신 항목에서 제외의 기본값 아니오를 그대로 두십시오, 단 버전 번호 대신 latest를 사용하여 VM을 만들 때 이 버전을 사용하고 싶지 않을 경우를 제외합니다.
수명 종료 날짜의 경우 달력에서 이 버전의 사용이 중단되어야 하는 날짜를 선택합니다.
복제 탭의 드롭다운에서 스토리지 유형을 선택합니다.
기본 복제본 수를 설정합니다. 추가하는 각 지역에 대해 이를 재정의할 수 있습니다.
원본 지역에 복제해야 하므로 목록의 첫 번째 복제본이 이미지를 만든 지역에 있게 됩니다. 드롭다운에서 영역을 선택하고 필요에 따라 복제본 수를 조정하여 복제본을 더 추가할 수 있습니다.
완료되면 검토 + 만들기를 선택합니다. Azure 구성의 유효성을 검사합니다.
이미지 버전이 유효성 검사를 통과하면 만들기를 선택합니다.
배포가 완료되면 리소스로 이동을 선택합니다.
이미지를 모든 대상 영역에 복제하는 데 시간이 걸릴 수 있습니다.
포털에서 기존 VM을 이미지로 캡처할 수도 있습니다. 자세한 내용은 포털에서 VM 이미지 만들기를 참조하세요.
Azure CLI 사용하여 이미지를 만들려면 먼저 이미지 정의를 만들어야 합니다. 이미지 정의는 이미지에 대한 논리적 그룹화를 만듭니다. 내부에서 생성된 이미지 버전에 대한 정보를 관리하는 데 사용됩니다.
az sig image-definition create를 사용하여 갤러리에서 이미지 정의를 만듭니다. 이미지 정의가 올바른 형식인지 확인합니다. VM이 일반화된 경우(리눅스의 경우 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를 추가하여 이미지 정의에 플랜 정보를 포함합니다.
이미지 버전 만들기
az sig image version create를 사용하여 이미지 버전을 만듭니다.
이미지 만들기 구문은 원본으로 사용하는 항목에 따라 변경됩니다. OS 원본이 하나만 있는 한 원본 형식을 혼합할 수 있습니다. 각 데이터 디스크에 대해 다른 원본을 가질 수도 있습니다.
| 원본 |
매개 변수 집합 |
|
OS 디스크: |
|
| VM ID로 식별된 VM |
--managed-image <Resource ID of the VM> |
| 관리되는 이미지 또는 다른 이미지 버전 |
--managed-image <Resource ID of the managed image or image version |
| 스냅샷 또는 관리 디스크 |
--os-snapshot <Resource ID of the snapshot or managed disk> |
| 스토리지 계정의 VHD |
--os-vhd-uri <URI> --os-vhd-storage-account <storage account name>; |
|
데이터 디스크: |
|
| 스냅샷 또는 관리 디스크 |
--data-snapshots <Resource ID of the snapshot or managed disk> --data-snapshot-luns <LUN number> |
| 스토리지 계정의 VHD |
--data-vhds-sa <storageaccountname> --data-vhds-uris <URI> --data-vhds-luns <LUN number> |
이미지에 대해 다른 원본을 지정하는 방법에 대한 자세한 예는 az sig image-version create examples를 참조하세요.
아래 예에서는 VM에서 이미지를 만들고 있습니다. 이미지 버전이 1.0.0이며, 영역 중복 스토리지를 사용하여 두 복제본을 미국 중서부 지역에, 하나의 복제본을 각각 미국 중남부 지역 및 미국 동부 2 지역에 만듭니다. 복제 지역에는 원본 VM이 있는 지역이 포함되어야 합니다.
이미지를 만들기 전에 VM을 중지/할당 해제하는 것이 가장 좋습니다.
이 예에서 --virtual-machine 값을 VM의 ID로 바꿉니다.
az sig image-version create \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--gallery-image-version 1.0.0 \
--target-regions "westcentralus" "southcentralus=1" "eastus=1=standard_zrs" \
--replica-count 2 \
--virtual-machine "/subscriptions/<Subscription ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
참고 사항
동일한 관리형 이미지를 사용하여 다른 이미지 버전을 만들려면 먼저 해당 이미지 버전이 완전히 빌드되어 복제될 때까지 기다려야 합니다.
또한 이미지 버전을 만들 때 --storage-account-type premium_lrs를 추가하여 프리미엄 저장소에 이미지를 저장하거나, --storage-account-type standard_zrs를 추가하여 영역 중복 저장소에 이미지를 저장할 수도 있습니다.
PowerShell을 사용하여 이미지를 만들려면 먼저 이미지 정의를 만들어야 합니다. 이미지 정의는 이미지에 대한 논리적 그룹화를 만듭니다. 이미지 정의를 만들 때 모든 정보가 올바른지 확인합니다. 원본 VM을 일반화한 경우 -OsState generalized를 사용하여 이미지 정의를 만들어야 합니다. 원본을 일반화하지 않은 경우 -OsState specialized를 사용하여 이미지 정의를 만듭니다.
이미지 정의에 대해 지정할 수 있는 값에 대한 자세한 내용은 이미지 정의를 참조하세요.
New-AzGalleryImageDefinition을 사용하여 이미지 정의를 만듭니다.
이 예제에서 이미지 정의의 이름은 myImageDefinition이며 Windows 실행하는 특수 VM용입니다. Linux를 사용하여 이미지에 대한 정의를 만들려면 -OsType Linux를 사용합니다.
$imageDefinition = New-AzGalleryImageDefinition `
-GalleryName $gallery.Name `
-ResourceGroupName $gallery.ResourceGroupName `
-Location $gallery.Location `
-Name 'myImageDefinition' `
-OsState specialized `
-OsType Windows `
-Publisher 'myPublisher' `
-Offer 'myOffer' `
-Sku 'mySKU'
참고 사항
타사 이미지에서 파생된 이미지를 포함할 이미지 정의의 경우 계획 정보는 타사 이미지의 계획 정보와 정확히 일치해야 합니다. 이미지 정의를 만들 때 -PurchasePlanName, -PurchasePlanProduct, -PurchasePlanPublisher를 추가하여 이미지 정의에 플랜 정보를 포함합니다.
이미지 버전 만들기
New-AzGalleryImageVersion을 사용하여 이미지 버전을 만듭니다.
이미지 만들기 구문은 원본으로 사용하는 항목에 따라 변경됩니다.
| 원본 |
매개 변수 집합 |
|
OS 디스크 |
|
| VM ID로 식별된 VM |
-SourceImageId <Resource ID of the VM> |
| 관리되는 이미지 또는 다른 이미지 버전 |
-SourceImageId <Resource ID of the managed image or image version |
| 스냅샷 또는 관리 디스크 |
-OSDiskImage <Resource ID of the snapshot or managed disk> |
|
데이터 디스크 |
|
| 스냅샷 또는 관리 디스크 |
-DataDiskImage @{Source = @{Id=<source_id>}; Lun=<LUN>; SizeInGB = <Size in GB>; HostCaching = <Caching> } |
아래 예에서는 VM에서 이미지 버전을 만들고 있습니다.
Stop-AzVM을 사용하여 이미지를 만들기 전에 VM을 중지/할당 취소하는 것이 좋습니다.
이 예제에서 이미지 버전은 1.0.0이며, 미국 중서부 및 미국 중남부 데이터 센터 둘 다에 복제됩니다. 복제를 위해 대상 지역을 선택할 때 '원본' 지역을 복제 대상으로 포함해야 한다는 점을 주의합니다.
$region1 = @{Name='South Central US';ReplicaCount=1}
$region2 = @{Name='East US';ReplicaCount=2}
$targetRegions = @($region1,$region2)
$job = $imageVersion = New-AzGalleryImageVersion `
-GalleryImageDefinitionName $imageDefinition.Name`
-GalleryImageVersionName '1.0.0' `
-GalleryName $gallery.Name `
-ResourceGroupName $gallery.ResourceGroupName `
-Location $gallery.Location `
-TargetRegion $targetRegions `
-SourceImageId $sourceVm.Id.ToString() `
-PublishingProfileEndOfLifeDate '2020-12-01' `
-asJob
이미지를 모든 대상 지역에 복제하는 데는 다소 시간이 소요되므로 진행 상태를 추적할 수 있게 작업을 만들었습니다. 작업의 진행률을 보려면 $job.State를 입력합니다.
$job.State
참고 사항
동일한 관리형 이미지를 사용하여 다른 이미지 버전을 만들려면 먼저 해당 이미지 버전이 완전히 빌드되어 복제될 때까지 기다려야 합니다.
또한 이미지 버전을 만들 때 -StorageAccountType Premium_LRS를 추가하여 Premium Storage에 이미지를 저장하거나, Zone Redundant Storage를 추가하여 -StorageAccountType Standard_ZRS에 이미지를 저장할 수도 있습니다.
REST API를 사용하여 이미지 정의 만들기
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryDefinitionName}?api-version=2019-12-01
{
"location": "eastus",
"properties": {
"hyperVGeneration": "V1",
"identifier": {
"offer": "myOffer",
"publisher": "myPublisher",
"sku": "mySKU"
},
"osState": "Specialized",
"osType": "Linux",
},
}
REST API를 사용하여 이미지 버전을 만듭니다. 이 예에서는 VM에서 이미지 버전을 만듭니다. 다른 원본을 사용하려면 원본의 리소스 ID를 전달합니다(예: OS 디스크 스냅샷의 ID 전달).
# @name imageVersion
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryDefinitionName}/versions/{galleryImageVersionName}?api-version=2019-12-01
{
"location": "{region}",
"properties": {
"publishingProfile": {
"endOfLifeDate": "2024-12-02T00:00:00+00:00",
"replicaCount": 1,
"storageAccountType": "Standard_ZRS",
"targetRegions": [
{
"name": "eastus",
"regionalReplicaCount": 2,
"storageAccountType": "Standard_LRS",
},
{
"name": "westus2",
}
]
},
"storageProfile": {
"source": {
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
}
}
}
}
다른 테넌트에서 원본 이미지 버전을 사용하여 한 테넌트에 이미지 버전 만들기
원본 이미지 버전이 있는 구독에서 사용자에게 판독기 권한을 부여합니다. 사용자에게 원본 이미지 버전에 대한 판독기 권한이 있으면 두 계정(원본 및 대상)에 로그인합니다.
원본 이미지 버전의 tenantID, 새로운 이미지 버전이 저장될 구독을 위한 subscriptionID, 그리고 원본 이미지 버전의 resourceID가 필요합니다. 대상 갤러리 이미지 정의는 이미지 버전을 az sig image-version create 만들거나 New-AzGalleryImageVersion.를 사용하여 만들기 전에 이미 있어야 합니다. 또한 원본 이미지 버전의 지역 또는 복제본 및 대상 지역이 동일한지 확인합니다.
Azure CLI 사용하여 다른 테넌트에서 원본 이미지 버전을 사용하여 한 테넌트에서 이미지 버전을 만듭니다.
# Set some variables
tenantID="<tenant ID for the source image version>"
subID="<subscription ID where the image version will be created>"
sourceImageVersionID="<resource ID of the source image version>"
# Sign in to the subscription where the new image version will be created
az login
# Sign in to the tenant where the source image version is available
az login --tenant $tenantID
# Sign back in to the subscription where the image version will be created and ensure subscription context is set
az login
az account set --subscription $subID
# Create the image version from the source image version
az sig image-version create \
--gallery-image-definition myImageDef \
--gallery-image-version 1.0.0 \
--gallery-name myGallery \
--resource-group myResourceGroup \
--image-version $sourceImageVersionID \
--location myLocation
PowerShell을 사용하여 다른 테넌트에서 원본 이미지 버전을 사용하여 한 테넌트에 이미지 버전을 만듭니다.
# Set variables
$targetSubID = "<subscription ID for the target>"
$sourceTenantID = "<tenant ID for the source image version>"
$sourceImageVersionID = "<resource ID of the source image version>"
# Sign in to the tenant where the source image version is published
Connect-AzAccount -Tenant $sourceTenantID -UseDeviceAuthentication
# Sign in to the subscription where the new image version will be created and set the context
Connect-AzAccount -UseDeviceAuthentication -Subscription $targetSubID
Set-AzContext -Subscription $targetSubID
# Create the image version from the source image version in a different tenant
New-AzGalleryImageVersion -ResourceGroupName myResourceGroup -GalleryName myGallery -GalleryImageDefinitionName myImageDef -Location "West US 2" -Name 1.0.0 -SourceImageId $sourceImageVersionID
다음 단계
구매 계획 정보를 제공하는 방법에 대한 자세한 내용은 이미지 생성 시 Azure Marketplace 구매 계획 정보를 제공하기를 참조하세요.