Общие сведения о Конструкторе образов виртуальных машин Azure

Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Универсальные масштабируемые наборы

Используя стандартизированные образы виртуальных машин, ваша организация может упростить миграцию в облако и повысить согласованность в развертываниях. Образы, как правило, включают стандартные средства безопасности, параметры конфигурации и любое программное обеспечение. Для настройки собственного конвейера образов требуется время, инфраструктура и множество других факторов. При использовании Конструктора образов виртуальных машин Azure достаточно создать конфигурацию, которая описывает образ, и отправить ее в службу, в которой образ создается, а затем распределяется.

Благодаря Конструктору образов виртуальных машин можно перенести существующий конвейер настройки образов в Azure, продолжая использовать существующие скрипты, команды и процессы. Вы можете интегрировать основные приложения в образ виртуальной машины, чтобы виртуальные машины могли принимать рабочие нагрузки после создания образов. Можно даже добавить конфигурации для создания образов для Виртуального рабочего стола Azure, в качестве виртуальных жестких дисков (VHD) для использования в Azure Stack или для упрощения экспорта.

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

Компоненты

Можно создавать пользовательские образы виртуальных машин вручную или с помощью других средств, но процесс может быть трудоемким и ненадежным. Конструктор образов виртуальных машин, созданный на основе HashiCorp Packer, предоставляет преимущества управляемой службы.

Простота

Чтобы упростить создание образов виртуальных машин, Конструктор образов виртуальных машин:

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

  • Может интегрироваться с существующими конвейерами сборки образов, чтобы обеспечить возможность перехода по щелчку. Для этого можно вызвать конструктор образов виртуальных машин из конвейера или использовать задачу DevOps службы "Конструктор образов виртуальных машин Azure" (предварительная версия).

  • Может получать данные настройки из различных источников, что устраняет необходимость в сборе всех данных из одного расположения.

  • Может интегрироваться с Коллекцией вычислений, которая создает систему управления образами. С ее помощью можно глобально распределять, реплицировать и масштабировать образы, а также управлять их версиями. Кроме того, вы можете распределять один и тот же полученный образ как виртуальный жесткий диск или как один или несколько управляемых образов. При этом их не нужно перестраивать с нуля.

Инфраструктура как код

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

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

Безопасность

Чтобы обеспечить безопасность образов, Конструктор образов виртуальных машин выполняет следующие задачи:

  • Позволяет создавать базовые образы (т. е. минимальные конфигурации безопасности и корпоративные конфигурации) и позволяет другим отделам дополнительно настраивать их. Конструктор образов виртуальных машин помогает поддерживать безопасность и соответствие этих образов. Решение позволяет быстро перестроить эталонный образ, который использует последнюю исправленную версию исходного образа. Кроме того, Конструктор образов виртуальных машин упрощает создание образов, соответствующих базовому плану безопасности Windows Azure. Дополнительные сведения см. в статье Конструктор образов виртуальных машин: базовый шаблон Windows.

  • Позволяет получать артефакты настройки, не делая их общедоступными. Получить эти ресурсы Конструктор образов виртуальных машин может с помощью управляемого удостоверения Azure. Управление доступом на основе ролей Azure (Azure RBAC) позволяет ограничить привилегии этого удостоверения с требуемой степенью строгости. Вы можете сохранить секрет артефактов и предотвратить незаконное изменение несанкционированными субъектами.

  • Обеспечивает надежное хранение копий артефактов настройки, временных вычислительных ресурсов и ресурсов хранилища, а также полученных в результате образов в подписке, так как доступом управляет Azure RBAC. Этот уровень безопасности, который также применяется к виртуальной машине сборки, которая используется для создания настроенного образа, помогает предотвратить копирование скриптов и файлов настроек на неизвестную виртуальную машину в неизвестной подписке. Кроме того, вы можете обеспечить для виртуальной машины сборки высокий уровень отмежевания от рабочих нагрузок других клиентов с помощью предложений изолированных виртуальных машин.

  • Позволяет подключить Конструктор образов виртуальных машин к существующим виртуальным сетям, чтобы можно было взаимодействовать с существующими серверами конфигурации, такими как DSC (опрашиваемый сервер Desired State Configuration), Chef и Puppet, общие папки или любые другие маршрутизируемые серверы и службы.

  • Можно настроить таким образом, чтобы ваши назначаемые пользователем удостоверения назначались виртуальной машине сборки Конструктора образов виртуальных машин (то есть виртуальной машине, которую служба "Конструктор образов виртуальных машин" создает в вашей подписке и использует для создания и настройки образа). Затем эти удостоверения можно использовать во время настройки для доступа к ресурсам Azure, включая секреты, в вашей подписке. Нет необходимости назначать к этим ресурсам прямой доступ Конструктора образов виртуальных машин.

Регионы

Служба "Конструктор образов виртуальных машин" доступна в следующих регионах:

Примечание

Вы по-прежнему можете распределять образы вне этих регионов.

  • Восточная часть США
  • восточная часть США 2
  • центрально-западная часть США
  • западная часть США
  • западная часть США 2
  • Западная часть США — 3
  • Центрально-южная часть США
  • Северная Европа
  • Западная Европа
  • Юго-Восточная Азия
  • Australia Southeast
  • Восточная Австралия
  • южная часть Соединенного Королевства
  • западная часть Соединенного Королевства
  • Brazil South
  • Центральная Канада
  • Центральная Индия
  • Центральная часть США
  • Центральная Франция
  • Центрально-Западная Германия
  • Восточная Япония
  • Центрально-северная часть США
  • Восточная Норвегия;
  • Северная Швейцария
  • Западная Индия (Jio)
  • Северная часть ОАЭ;
  • Восточная Азия
  • Республика Корея, центральный регион
  • Северная часть ЮАР;
  • USGov Аризона (общедоступная предварительная версия);
  • USGov Вирджиния (общедоступная предварительная версия).

Чтобы получить доступ к общедоступной предварительной версии Конструктора образов виртуальных машин Azure в регионах Fairfax (USGov Аризона и USGov Вирджиния), зарегистрируйте функцию Microsoft.VirtualMachineImages/FairfaxPublicPreview. Для этого выполните следующую команду:

Register-AzProviderPreviewFeature -ProviderNamespace Microsoft.VirtualMachineImages -Name FairfaxPublicPreview

Поддержка ОС

Конструктор образов виртуальных машин поддерживает следующие базовые образы операционной системы из Azure Marketplace:

  • Ubuntu 18.04
  • Ubuntu 16.04
  • RHEL 7.6, 7.7
  • CentOS 7.6, 7.7
  • SLES 12 SP4
  • SLES 15, SLES 15 SP1
  • Windows 10 RS5 Корпоративная/Корпоративная с поддержкой нескольких сеансов/Профессиональная
  • Windows 2016
  • Windows 2019
  • CBL-Mariner

Важно!

Эти операционные системы протестированы и теперь работают с Конструктором образов виртуальных машин. Однако Конструктор образов виртуальных машин должен работать с любым образом Linux или Windows в marketplace.

Принцип работы

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

Схема: процесс Конструктора образов виртуальных машин, показаны источники (Windows или Linux), настройки (оболочка, PowerShell, перезагрузка и обновление Windows, добавление файлов) и глобальное распределение с помощью Коллекции вычислений

Конфигурации шаблонов можно передать с помощью Azure PowerShell, Azure CLI или шаблонов Azure Resource Manager или с использованием задачи DevOps Конструктора образов виртуальных машин. При отправке конфигурации в службу Azure создает ресурс шаблона образа. После создания ресурса шаблона образа в подписке создается промежуточная группа ресурсов в следующем формате: IT_\<DestinationResourceGroup>_\<TemplateName>_\(GUID). Промежуточная группа ресурсов содержит файлы и сценарии, на которые ссылается настройка файла, оболочки и PowerShell в свойстве ScriptURI.

Чтобы запустить сборку, необходимо вызвать Run ресурс шаблона Конструктора образов виртуальных машин. Затем служба развертывает дополнительные ресурсы для сборки, такие как виртуальная машина, сеть, диск и сетевой адаптер.

Кроме того, если вы создаете образ без использования существующей виртуальной сети, Конструктор образов виртуальных машин развертывает общедоступный IP-адрес и группу безопасности сети, а также подключается к виртуальной машине сборки с помощью протокола Secure Shell (SSH) или службы удаленного управления Windows (WinRM).

Если выбрать существующую виртуальную сеть, служба развертывается через Приватный канал Azure, а общедоступный IP-адрес не требуется. Дополнительные сведения см. в статье Обзор возможностей сети Конструктора образов виртуальных машин.

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

В репозитории GitHub для Конструктора образов виртуальных машин вы найдете несколько примеров, пошаговые руководства, шаблоны конфигурации и решения.

Поддержка перемещения

Ресурс шаблонов образов является неизменяемым и содержит ссылки на ресурсы и группу ресурсов промежуточного хранения. Поэтому этот тип ресурса не поддерживает перемещение.

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

Разрешения

При регистрации для использования службы "Конструктор образов виртуальных машин" вы предоставляете службе разрешение на создание, администрирование и удаление промежуточной группы ресурсов с префиксом IT_*. Кроме того, у вас есть права добавлять в него все ресурсы, необходимые для сборки образа. Это происходит потому, что имя субъекта-службы Конструктора образов виртуальных машин становится доступным в вашей подписке после успешной регистрации.

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

В API версии 2021-10-01 и более поздних версий Конструктор образов виртуальных машин поддерживает добавление назначенных пользователю удостоверений в виртуальную машину сборки. Это позволяет реализовать сценарии, в которых в вашей подписке необходимо выполнять проверку подлинности с помощью таких служб, как Azure Key Vault.

Дополнительные сведения о разрешениях см. в следующих статьях:

Затраты

При создании, сборке и хранении образов с помощью Конструктора образов виртуальных машин вы понесете некоторые затраты на вычислительные ресурсы, сети и хранилище. Эти затраты аналогичны расходам на создание пользовательских образов вручную. Плата за ваши ресурсы взимается по тарифам Azure.

В процессе создания образа файлы загружаются и сохраняются в группе ресурсов IT_<DestinationResourceGroup>_<TemplateName>, что приводит к небольшим затратам на хранение. Если вам не нужно хранить эти файлы, удалите шаблон образа после его создания.

Конструктор образов виртуальных машин создает виртуальную машину, по умолчанию используя размер виртуальной машины Standard_D1_v2 для образов Gen1 и Standard_D2ds_v4 для образов Gen2, а также хранилище и сеть, необходимые для виртуальной машины. Эти ресурсы существуют на протяжении процесса сборки и удаляются, после того как Конструктор образов виртуальных машин завершает создание образа.

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

Поколение Hyper-V

Сейчас Конструктор образов виртуальных машин поддерживает создание образов Hyper-V Gen1 и Gen2 в Коллекции вычислений, а также их создание в качестве управляемых образов или виртуальных жестких дисков. Учитывайте, что распределенный образ всегда имеет то же поколение, что и предоставленный.

Убедитесь, что для образов Gen2 используется правильный номер SKU. Например, SKU для образа Ubuntu Server 18.04 Gen2 будет иметь значение 18_04-lts-gen2. SKU для образа Ubuntu Server 18.04 Gen1 будет иметь значение 18.04-lts.

Вот как найти номера SKU, основанные на издателе образа:

# Find all Gen2 SKUs published by Microsoft Windows Desktop
az vm image list --publisher MicrosoftWindowsDesktop --sku g2 --output table --all

# Find all Gen2 SKUs published by Canonical
az vm image list --publisher Canonical --sku gen2 --output table --all

Дополнительные сведения об образах виртуальных машин, которые поддерживают Gen2, см. статью Образы виртуальных машин Gen2 в Azure Marketplace.

Дальнейшие действия

Чтобы испытать Конструктор образов виртуальных машин, ознакомьтесь со статьями о сборке образов Linux или Windows.