Создание виртуальной машины на основе универсального образа

Создайте виртуальную машину из универсальной версии образа, хранящейся в Коллекции вычислений Azure (ранее известная как Общая коллекция образов). Сведения о том, как создать виртуальную машину на основе специализированного образа, см. здесь.

В этой статье показано, как создать виртуальную машину из обобщенного изображения:

Укажите определения образов в коллекции, используя команду az sig image-definition list для просмотра имен и идентификаторов определений.

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

Создайте виртуальную машину, выполнив команду az vm create. Чтобы использовать последнюю версию образа, задайте значение --image в качестве идентификатора определения образа.

Этот пример предназначен для создания виртуальной машины Linux, защищенной с помощью SSH. Для Windows или для защиты виртуальной машины Linux с помощью пароля удалите --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 с идентификатором версии образа. Например, чтобы использовать образ версии 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 можно использовать для создания виртуальных машин с помощью интерфейса командной строки и PowerShell.

Вам потребуется образimageID, который вы хотите использовать, и необходимо убедиться, что он реплика в регионе, где требуется создать виртуальную машину.

Убедитесь, что состояние образа — Generalized. Если вы хотите использовать изображение с состоянием Specialized, см. раздел Создание ВМ из специальной версии изображения.

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 образ, который вы хотите использовать, и необходимо убедиться, что он реплика в регион, в котором требуется создать виртуальную машину. Кроме того, вам потребуется tenantID исходная коллекция и tenantID место для создания виртуальной машины.

В этом примере показано, как создать виртуальную машину из обобщенного образа. Если вы используете специализированный образ, см. статью "Создание виртуальной машины с помощью специализированной версии образа".

Необходимо войти в клиент, в котором хранится образ, получить маркер доступа, а затем войти в клиент, в котором требуется создать виртуальную машину. Вот как 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

Создайте виртуальную машину. Замените сведения в этом примере реальными данными. Перед созданием виртуальной машины убедитесь, что образ реплика в регионе, где требуется создать виртуальную машину.

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

Важно!

Корпорация Майкрософт не предоставляет поддержку образов из коллекции сообщества.

Создание отчетов о проблемах с изображением сообщества

Использование образов виртуальных машин, отправленных сообществом, имеет несколько рисков. Изображения могут содержать вредоносные программы, уязвимости безопасности или нарушать интеллектуальную собственность кого-то. Чтобы создать безопасный и надежный интерфейс для сообщества, вы можете сообщить о изображениях при появлении этих проблем.

Самый простой способ сообщить о проблемах с коллекцией сообщества — использовать портал, который будет предварительно заполнять сведения для отчета:

  • Для проблем с ссылками или другими сведениями в полях определения изображения выберите образ сообщества отчетов.
  • Если версия образа содержит вредоносный код или возникают другие проблемы с определенной версией образа, выберите отчет в столбце версии отчетав таблице версий образа.

Кроме того, можно использовать следующие ссылки на проблемы с отчетом, но формы не будут заполнены.

Чтобы создать виртуальную машину, используя образ, предоставленный для коллекции сообщества, используйте уникальный идентификатор образа для --image, который будет иметь следующий формат:

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

Следуйте приведенным ниже инструкциям, чтобы получить список образов сообщества с помощью ИНТЕРФЕЙСА командной строки:

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 и создадим ключи 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): 

Важно!

Коллекция вычислений Azure — это общая коллекция, которая в настоящее время работает в режиме предварительной версии и распространяется на условиях предварительной версии коллекции вычислений Azure.

Чтобы опубликовать образы в коллекции, к которой предоставлен прямой доступ, на этапе предварительной версии, необходимо зарегистрироваться на странице https://aka.ms/directsharedgallery-preview. Создавать виртуальные машины из коллекции, к которой предоставлен прямой доступ, могут все пользователи Azure.

На этапе предварительной версии необходимо создать коллекцию со свойством sharingProfile.permissions со значением Groups. При использовании CLI для создания коллекции воспользуйтесь параметром --permissions groups. Существующую коллекцию использовать нельзя; в настоящее время свойство обновить нельзя.

Чтобы создать виртуальную машину с использованием изображения, предоставленного вашей подписке или арендатору, вам потребуется уникальный идентификатор изображения в следующем формате:

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

Чтобы найти uniqueID коллекции, к которой вам предоставлен общий доступ, используйте az sig list-shared. В этом примере мы ищем коллекции в западном регионе США.

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

Используйте имя коллекции, чтобы найти доступные изображения. В этом примере мы отобразим список всех образов в западной части США, а также по имени, уникальный идентификатор, необходимый для создания виртуальной машины, операционную систему и состояние ОС.

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, см. раздел Создание ВМ из специальной версии изображения.

Id Используйте выходные данные, добавленные для /Versions/latest использования последней версии, в качестве значения для --image создания виртуальной машины. В этом примере мы создадим виртуальную машину из образа Linux, который напрямую предоставлен нам, и создадим ключи 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

Следующие шаги