При создании новой виртуальной машины из специализированного образа новая виртуальная машина сохраняет имя исходной. Также сохраняются другие сведения, относящиеся к компьютеру, например 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 можно использовать для создания виртуальных машин с помощью интерфейса командной строки и 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) (Образы с прямым доступом (предварительная версия)). Откроется страница Другие элементы |Образы с прямым доступом (предварительная версия).
Выберите образ в списке. Убедитесь, что для параметра Состояние ОС выбрано значение Специализированное. Если требуется использовать универсальный образ, см. раздел Создание виртуальной машины на основе универсальной версии образа. В зависимости от выбранного образа, регион, в котором будет создана виртуальная машина, изменится в соответствии с образом.
Заполните остальные параметры и нажмите кнопку Просмотр и создание в нижней части страницы.
На странице Создание виртуальной машины отображаются сведения о создаваемой виртуальной машине. Когда будете готовы, нажмите Создать.