Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Microsoft в Yandex Cloud
  • Практические руководства
    • Все руководства
    • Подготовка собственных образов с продуктами Microsoft
    • Использование своей лицензии для продуктов Microsoft
  • Лицензирование
    • Лицензии Microsoft в Yandex Cloud
    • Требования к учетной записи Yandex Cloud
  • Правила тарификации
  1. Практические руководства
  2. Подготовка собственных образов с продуктами Microsoft

Подготовка собственных образов с продуктами Microsoft

Статья создана
Yandex Cloud
  • Подготовка образа
  • Загрузите образ в Object Storage
  • Импортируйте образ в Compute Cloud

Вы можете подготовить свои образы продуктов Microsoft, чтобы использовать их в Yandex Cloud с вашей собственной лицензией. Обязательно свяжитесь с Microsoft и уточните, что ваша лицензия подходит для использования в облачных средах. Рекомендуем собирать образы на ОС Linux.

Подготовка образа

Чтобы создать образ, готовый к использованию в Yandex Cloud:

  1. Установите QEMU.
  2. Установите Packer.
  3. Загрузите архив с конфигурациями для Packer и распакуйте его в нужную папку, например windows-packer.
  4. Загрузите образ с драйверами и откройте его. Переместите папки NetKVM, vioserial и viostor в папку windows-packer/drivers. Папки содержат драйверы для разных ОС — обязательно используйте драйверы для вашей.
  5. Выберите подходящую для вашего продукта Microsoft конфигурацию для Packer и внесите следующие изменения в ее конфигурационный файл:
    1. Укажите в параметре iso_url путь к вашему дистрибутиву.

    2. В блоке cd_files укажите пути к распакованным драйверам для вашей версии ОС, например:

      cd_files = [
          "../drivers/netkvm/2k19/amd64/*",
          "../drivers/viostor/2k19/amd64/*",
          "../drivers/vioserial/2k19/amd64/*",
          "../scripts/qemu/*",
          "Autounattend.xml"
        ]
      

      Если вы поместили папки с драйверами в другое место, укажите соответствующие пути.

    3. Узнайте контрольную сумму вашего дистрибутива (например, выполните openssl dgst -sha256 <путь к дистрибутиву>). Вставьте полученное значение в параметр iso_checksum после sha256:.

    4. (опционально) Если вы работаете на MacOS, вам потребуется заменить значение accelerator = "kvm" на accelerator = "hvf".

  6. Перейдите в каталог с нужной конфигурацией образа (например, external-windows-packer/ws22gui-qemu) и выполните команду packer build ..

После выполнения команды будет создан дисковый образ в формате .qcow2.

Загрузите образ в Object Storage

Загрузите созданный образ в Object Storage с помощью одного из поддерживаемых инструментов.

Импортируйте образ в Compute Cloud

С помощью API Compute Cloud вы можете импортировать образ в сервис:

CLI
Bash
PowerShell
yc compute image create --name <название образа> --description <описание образа> --os-type windows --source-uri <ссылка на образ в Object Storage>
curl -H "Authorization: Bearer `yc iam create-token`" -H  "accept: application/json" -X POST https://compute.api.cloud.yandex.net/compute/v1/images -d '{"folderId": "<ID вашего каталога>", "name": "<название образа>", "description": "<описание образа>", "os": {"type": "WINDOWS"}, "pooled": false, "uri": "<ссылка на образ в Object Storage>"}'
function Create-YCImage {
  param(
    [ValidateNotNullOrEmpty()]
    [string]$folderId = "",

    [ValidateNotNullOrEmpty()]
    [string]$name = "",

    [string]$description = "",

    [ValidateNotNullOrEmpty()]
    [string]$os_type = "WINDOWS",

    [int64]$minDiskSizeGb = 50GB,

    [ValidateNotNullOrEmpty()]
    [string]$uri = ""
  )

  $body = @"
{
  "folderId": "$folderId",
  "name": "$name",
  "description": "$description",
  "os.type": "$os_type",
  "minDiskSize": "$minDiskSizeGb",
  "os": {
    "type": "$os_type"
  },
  "uri": "$uri"
}
"@

  Invoke-WebRequest `
    -Method POST `
    -URI https://compute.api.cloud.yandex.net/compute/v1/images `
    -header @{ "Authorization" = "Bearer $(& yc iam create-token)" } `
    -ContentType 'Application/json' `
    -body $body
}


$folderId = "<ID вашего каталога>"

Create-YCImage `
  -folderId $folderId `
  -name "<название образа>" `
  -uri "<ссылка на образ в Object Storage>"

Импортированный образ можно использовать при создании загрузочного диска ВМ.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Подготовка образа
  • Загрузите образ в Object Storage
  • Импортируйте образ в Compute Cloud