При создании новой виртуальной машины из специализированного образа новая виртуальная машина сохраняет имя исходной. Также сохраняются другие сведения, относящиеся к компьютеру, например CMID. Эта повторяющаяся информация может вызвать проблемы. При копировании виртуальной машины следует учитывать, какие типы сведений о компьютере используют приложения.
Создание виртуальной машины из коллекции
Создайте виртуальную машину из внутренней коллекции.
Укажите определения образов в коллекции, используя команду 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, добавив к ней параметр --specialized, чтобы указать, что образ является специализированным.
Используйте идентификатор определения образа в качестве значения параметра --image, чтобы создать виртуальную машину на основе последней доступной версии образа. Вы также можете создать виртуальную машину на основе определенной версии, указав идентификатор версии образа в параметре --image.
В нашем примере виртуальная машина создается на основе последней версии образа myImageDefinition.
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
Получив специализированную версию образа, вы можете создать одну или несколько новых виртуальных машин с помощью командлета New-AzVM.
В этом примере мы применяем идентификатор определения образа, чтобы новая виртуальная машина использовала самую последнюю версию образа. Вы также можете использовать определенную версию, добавив параметр Set-AzVMSourceImage -Id с идентификатором версии образа. Например, чтобы использовать образ версии 1.0.0, введите Set-AzVMSourceImage -Id "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0".
Использование определенной версии образа означает, что автоматизация может завершиться сбоем, если эта конкретная версия образа недоступна, так как она была удалена или удалена из региона. Для создания новой виртуальной машины рекомендуется использовать идентификатор определения образа, если только не требуется определенная версия образа.
При необходимости замените имена ресурсов в этом примере.
# Create some variables for the new VM.
$resourceGroup = "mySIGSpecializedRG"
$location = "South Central US"
$vmName = "mySpecializedVM"
# Get the image. Replace the name of your resource group, gallery, and image definition. This will create the VM from the latest image version available.
$imageDefinition = Get-AzGalleryImageDefinition `
-GalleryName myGallery `
-ResourceGroupName myResourceGroup `
-Name myImageDefinition
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $imageDefinition.Id | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Теперь можно создать одну или несколько новых виртуальных машин. В этом примере создается виртуальная машина myVM в группе ресурсов myResourceGroup в регионе Восточная часть США.
Перейдите к определению образа. С помощью фильтра ресурсов можно отобразить все доступные определения изображений.
На странице определения образа выберите Создать виртуальную машину в меню в верхней части страницы.
В поле Группа ресурсов установите флажок Создать и введите в качестве имени myResourceGroup.
В качестве имени виртуальной машины введите myVM.
В поле Страна или регион выберите Восточная часть США.
В поле Параметры доступности оставьте для параметра Избыточность инфраструктуры не требуется значение по умолчанию.
В поле Образ автоматически указывается версия образа latest, если вы начали со страницы определения образа.
В поле Размер выберите размер виртуальной машины в списке доступных размеров и нажмите кнопку Выбрать.
В разделе Учетная запись администратора имя пользователя неактивно, так как используются имя пользователя и учетные данные исходной виртуальной машины.
Чтобы разрешить удаленный доступ к виртуальной машине, в разделе Общедоступные входящие порты выберите Разрешить выбранные порты, а затем в раскрывающемся списке выберите SSH (22) или RDP (3389). Если вы не хотите разрешать удаленный доступ к виртуальной машине, оставьте выбранным значение Нет в поле Общедоступные входящие порты.
По завершении настройки нажмите кнопку Просмотр и создание в нижней части страницы.
После того как виртуальная машина пройдет проверку, выберите Создать в нижней части страницы, чтобы начать развертывание.
RBAC — в вашей организации
Если подписка, в которой находится коллекция, находится в том же клиенте, образы, к которым предоставлен общий доступ через RBAC, можно использовать для создания виртуальных машин с помощью CLI и PowerShell.
Вам потребуется imageID образ, который вы хотите использовать, и убедитесь, что образ реплицирован в регион, в котором вы хотите создать виртуальную машину.
Если образ, который вы хотите использовать, хранится в коллекции, которая не находится в том же клиенте (каталоге), необходимо войти в каждый клиент, чтобы убедиться, что у вас есть доступ.
Вам потребуется 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 vm create, добавив к ней параметр --specialized, чтобы указать, что образ является специализированным.
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
Необходимо войти в клиент, в котором хранится образ, получить маркер доступа, а затем войти в клиент, в котором вы хотите создать виртуальную машину. Таким образом Azure проверяет подлинность, что у вас есть доступ к образу.
Создайте виртуальную машину. Замените сведения в этом примере реальными данными. Перед созданием виртуальной машины убедитесь, что образ реплицирован в регион, в котором вы хотите создать виртуальную машину.
# Create some variables for the new VM.
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "myVM"
# Set a variable for the image version in Tenant 1 using the full image ID of the image version
$image = "/subscriptions/<Tenant 1 subscription>/resourceGroups/<Resource group>/providers/Microsoft.Compute/galleries/<Gallery>/images/<Image definition>/versions/<version>"
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $image | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Коллекция сообщества
Важно!
Корпорация Майкрософт не предоставляет поддержку образов из коллекции сообщества.
Сообщение о проблемах с изображением сообщества
Использование образов виртуальных машин, отправленных сообществом, имеет несколько рисков. Образы могут содержать вредоносные программы, уязвимости системы безопасности или нарушать интеллектуальную собственность пользователя. Чтобы создать безопасный и надежный интерфейс для сообщества, вы можете сообщать об изображениях, когда вы видите эти проблемы.
Самый простой способ сообщить о проблемах с коллекцией сообщества — использовать портал, который предварительно заполняет сведения для отчета:
При проблемах со ссылками или другими сведениями в полях определения образа выберите Создать отчет об образе сообщества.
Если версия образа содержит вредоносный код или есть другие проблемы с определенной версией образа, выберите Отчет в столбце Версия отчета в таблице версий образов.
Вы также можете использовать следующие ссылки, чтобы сообщить о проблемах, но формы не будут предварительно заполнены:
Чтобы создать виртуальную машину, используя образ, предоставленный для коллекции сообщества, используйте уникальный идентификатор образа для --image, который будет иметь следующий формат:
Чтобы получить общедоступное имя коллекции сообщества, конечный пользователь должен использовать портал. Выберите Виртуальные машины>Создать>Виртуальная машина Azure>Образ>Просмотреть все образы>Образы сообщества>Имя общедоступной коллекции.
Чтобы отобразить список всех определений образов, доступных в коллекции сообщества, выполните команду az sig image-definition list-community. В этом примере мы отобразим список всех образов в коллекции ContosoImage в западной части США, а также по имени, уникальный идентификатор, необходимый для создания виртуальной машины, операционную систему и состояние ОС.
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
Создайте виртуальную машину с помощью команды az vm create, добавив к ней параметр --specialized, чтобы указать, что образ является специализированным.
В нашем примере виртуальная машина создается на основе последней версии образа myImageDefinition.
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):
В поле поиска введите виртуальные машины.
В разделе Службы выберите Виртуальные машины.
На странице Виртуальные машины выберите Создать и щелкните Виртуальная машина. Откроется страница Создание виртуальной машины.
На вкладке Основные сведения в разделе Сведения о проекте убедитесь, что выбрана правильная подписка, а затем выберите Создать группу ресурсов или выберите группу в раскрывающемся списке.
В разделе Сведения об экземпляре укажите имя в поле Имя виртуальной машины.
Для параметра Тип безопасности необходимо выбрать параметр Стандартный.
Для образа выберите Просмотреть все образы. Откроется страница Выбор образа.
В меню слева в разделе Другие элементы выберите Образы сообщества. Другие элементы | Откроется страница "Образы сообщества".
Выберите образ в списке. Убедитесь, что для параметра Состояние ОС выбрано значение Специализированное. Если требуется использовать специализированный образ, см. раздел Создание виртуальной машины на основе универсальной версии образа. В зависимости от выбранного образа, регион, в котором будет создана виртуальная машина, изменится в соответствии с образом.
Заполните остальные параметры и нажмите кнопку Просмотр и создание в нижней части страницы.
На странице Создание виртуальной машины отображаются сведения о создаваемой виртуальной машине. Когда будете готовы, нажмите Создать.
Чтобы опубликовать образы в коллекции, к которой предоставлен прямой доступ, на этапе предварительной версии, необходимо зарегистрироваться на странице https://aka.ms/directsharedgallery-preview. Создавать виртуальные машины из коллекции, к которой предоставлен прямой доступ, могут все пользователи Azure.
На этапе предварительной версии необходимо создать коллекцию со свойством sharingProfile.permissions со значением Groups. При использовании CLI для создания коллекции воспользуйтесь параметром --permissions groups. Нельзя использовать имеющуюся коллекцию, на данный момент свойство невозможно обновить.
Чтобы создать виртуальную машину, используя последнюю версию образа, доступ к которому предоставлен подписке или арендатору, вам потребуется идентификатор образа в следующем формате:
Чтобы найти 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
Создайте виртуальную машину с помощью команды az vm create, добавив к ней параметр --specialized, чтобы указать, что образ является специализированным.
Используйте параметр Id с добавлением /Versions/latest, чтобы использовать последнюю версию, в качестве значения для "--image" для создания виртуальной машины.
В нашем примере виртуальная машина создается на основе последней версии образа myImageDefinition.
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
Примечание
Известная проблема. Если на портале Azure выбрать регион, выбрать образ, а затем изменить регион, появится сообщение об ошибке: "Вы можете создавать виртуальные машины только в регионах репликации этого образа", даже если образ реплицируется в этот регион. Чтобы устранить ошибку, выберите другой регион, а затем снова выберите нужный регион. Если образ доступен, сообщение об ошибке не отображается.
Кроме того, можно использовать Azure CLI для проверки того, к каким образам вам предоставлен общий доступ. Например, можно использовать az sig list-shared --location westus, чтобы узнать, к каким образам вам предоставлен общий доступ в регионе "Западная часть США".
В поле поиска введите виртуальные машины.
В разделе Службы выберите Виртуальные машины.
На странице Виртуальные машины выберите Создать и щелкните Виртуальная машина. Откроется страница Создание виртуальной машины.
На вкладке Основные сведения в разделе Сведения о проекте убедитесь, что выбрана правильная подписка, а затем выберите Создать группу ресурсов или выберите группу в раскрывающемся списке.
В разделе Сведения об экземпляре укажите имя в поле Имя виртуальной машины.
Для параметра Тип безопасности необходимо выбрать параметр Стандартный.
Для образа выберите Просмотреть все образы. Откроется страница Выбор образа.
В меню слева в разделе Другие элементы выберите Direct Shared Images (PREVIEW) (Образы с прямым доступом (предварительная версия)). Откроется страница Другие элементы |Образы с прямым доступом (предварительная версия).
Выберите образ в списке. Убедитесь, что для параметра Состояние ОС выбрано значение Специализированное. Если требуется использовать универсальный образ, см. раздел Создание виртуальной машины на основе универсальной версии образа. В зависимости от выбранного образа, регион, в котором будет создана виртуальная машина, изменится в соответствии с образом.
Заполните остальные параметры и нажмите кнопку Просмотр и создание в нижней части страницы.
На странице Создание виртуальной машины отображаются сведения о создаваемой виртуальной машине. Когда будете готовы, нажмите Создать.