일반화된 이미지 버전 VM 만들기

Azure Compute Gallery(이전의 공유 이미지 갤러리)에 저장된 일반화된 이미지 버전으로 VM을 만듭니다. 전문화된 이미지로 VM을 만들려면 전문화된 이미지에서 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

az vm create를 사용하여 VM을 만듭니다. 최신 버전의 이미지를 사용하려면 --image를 이미지 정의의 ID로 설정합니다.

아래 예는 SSH로 보호되는 Linux VM을 만들기 위한 예제입니다. Windows의 경우 또는 암호로 Linux VM을 보호하려면 암호를 입력하라는 메시지가 표시되도록 --generate-ssh-keys를 제거합니다. 암호를 직접 제공하려는 경우 --generate-ssh-keys--admin-password로 바꿉니다. 이 예제에서 필요에 따라 리소스 이름을 바꿉니다.

imgDef="/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup=myResourceGroup
location=eastus
vmName=myVM
adminUsername=azureuser

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

--image 매개 변수에 대한 이미지 버전 ID를 사용하여 특정 버전을 사용할 수도 있습니다. 예를 들어 이미지 버전 1.0.0 형식을 사용하려면 --image "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0"을 입력합니다.

RBAC - 조직 내에서 공유됨

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

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

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

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

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

RBAC - 다른 테넌트에서 공유됨

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

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

이 예제에서는 일반화된 이미지에서 VM을 만드는 방법을 보여 드립니다. 특수화된 이미지를 사용하려면 특수화된 이미지 버전을 사용하여 VM 만들기를 참조하세요.

이미지가 저장된 테넌트에서 로그인하고 액세스 토큰을 가져와서 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
az login --tenant $tenant1
az account get-access-token

VM을 만듭니다. 예시로 사용된 정보를 사용자의 정보로 바꿉니다. VM을 만들기 전에 VM을 만들려는 지역에 이미지가 복제되었는지 확인합니다.

imageid="<ID of the image that you want to use>"
resourcegroup="<name for the resource group>"
location="<location where the image is replicated>"
user='<username for the VM>'
name='<name for the VM>'

az group create --location $location --resource-group $resourcegroup
az vm create \
  --resource-group $resourcegroup \
  --name $name \
  --image $imageid \
  --admin-username $user \
  --generate-ssh-keys

Important

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

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

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

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

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

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

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

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

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

다음 지침에 따라 CLI를 사용하여 커뮤니티 이미지 목록을 가져옵니다.

Step 1:  Show all 'Community images' in a specific location
az sig list-community --location westus2

Step 2: Once you have the public gallery name from Step 1, Get the Image definition (Name) of the image by running the following command
az sig image-definition list-community --public-gallery-name <<public gallery name>> --location westus2

Step 3: Finally, run the following command to list different image versions available for the specific image
az sig image-version list-community --public-gallery-name <<galleryname>> --gallery-image-definition <<image name>> --location westus2

포털에서 커뮤니티 갤러리의 퍼블릭 이름을 가져오려면 다음을 수행합니다. 가상 머신>만들기>Azure 가상 머신>이미지>모든 이미지 보기>커뮤니티 이미지>공용 갤러리 이름으로 이동합니다.

이 예제에서는 Linux 이미지에서 VM을 만들고 인증을 위한 SSH 키를 만듭니다.

imgDef="/CommunityGalleries/ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/myLinuxImage/Versions/latest"
vmResourceGroup=myResourceGroup
location=eastus
vmName=myVM
adminUsername=azureuser

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

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

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

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

최신 버전을 --image에 대한 값으로 사용하여 VM을 만들려면 /Versions/latest가 추가된 출력의 Id를 사용합니다. 다음 예제에서는 직접 공유되는 Linux 이미지에서 VM을 만들고 인증을 위한 SSH 키를 만듭니다.

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

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

다음 단계