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

Внимание

В этой статье рассматриваются старые технологии управляемого образа. Для наиболее современных технологий клиентам рекомендуется использовать коллекцию вычислений Azure. Все новые функции, такие как ARM64, доверенный запуск и конфиденциальная виртуальная машина, поддерживаются только в коллекции вычислений Azure. Если у вас есть управляемый образ, его можно использовать в качестве источника и создать образ коллекции вычислений Azure. Дополнительные сведения см. в разделе "Создание определения изображения и версии образа".

Помечая виртуальную машину как generalized в Azure, вы не сможете перезапустить виртуальную машину.

Один управляемый образ поддерживает до 20 одновременных развертываний. Попытка одновременного создания более 20 виртуальных машин из одного управляемого образа может привести к истечению времени ожидания подготовки из-за ограничений производительности хранилища для одного виртуального жесткого диска. Чтобы одновременно создать более 20 виртуальных машин, используйте коллекцию вычислений Azure (прежнее название — Общая коллекция образов), настроенную с 1 репликой для каждых 20 одновременных развертываний виртуальных машин.

Сведения о выставлении счетов за управляемые образы см. в статье Цены на управляемые диски.

Необходимые компоненты

  • Чтобы создать образ, вам понадобится универсальная виртуальная машина.

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

Создайте управляемый образ виртуальной машины с помощью az image create. В следующем примере создается образ с именем myImage в группе ресурсов с именем myResourceGroup на основе ресурса виртуальной машины с именем myVM.

az image create \
  --resource-group myResourceGroup \
  --name myImage --source myVM

Note

The image is created in the same resource group as your source VM. You can create VMs in any resource group within your subscription from this image. From a management perspective, you may wish to create a specific resource group for your VM resources and images.

If you are capturing an image of a generation 2 VM, also use the --hyper-v-generation V2 parameter. for more information, see Generation 2 VMs.

If you would like to store your image in zone-resilient storage, you need to create it in a region that supports availability zones and include the --zone-resilient true parameter.

This command returns JSON that describes the VM image. Save this output for later reference.

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

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

Перед началом работы убедитесь, что у вас установлена последняя версия модуля Azure PowerShell. Выполните Get-Module -ListAvailable Az в PowerShell, чтобы узнать версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей Установка Azure PowerShell в ОС Windows с помощью PowerShellGet. Если модуль PowerShell запущен локально, выполните командлет Connect-AzAccount, чтобы создать подключение к Azure.

Примечание.

Перед сохранением образа в хранилище, избыточном между зонами, его необходимо создать в регионе, который поддерживает зоны доступности и в котором конфигурация образа содержит параметр -ZoneResilient (команды New-AzImageConfig).

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

  1. Создайте несколько переменных.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. Убедитесь, что виртуальная машина была освобождена.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Теперь задайте для виртуальной машины состояние Generalized(Универсальная).

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
    
  4. Получите виртуальную машину.

    $vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
    
  5. Создайте конфигурацию образа.

    $image = New-AzImageConfig -Location $location -SourceVirtualMachineId $vm.Id 
    
  6. Создайте образ.

    $imageName -ResourceGroupName $rgName
    

PowerShell: создание устаревшего управляемого образа с управляемого диска

Если вы хотите создать образ только диска операционной системы, укажите идентификатор управляемого диска в качестве диска ОС.

  1. Создайте несколько переменных.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. Получите виртуальную машину.

    $vm = Get-AzVm -Name $vmName -ResourceGroupName $rgName
    
  3. Получите идентификатор управляемого диска.

    $diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
    
  4. Создайте конфигурацию образа.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
    
  5. Создайте образ.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

PowerShell: создание устаревшего управляемого образа из моментального снимка

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

  1. Создайте несколько переменных.

    $rgName = "myResourceGroup"
    $location = "EastUS"
    $snapshotName = "mySnapshot"
    $imageName = "myImage"
    
  2. Получите моментальный снимок.

    $snapshot = Get-AzSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
    
  3. Создайте конфигурацию образа.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
    
  4. Создайте образ.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

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

Чтобы создать управляемый образ из виртуальной машины, которая не использует управляемые диски, вам потребуется URI виртуального жесткого диска ОС в учетной записи хранения в следующем формате: https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd. В этом примере VHD находится в mystorageaccount в контейнере с именем vhdcontainer, а имя файла VHD — vhdfilename.vhd.

  1. Создайте несколько переменных.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    $osVhdUri = "https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd"
    
  2. Остановите виртуальную машину и отмените ее выделение.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Пометьте виртуальную машину как универсальную.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized    
    
  4. Создайте образ с помощью универсального виртуального жесткого диска ОС.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri
    $image = New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

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

Создайте виртуальную машину с помощью образа, который создали ранее, использовав команду az vm create. В следующем примере создается виртуальная машина myVMDeployed из образа myImage.

az vm create \
  --resource-group myResourceGroup \
  --name myVMDeployed \
  --image myImage\
  --admin-username azureuser \
  --ssh-key-value ~/.ssh/id_rsa.pub

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

Вы можете создавать виртуальные машины из образа в любой группе ресурсов в рамках своей подписки. Чтобы создать виртуальную машину в другой группе ресурсов, укажите полный идентификатор ресурса для нужного образа. Список образов можно просмотреть с помощью команды az image list. Результат будет похож на следующий пример.

"id":
"/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage",
"location": "westus", "name": "myImage",

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

az vm create \
  --resource-group myOtherResourceGroup \
  --name myOtherVMDeployed \
  --image "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage" \
  --admin-username azureuser \
  --ssh-key-value ~/.ssh/id_rsa.pub

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

Создайте виртуальную машину в Azure: найдите образ на портале, выберите "Создать виртуальную машину", заполните сведения, выберите размер, настройте параметры и разверните.

  1. Используйте портал Azure для поиска управляемого образа. Найдите и выберите пункт Образы.

  2. Выберите в списке необходимый образ. Откроется страница Обзор для образа.

  3. В меню выберите Создать виртуальную машину.

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

  5. Выберите размер виртуальной машины. Чтобы просмотреть дополнительные размеры, выберите Просмотреть все или измените фильтр Supported disk type (Поддерживаемые типы диска).

  6. Внесите необходимые изменения в разделе Параметры и щелкните ОК.

  7. На странице сводных данных вы увидите имя образа в строке Частный образ. Щелкните ОК, чтобы запустить развертывание виртуальной машины.

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

С помощью PowerShell вы можете создать виртуальную машину из образа, используя упрощенный набор параметров для командлета New-AzVm. Образ должен находиться в той же группе ресурсов, где будет создана виртуальная машина.

Для создания виртуальной машины из образа в упрощенном наборе параметров для New-AzVm нужно указать только имя, группу ресурсов и имя образа. В качестве имени всех ресурсов, которые создаются автоматически, New-AzVm будет использовать значение параметра -Name. В этом примере мы предоставим более подробные имена для каждого из ресурсов, которые автоматически создаются при помощи командлета. Также можно создать такие ресурсы, как виртуальная сеть, заранее и передать соответствующее имя ресурса в командлет. New-AzVm будет использовать существующие ресурсы, если их можно найти по имени.

В следующем примере на основе образа с именем myImage создается виртуальная машина с именем myVMFromImage в группе myResourceGroup.

New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVMfromImage" `
    -ImageName "myImage" `
    -Location "East US" `
    -VirtualNetworkName "myImageVnet" `
    -SubnetName "myImageSubnet" `
    -SecurityGroupName "myImageNSG" `
    -PublicIpAddressName "myImagePIP" 

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