다음을 통해 공유


일반화된 이미지 버전 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을 만들 테넌트에서 로그인해야 합니다. 이 경우 tenant1은 이미지가 저장되는 위치이며 tenant2는 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

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

다음 단계