Новые возможности построителя образов виртуальных машин Azure (AIB)

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

В этой статье содержатся все основные изменения API и обновления компонентов для службы построителя образов виртуальных машин Azure.

Обновления

Март 2026 г.

Критическое изменение: поведение виртуальной сети по умолчанию

После 31 марта 2026 г. новые виртуальные сети в Azure по умолчанию будут создавать частные подсети, которые больше не могут использовать исходящие подключения по умолчанию. Это изменение может повлиять на клиентов AIB, которые указывают собственные подсети в шаблонах образов (с помощью subnetId поля или containerInstanceSubnetId поля). Если для виртуальных машин сборки или проверки требуется исходящий доступ, то подсеть, указанная в subnetId поле, должна иметь исходящий доступ. Кроме того, подсеть, указанная в containerInstanceSubnetId поле, должна иметь исходящий доступ, как описано в справочнике по шаблону. Полные сведения см. в официальном обновлении.

Прекращение работы: неуправляемые диски Azure

Azure удаляет неуправляемые диски Azure. Это изменение влияет на подмножество клиентов AIB, использующих AIB для распространения образов в виде виртуальных жестких дисков (VHD), а затем используют эти VHD для предоставления новых виртуальных машин. После вывода из эксплуатации неуправляемых дисков вы по-прежнему сможете использовать AIB для создания VHD-файлов, но эти VHD не смогут подготавливать новые виртуальные машины. Полные сведения, включая область, временную шкалу и рекомендуемые действия по устранению рисков, см. в официальной документации. Перенос неуправляемых дисков Azure к 31 марта 2026 г.

Сентябрь 2024 г.

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

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

Это поведение совпадает с версией API, используемой для ресурса шаблона образа.

Май 2024 г.

Критическое изменение: чувствительность к регистру

По состоянию на 21 мая 2024 г. API сборщика образов виртуальных машин версии 2024-02-01 и более поздних применяет чувствительность к регистру для всех полей. Заглавная буква в запросах API должна соответствовать точно ожидаемому формату.

Внимание

Если вы являетесь существующим пользователем построителя образов виртуальных машин, это изменение не влияет на существующие ресурсы. Применение конфиденциальности регистра применяется только к вновь созданным ресурсам, используюющим API версии 2024-02-01 и более поздних версий. Существующие ресурсы продолжают функционировать должным образом без каких-либо изменений.

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

Ранее API построителя образов виртуальных машин был более простительно в плане ситуации. В будущем точность крайне важна. При вызове API убедитесь, что вы используете правильную прописную букву для имен полей, параметров и значений. Например, если поле называется vmBoot, необходимо использовать vmBoot (не VMBoot или vmboot).

Если вы отправляете API-запрос в API построителя образов виртуальных машин версии 2024-02-01 или более поздней с неправильным регистром или нераспознанными полями, служба отклоняет его. Вы получаете ответ об ошибке, указывающий, что запрос недопустим. Ошибка выглядит примерно так:

Unmarshalling entity encountered error: unmarshalling type *v2024_02_01.ImageTemplate: struct field Properties: unmarshalling type *v2024_02_01.ImageTemplateProperties: struct field Optimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize, unknown field \"vmboot\". There is an issue with the syntax with the JSON template you are submitting. Please check the JSON template for syntax and grammar. For more information on the syntax and grammar of the JSON template, visit http://aka.ms/azvmimagebuildertmplref.

Сообщение об ошибке упоминает "неизвестное поле" и направляет вас в официальную документацию: создайте шаблон Bicep для конструктора образов виртуальной машины Azure или AZURE Resource Manager JSON.

Примечание.

При вызове API к службе построителя образов виртуальных машин всегда ссылаться на документацию Swagger. Эта документация служит окончательным источником истины для спецификаций API построителя образов виртуальных машин. Хотя общедоступная документация была обновлена, чтобы включить правильные буквы и имена полей перед выпуском API, определение Swagger содержит точные сведения о каждом API построителя образов виртуальных машин. Эти сведения помогают убедиться, что вы выполняете вызовы к службе правильно.

Следующие изменения документации были внесены в соответствие с именами полей в API версии 2024-02-01.

В документации по созданию образов виртуальных машин Azure с помощью Bicep или JSON-шаблона Azure Resource Manager:

  • Обновлены поля:

    • Заменено несколько упоминаний vmboot на vmBoot.
    • Заменено одно упоминание imageVersionID на imageVersionId.
  • Поле удалено:

    • apiVersion: мы рекомендуем избежать включения этого поля в запросы, так как оно не указано в API явным образом. Включение его в шаблон JSON может привести к ошибкам в сборке образа.

В документации по параметрам сетевого взаимодействия в Azure VM Image Builder:

  • Обновлено поле:

    • Заменено одно упоминание VirtualNetworkConfig на vnetConfig.
  • Поля удалены:

    • subnetName в свойстве vnetConfig : это поле устарело. Новое поле subnetId.
    • resourceGroupName в свойстве vnetConfig : это поле устарело. Новое поле subnetId.

Закрепление на более старую версию API построителя образов виртуальных машин

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

Внимание

Закрепление использования более старой версии API для построителя образов виртуальных машин может обеспечить совместимость с существующими шаблонами, однако мы не рекомендуем это делать по следующим причинам:

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

Чтобы обеспечить совместимость с существующими шаблонами при создании или обновлении шаблона образа, укажите нужную версию API, включив api-version параметр в вызов службы. Рассмотрим пример.

  • HTTP
  • Azure CLI
  • Azure PowerShell
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}?api-version=2022-07-01

Тестирование кода

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

Ноябрь 2023 г.

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

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

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

  • Ваша подписка зарегистрирована у поставщика Microsoft.ContainerInstance.
  • Не существует политик, блокирующих развертывание ресурсов экземпляров контейнеров Azure.
  • Квота доступна для ресурсов экземпляров контейнеров Azure.

Апрель 2023 г.

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

Выпуски API

Версия 2024-02-01

Улучшения

  • Новое свойство autoRun позволяет запускать сборку образа при создании или обновлении шаблона. Дополнительные сведения см. в разделе "Свойства: autoRun".

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

  • Вы можете использовать новое свойство containerInstanceSubnetId для указания подсети, на которой экземпляры контейнеров Azure будут запускаться для изолированных сборок образов. Это поле можно указать только в том случае, если указано subnetId. Это поле должно находиться в той же виртуальной сети, что и подсеть, указанная в subnetId. Дополнительные сведения см. в статье "Создание собственной подсети виртуальной машины сборки" и создание собственной подсети экземпляров контейнеров.

  • Эта версия добавляет поддержку обновления vmProfile свойства, включая следующие поля:

    • vmSize
    • osDiskSizeGB
    • userAssignedIdentities
    • vnetConfig
      • subnetId
      • containerInstanceSubnetId

    Дополнительную информацию о свойстве vmProfile можно найти в разделе vmProfile.

Изменения

API версии 2024-02-01 представляет критическое изменение, которое обеспечивает конфиденциальность регистра для всех полей. Заглавная буква в запросах API должна соответствовать точно ожидаемому формату. Если вы отправляете запрос API в API построителя образов виртуальных машин версии 2024-02-01 или более поздней версии с неправильным случаем или нераспознанными полями, служба отклоняет его. Вы получаете ответ об ошибке, указывающий, что запрос недопустим. Дополнительные сведения см. в разделе «Критическое изменение: чувствительность к регистру» в этой статье.

Версия 2023-07-01

Изменения

Новое errorHandling свойство обеспечивает более полный контроль над обработкой ошибок во время процесса создания образа. Дополнительные сведения см. в разделе errorHandling.

Версия 2022-07-01

Улучшения

  • Эта версия добавляет поддержку использования последней версии образа, хранящейся в Azure Compute Gallery, в качестве источника для шаблона образа.
  • Эта версия добавляет versioning для поддержки генерации номеров версий для дистрибутивов образов. Дополнительные сведения см. в разделе "Свойства: versioning".
  • Эта версия добавляет поддержку конфигурации для каждого региона при распределении в галерею вычислительных ресурсов Azure. Дополнительные сведения см. в разделе "Распространение: targetRegions".
  • Эта версия добавляет новый File тип проверки. Дополнительные сведения см. в разделе "Свойства: validate".
  • Теперь вы можете распределять виртуальные жесткие диски (VHD) в собственный BLOB или контейнер в пользовательской учетной записи хранения. Дополнительные сведения см. в разделе "Распространение: VHD".
  • Эта версия предоставляет поддержку использования изображения из прямой общей галереи в качестве источника для шаблона изображения.

Изменения

  • replicationRegions теперь устарело для дистрибутивов галерей. Вместо этого используйте gallery-replication-regions.
  • Теперь виртуальные жесткие диски можно распространять на объект Blob или контейнер в пользовательской учетной записи хранения.
  • Эта версия добавляет targetRegions массив, который применяется только к типу SharedImage распределения. Для получения дополнительной информации о targetRegions ознакомьтесь с разделом Хранение и общий доступ к ресурсам в галерее вычислений Azure.
  • Эта версия предоставляет поддержку использования изображения из прямой общей галереи в качестве источника для шаблона изображения. Прямые общедоступные галереи в настоящее время находятся в предварительном просмотре.
  • Триггеры теперь доступны в предварительной версии для настройки автоматических сборок образов. Дополнительные сведения см. в статье "Включение автоматического создания образа с помощью триггеров построителя образов виртуальных машин Azure".

Версия 2022-02-14

Улучшения

Версия 2021-10-01

Изменение, нарушающее совместимость

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

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

Вывод ошибок для версии 2020-02-14 и более ранних версий
{ 
  "code": "ValidationFailed",
  "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review  http://aka.ms/azvmimagebuildertmplref  for details on fields requirements in the Image Builder Template." 
} 
Выходные данные ошибок для версии 2021-10-01 и позднее
{ 
  "error": {
    "code": "ValidationFailed", 
    "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review  http://aka.ms/azvmimagebuildertmplref  for details on fields requirements in the Image Builder Template." 
  }
}

Улучшения

Версия 2020-02-14

Улучшения

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

API предварительного просмотра

Следующий API устарел, но по-прежнему поддерживается:

  • Версия 2019-05-01 (предварительная)