특수 이미지 버전을 사용하여 VM 만들기

적용 대상: ✔️ Linux VM ✔️ Windows VM

Azure Compute Gallery(이전의 공유 이미지 갤러리)에 저장된 특수 이미지 버전에서 VM을 만듭니다. 일반화된 이미지 버전에서 VM을 만들려는 경우 일반화된 이미지 버전에서 VM 만들기를 참조하세요.

이 문서에서는 다음과 같은 특수화된 이미지에서 VM을 만드는 방법을 보여줍니다.

Important

특수 이미지를 사용하여 새 VM을 만드는 경우 새 VM은 원본 VM의 컴퓨터 이름을 그대로 유지합니다. CMID와 같은 기타 컴퓨터 관련 정보도 유지됩니다. 이 중복 정보는 문제를 일으킬 수 있습니다. VM을 복사할 때 애플리케이션이 어떤 유형의 컴퓨터 관련 정보에 의존하는지 알아야 합니다.

내부 갤러리에서 VM을 만듭니다.

az sig image-definition list를 사용하여 갤러리에서 이미지 정의를 나열하면 해당 이름과 정의의 ID를 볼 수 있습니다.

resourceGroup=myGalleryRG
gallery=myGallery
az sig image-definition list \
   --resource-group $resourceGroup \
   --gallery-name $gallery \
   --query "[].[name, id]" \
   --output tsv

이미지가 특수 이미지임을 나타내는 --specialized 매개 변수를 사용하는 az vm create를 사용하여 VM을 만듭니다.

이미지 정의 ID를 --image에 사용하여 사용 가능한 최신 버전의 이미지에서 VM을 만듭니다. 또한 --image에 대한 이미지 버전 ID를 제공하여 특정 버전에서 VM을 만들 수 있습니다.

다음 예제에서는 최신 버전의 myImageDefinition 이미지에서 VM을 만듭니다.

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
    --specialized

RBAC - 조직 내

갤러리가 있는 구독이 동일한 테넌트 내에 있는 경우 RBAC를 통해 공유되는 이미지를 사용하여 CLI 및 PowerShell을 사용하여 VM을 만들 수 있습니다.

사용하려는 이미지의 imageID가 필요하며 VM을 만들려는 지역에 이미지가 복제되었는지 확인합니다.


image="/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup='myResourceGroup'
location='westus'
vmName='myVM'

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $image \
   --specialized

다른 테넌트 또는 조직으로부터 RBAC

사용하려는 이미지가 동일한 테넌트(디렉터리)에 없는 갤러리에 저장된 경우 액세스 권한이 있는지 확인하려면 각 테넌트마다 로그인해야 합니다.

사용하려는 이미지의 imageID가 필요하며 VM을 만들려는 지역에 이미지가 복제되었는지 확인합니다. 또한 원본 갤러리에 대한 tenantID 및 VM을 만들려는 tenantID의 위치도 필요합니다.

이미지가 저장된 테넌트에서 로그인하고 액세스 토큰을 가져와서 VM을 만들 테넌트에서 로그인해야 합니다. Azure에서 이미지에 대한 액세스 권한이 있음을 인증하는 방법입니다.

tenant1='<ID for tenant 1>'
tenant2='<ID for tenant 2>'

az account clear
az login --tenant $tenant1
az account get-access-token 
az login --tenant $tenant2
az account get-access-token

이미지가 특수 이미지임을 나타내는 --specialized 매개 변수를 사용하는 az vm create를 사용하여 VM을 만듭니다.


imageid=""/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition""
resourcegroup="myResourceGroup"
location="West US 3"
name='myVM'

az group create --name $resourcegroup --location $location
az vm create --resource-group $resourcegroup \
    --name $name \
    --image $image \
    --specialized

Important

Microsoft는 커뮤니티 갤러리의 이미지를 지원하지 않습니다.

커뮤니티 이미지 관련 문제 보고

커뮤니티에서 제출한 가상 머신 이미지를 사용하는 경우 몇 가지 위험이 있습니다. 이미지에는 맬웨어, 보안 취약성이 포함되어 있거나 다른 사람의 지적 재산권을 침해할 수 있습니다. 커뮤니티에 대한 안전하고 신뢰할 수 있는 환경을 만들기 위해 이러한 문제가 표시되면 이미지를 보고할 수 있습니다.

커뮤니티 갤러리에서 문제를 보고하는 가장 쉬운 방법은 포털을 사용하여 보고서에 대한 정보를 미리 채우는 것입니다.

  • 이미지 정의 필드의 링크 또는 기타 정보에 문제가 있는 경우 커뮤니티 이미지 보고를 선택합니다.
  • 이미지 버전에 악성 코드가 포함되어 있거나 특정 버전의 이미지에 다른 문제가 있는 경우 이미지 버전 테이블의 보고 버전 열 아래에서 보고를 선택합니다.

다음 링크를 사용하여 문제를 보고할 수도 있지만 양식은 미리 채워지지 않습니다.

  • 악성 이미지를 보고하려면 남용 보고에 문의하세요.
  • 지적 재산권 침해: 침해 신고에 문의하세요.

커뮤니티 갤러리에 공유된 이미지를 사용하여 VM을 만들려면 다음 형식이 될 --image에 대한 이미지의 고유 ID를 사용합니다.

/CommunityGalleries/<community gallery name, like: ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/<image name>/Versions/latest

최종 사용자로서 커뮤니티 갤러리의 공용 이름을 가져오려면 포털을 사용해야 합니다. 가상 머신>만들기>Azure 가상 머신>이미지>모든 이미지 보기>커뮤니티 이미지>공용 갤러리 이름으로 이동합니다.

az sig image-definition list-community를 사용하여 커뮤니티 갤러리에서 사용할 수 있는 모든 이미지 정의를 나열합니다. 이 예제에서는 미국 서부ContosoImage 갤러리에 있는 모든 이미지와 VM, OS 및 OS 상태를 만드는 데 필요한 고유 ID를 이름별로 나열합니다.

 az sig image-definition list-community \
   --public-gallery-name "ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f" \
   --location westus \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

커뮤니티 갤러리의 일반화된 이미지에서 VM을 만들려면 일반화된 이미지 버전에서 VM 만들기를 참조하세요.

이미지가 특수 이미지임을 나타내는 --specialized 매개 변수를 사용하는 az vm create를 사용하여 VM을 만듭니다.

다음 예제에서는 최신 버전의 myImageDefinition 이미지에서 VM을 만듭니다.

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/CommunityGalleries/ContosoImages-f61bb1d9-3c5a-4ad2-99b5-744030225de6/Images/LinuxSpecializedVersions/latest" \
    --specialized

커뮤니티 이미지를 사용할 때 법적 약관에 동의하라는 메시지가 표시됩니다. 메시지는 다음과 같습니다.

To create the VM from community gallery image, you must accept the license agreement and privacy statement: http://contoso.com. (If you want to accept the legal terms by default, please use the option '--accept-term' when creating VM/VMSS) (Y/n): 

Important

Azure Compute Gallery – 직접 공유 갤러리는 현재 미리 보기에 있으며 Azure Compute Gallery에 대한 미리 보기 사용 약관이 적용됩니다.

미리 보기 중에 이미지를 직접 공유 갤러리에 게시하려면 https://aka.ms/directsharedgallery-preview에서 등록해야 합니다. 직접 공유 갤러리에서 VM을 만드는 것은 모든 Azure 사용자에게 공개되어 있습니다.

미리 보기 중에 sharingProfile.permissions 속성이 Groups로 설정된 새 갤러리를 만들어야 합니다. CLI를 사용하여 갤러리를 만드는 경우 --permissions groups 매개 변수를 사용합니다. 기존 갤러리를 사용할 수 없으며 현재 속성을 업데이트할 수 없습니다.

구독 또는 테넌트에 공유된 최신 버전의 이미지를 사용하여 VM을 만들려면 다음 형식의 이미지 ID가 필요합니다.

/SharedGalleries/<uniqueID>/Images/<image name>/Versions/latest

공유되는 갤러리의 uniqueID를 찾으려면 az sig list-shared를 사용합니다. 다음 예제에서는 미국 서부 지역의 갤러리를 찾고 있습니다.

region=westus
az sig list-shared --location $region --query "[].name" -o tsv

갤러리 이름을 사용하여 사용 가능한 모든 이미지를 찾습니다. 다음 예제에서는 미국 서부의 모든 이미지와 VM, OS 및 OS 상태를 만드는 데 필요한 고유 ID를 이름별로 나열합니다.

galleryName="1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-myDirectShared"
 az sig image-definition list-shared \
   --gallery-unique-name $galleryName \
   --location $region \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

이미지의 상태가 Specialized인지 확인합니다. Generalized 상태의 이미지를 사용하려면 일반화된 이미지 버전에서 VM 만들기를 참조하세요.

이미지가 특수 이미지임을 나타내는 --specialized 매개 변수를 사용하는 az vm create를 사용하여 VM을 만듭니다.

최신 버전을 '--image'에 대한 값으로 사용하여 VM을 만들려면 /Versions/latest가 추가된 Id를 사용합니다.

다음 예제에서는 최신 버전의 myImageDefinition 이미지에서 VM을 만듭니다.

imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --specialized

다음 단계