Хранение и совместное использование образов в Коллекции вычислений Azure

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

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

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

При использовании коллекции для хранения образов, создается несколько типов ресурсов:

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

Рисунок, показывающий, как использовать несколько версий образа в коллекции

Определения образов

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

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

Определение образа Publisher ПРЕДЛОЖЕНИЕ Sku
myImage1 Contoso Finance Раздел
myImage2 Contoso Finance Внешний интерфейс
myImage3 Тестирование Finance Внешний интерфейс

Все три определения образа имеют уникальные наборы значений. Формат этих параметров аналогичен формату параметров издателя, предложения и SKU, которые можно указать в Azure PowerShell, чтобы получить текущую версию определенного образа Azure Marketplace. У каждого определения образа должен быть меть уникальный набор этих значений.

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

  • Состояние операционной системы: операционная система может быть универсальной или специализированной. Это обязательное поле.
  • Операционная система: Windows или Linux. Это обязательное поле.
  • Hyper-V generation (Поколение Hyper-V): вы можете указать, был ли этот образ создан на основе виртуального диска 1-го или 2-го поколения Hyper-V. Значение по умолчанию — поколение 1.

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

  • Описание: с помощью этого параметра можно предоставить подробную информацию о назначении образа. Например, у вас может быть определение образа для внешнего сервера с предварительно установленным приложением.

  • Лицензионное соглашение: можно указать, какое именно лицензионное соглашение действует для данного определения.

  • Заявление о конфиденциальности и Заметки о выпуске: вы можете добавлять в Azure заметки о выпуске и заявления о конфиденциальности и указывать в определении образа их URI.

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

  • Тег: при создании определений образов в них можно добавлять теги. Дополнительные сведения о тегах см. в статье Использование тегов для организации ресурсов.

  • Рекомендации относительно максимальных и минимальных требований к виртуальному ЦП и памяти: если для образа предусмотрены соответствующие рекомендации, эту информацию можно включить в определение.

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

  • Сведения о плане покупки для образов из Marketplace — -PurchasePlanPublisher, -PurchasePlanName и -PurchasePlanProduct. Дополнительные сведения о плане покупки см. в статьях Поиск образов в Azure Marketplace и Предоставление сведений о плане покупки Azure Marketplace при создании образов.

  • Архитектура

    • Архитектура x64 или ARM64
  • Функции позволяют указать дополнительные функции и параметры SecurityType, поддерживаемые на изображении, в зависимости от типа коллекции:

    Функции Принятые значения Определение Поддерживается в
    IsHibernateSupported True, False Создайте виртуальные машины с поддержкой гибернации. Частный, прямой общий доступ, сообщество
    IsAcceleratedNetworkSupported True, False Создайте виртуальные машины с поддержкой ускорения сети. Если задано значение True в определении образа, запись виртуальных машин, которые не поддерживают ускоренную сеть, не поддерживается. Частный, прямой общий доступ, сообщество
    DiskControllerType ["SCSI", "NVMe"], ["SCSI"] Задайте для этого тип диска SCSI или NVMe. Виртуальные машины и диски NVMe могут быть записаны только в определениях образов, которые помечены для поддержки NVMe. Частный, прямой общий доступ, сообщество

    При указании SecurityType с помощью features параметра он ограничивает функции безопасности, включенные на виртуальной машине. Некоторые типы ограничены на основе типа коллекции, в которую они хранятся:

    SecurityType Определение Поддерживается в
    ConfidentialVMSupported Это универсальный образ 2-го поколения, который не содержит большой двоичный объект VMGS. Виртуальная машина 2-го поколения или конфиденциальная виртуальная машина можно создать из этого типа образа. Частный, прямой общий доступ, сообщество
    Конфиденциальная виртуальная машина Из этого типа образа можно создать только конфиденциальные виртуальные машины. Private
    TrustedLaunchSupported Это универсальный образ 2-го поколения, который не содержит большой двоичный объект VMGS. Виртуальная машина 2-го поколения или виртуальная машина TrustedLaunch можно создать из этого типа образа. Частный, прямой общий доступ, сообщество
    TrustedLaunch Из этого типа образа можно создать только виртуальную машину TrustedLaunch. Private
    TrustedLaunchAndConfidentialVmSupported Это универсальный образ 2-го поколения, который не содержит большой двоичный объект VMGS. Виртуальная машина 2-го поколения, виртуальная машина TrustedLaunch или Конфиденциальная виртуальная машина можно создать из этого типа образа. Частный, прямой общий доступ, сообщество

    Дополнительные сведения см. в примерах интерфейса командной строки для добавления функций определения изображений и SecurityType или примеров PowerShell.

    **КонфиденциальныйVM поддерживается только в регионах, где он доступен, можно найти поддерживаемые регионы здесь.

Версии образов

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

Свойства версии образа:

  • Номер версии. Используется в качестве имени версии образа. Он всегда находится в формате: MajorVersion.MinorVersion.Patch. Если при создании виртуальной машины вы указываете, что нужно использовать последнюю версию, выбирается последний образ на основе максимального основного номера версии, затем дополнительного номера версии, а затем номера исправления.
  • Источник. Источником может быть виртуальная машина, управляемый диск, моментальный снимок, управляемый образ или другая версия образа.
  • "Дата окончания жизненного цикла". Указывает дату окончания срока действия для версии образа. Даты окончания срока действия представлены для информации. Пользователи по-прежнему смогут создавать виртуальные машины из версий после даты окончания срока действия.

Универсальные и специализированные образы

Коллекция вычислений Azure поддерживает два состояния операционной системы. Как правило, перед созданием образа соответствующая виртуальная машина должна быть переведена в универсальное состояние. Универсализация — это процесс, в ходе которого из виртуальной машины удаляются сведения о конкретном компьютере и пользователе. Для Linux можно воспользоваться параметрами waagent-deprovision или -deprovision+user. Для Windows с этой целью используется средство Sysprep.

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

  • Виртуальные машины и масштабируемые наборы, созданные на базе специализированного образа, можно быстрее развернуть и запустить. Так как они создаются из источника, который уже прошел первую загрузку, виртуальные машины, созданные из этих образов, быстрее загружаются.
  • Для входа на виртуальные машины, созданные на основе специализированного образа, можно использовать учетные записи виртуальной машины, послужившей источником для данного образа.
  • У таких виртуальных машин имя компьютера совпадает с именем компьютера виртуальной машины, на базе которой был создан образ. Чтобы избежать конфликтов, это значение нужно изменить.
  • osProfile используется для передачи на виртуальную машину определенной конфиденциальной информации через secrets. Вследствие этого при работе с хранилищем ключей KeyVault, WinRM и другими функциями, которые используют secrets в составе osProfile, могут возникать определенные проблемы. В ряде случаев для обхода соответствующих ограничений можно использовать идентификаторы управляемых служб (MSI).

Обновление ресурсов

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

Коллекция вычислений Azure:

  • Description

Определение образа

  • Рекомендуемое число виртуальных ЦП
  • Рекомендуемая память
  • Description
  • Дата окончания жизненного цикла
  • ReleaseNotes

Версия образа

  • Количество региональных реплик
  • Целевые регионы
  • Исключить из последних
  • Дата окончания жизненного цикла

Доступ

Существует три основных способа совместного использования образов коллекции вычислений Azure в зависимости от того, с кем вы хотите поделиться:

Совместное использование: Люди Группы Субъект-служба Все пользователи в определенном клиенте подписки (или) Общедоступный доступ ко всем пользователям в Azure
Общий доступ к RBAC Да Да Да No No
RBAC + Общая коллекция Direct Да Да Да Да Нет
Коллекция RBAC + Community Да Да Да No Да

Какие разрешения RBAC требуются для создания образа ACG:

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

  • Пользователям потребуется разрешение на запись на виртуальной машине для создания версии образа ACG.
  • Для azure SDK используйте свойства properties.storageProfile.source.virtualMachineId, для этого свойства требуется API версии 2023-07-03 или версии 1.4.0 (или более поздней) пакета SDK для .NET.
Source type Требуемые разрешения
Виртуальная машина Write
Диск или моментальный снимок Write
VHD Запись (listKeys)
Управляемый образ Чтение
Изображение из коллекции Чтение

Дополнительные сведения о встроенных ролях Azure см. в нашей документации для предоставления разрешений RBAC

Неглубокая репликация

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

Неглубокое реплика можно также использовать, если у вас есть большие образы (до 32 ТБ), которые не часто развертываются. Так как исходный образ не копируется, можно использовать диски большего размера. Но их нельзя также использовать для одновременного развертывания большого количества виртуальных машин.

Чтобы задать образ для неглубокой репликации, используйте --replication-mode Shallow с интерфейсом командной строки Azure.

Поддержка пакета SDK

Следующие пакеты SDK поддерживают создание Коллекций вычислений Azure:

Шаблоны

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

Часто задаваемые вопросы

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

  1. Откройте портал Azure.
  2. Прокрутите страницу вниз и выберите Все ресурсы.
  3. Выберите все подписки, из которых вы хотите включить в список все ресурсы.
  4. Найдите ресурсы типа Коллекция вычислений Azure.

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

   az account list -otsv --query "[].id" | xargs -n 1 az sig list --subscription