Создать образ из снимка диска
Чтобы создать образ из снимка диска:
-
В консоли управления
выберите каталог, в котором нужно создать образ. -
Перейдите в сервис Compute Cloud.
-
На панели слева выберите
Снимки дисков. -
В строке с нужным снимком нажмите значок
и выберите Создать образ. -
Введите имя образа. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
При необходимости укажите произвольное текстовое описание образа.
-
Разверните блок Дополнительно.
-
(Опционально) В поле Поколение оборудования выберите нужное поколение виртуализированного оборудования, которое будет закреплено за создаваемым образом:
Gen 1.2 (MBR, BIOS)— поколениеGen 1.2.Gen 1.1 (MBR, BIOS)— поколениеGen 1.1.
Если вы не зададите поколение оборудования, по умолчанию за создаваемым образом будет закреплено то же поколение, что и за снимком-источником.
-
(Опционально) Чтобы создать оптимизированный образ, включите опцию Оптимизация.
-
Нажмите Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для создания образа:
yc compute image create --help -
Получите список снимков в каталоге по умолчанию:
yc compute snapshot listРезультат:
+----------------------+-----------------+----------------------+--------+----------------------------+ | ID | NAME | PRODUCT IDS | STATUS | DESCRIPTION | +----------------------+-----------------+----------------------+--------+----------------------------+ | fd8rlt1u2rf0l******* | first-snapshot | f2ecl5vhsftd******** | READY | my first snapshot via CLI | | fhmolt1u2rf0******** | second-snapshot | f2eclmol5lps******** | READY | my second snapshot via CLI | +----------------------+-----------------+----------------------+--------+----------------------------+ -
Выберите идентификатор (
ID) или имя (NAME) нужного снимка. -
Создайте образ в каталоге по умолчанию:
yc compute image create \ --name <имя_создаваемого_образа> \ --source-snapshot-name <имя_снимка-источника> \ --pooled \ --hardware-generation-id <поколение_оборудования> \ --hardware-features pci_topology=<топология_PCI>Где:
-
--name— имя создаваемого образа. Требования к имени:- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
--source-snapshot-name— имя снимка-источника. Вместо имени вы можете передать в команду идентификатор снимка-источника в параметре--source-snapshot-id. -
--pooled— параметр, позволяющий создать оптимизированный образ. Необязательный параметр. -
--hardware-generation-id— поколение виртуализированного оборудования, закрепляемое за образом. Необязательный параметр. Возможные значения:legacy— поколениеGen 1. При выборе этого поколения вы также можете задать топологию PCI в параметре--hardware-features.
Если параметр не задан, за созданным образом будет закреплено то же поколение оборудования, которое закреплено за снимком-источником.
-
--hardware-features— дополнительные настройки для поколенияGen 1. Необязательный параметр. Возможные значения:pci_topology=v1— выбор топологииPCI_TOPOLOGY_V1.pci_topology=v2— выбор топологииPCI_TOPOLOGY_V2.
Если за снимком-источником закреплено поколение
Gen 1, по умолчанию у создаваемого образа для параметра--hardware-featuresбудет задано то же значение, что и у снимка-источника.
Результат:
done (5s) id: fd8lt5sskh12******** folder_id: b1gt6g8ht345******** created_at: "2025-06-23T19:26:46Z" name: my-first-image storage_size: "3116367872" min_disk_size: "21474836480" product_ids: - f2evcrm9ti79******** status: READY os: type: LINUX hardware_generation: legacy_features: pci_topology: PCI_TOPOLOGY_V2 -
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурса
yandex_compute_image.Пример структуры конфигурационного файла:
resource "yandex_compute_image" "image-1" { name = "<имя_образа>" source_snapshot = "<идентификатор_снимка-источника>" hardware_generation { legacy_features { pci_topology = "<топология_PCI>" } } }Где:
-
name— имя создаваемого образа. Требования к имени:- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
source_snapshot— идентификатор снимка-источника. -
hardware_generation— блок настроек с описанием поколения виртуализированного оборудования, закрепляемого за образом. Необязательный параметр. Включает в себя следующие блоки настроек:-
legacy_features— блок настроек с описанием параметров при выборе поколенияGen 1:-
pci_topology— выбор топологии PCI. Возможные значения:PCI_TOPOLOGY_V1— выбор топологииPCI_TOPOLOGY_V1.PCI_TOPOLOGY_V2— выбор топологииPCI_TOPOLOGY_V2.
Использование блока
legacy_featuresделает невозможным использование блокаgeneration2_features. -
Примечание
Если блок
hardware_generationне задан, за созданным образом будет закреплено то же поколение оборудования, которое закреплено за снимком-источником. -
Более подробную информацию о ресурсе
yandex_compute_imageсм. в документации провайдера. -
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Выполните команду:
terraform apply -
Подтвердите создание ресурсов.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
. -
- Получите список снимков с помощью метода REST API list для ресурса Snapshot или вызова gRPC API SnapshotService/List.
- Создайте образ с помощью метода REST API create для ресурса Image или вызова gRPC API ImageService/Create. В запросе укажите идентификатор снимка-источника, а также при необходимости задайте нужное поколение виртуализированного оборудования в объекте
hardwareGeneration(hardware_generationпри использовании gRPC API).
После создания образ перейдет в статус CREATING. Дождитесь, когда образ перейдет в статус READY, прежде чем его использовать.