Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Compute Cloud
  • Начало работы
    • Обзор
    • Создание виртуальной машины Linux
    • Создание виртуальной машины Windows
    • Создание группы виртуальных машин
  • Пошаговые инструкции
    • Все инструкции
    • Создание виртуальной машины
      • Создать ВМ Linux
      • Создать ВМ Windows
      • Создать ВМ из набора дисков
      • Создать ВМ с дисками из снимков
      • Создать ВМ из пользовательского образа
      • Создать ВМ c GPU
      • Сделать ВМ прерываемой
    • DSVM
      • Обзор
      • Создать ВМ из публичного образа DSVM
    • Группы размещения
      • Создать группу размещения
      • Удалить группу размещения
      • Создать ВМ в группе размещения
      • Добавить ВМ в группу размещения
      • Исключить ВМ из группы размещения
    • Образы с предустановленным ПО
      • Создать ВМ из публичного образа
      • Настроить ПО
      • Работа с ВМ на базе публичного образа
      • Получить список публичных образов
    • Получение информации о виртуальной машине
      • Получить информацию о ВМ
      • Получить вывод последовательного порта
    • Управление виртуальной машиной
      • Остановить и запустить ВМ
      • Подключить диск к ВМ
      • Отключить диск от ВМ
      • Перенести ВМ в другую зону доступности
      • Перенести ВМ в другой каталог
      • Привязать к ВМ публичный IP-адрес
      • Сделать публичный IP-адрес ВМ статическим
      • Изменить ВМ
      • Изменить вычислительные ресурсы ВМ
      • Удалить ВМ
    • Работа на виртуальной машине
      • Подключиться к ВМ по SSH
      • Подключиться к ВМ по RDP
      • Подключиться к ВМ через PowerShell
      • Работа с Yandex Cloud изнутри ВМ
      • Установить NVIDIA-драйверы
      • Восстановить доступ к ВМ
    • Создание диска
      • Создать пустой диcк
      • Создать пустой диск с блоком большого размера
      • Создать нереплицируемый диск
    • Управление диском
      • Создать снимок диска
      • Изменить диск
      • Перенести диск в другой каталог
      • Удалить диcк
      • Удалить снимок диска
    • Группы размещения дисков
      • Создать группу размещения дисков
      • Удалить диск из группы размещения
    • Создание образа
      • Подготовить образ диска
      • Загрузить свой образ
      • Создать образ из диска
      • Создать образ из снимка диска
      • Создать образ из другого пользовательского образа
    • Управление образом
      • Получить список образов
      • Удалить образ
    • Файловые хранилища
      • Создать файловое хранилище
      • Подключить файловое хранилище к ВМ
      • Отключить файловое хранилище от ВМ
      • Изменить файловое хранилище
      • Удалить файловое хранилище
    • Управление серийной консолью
      • Начало работы
      • Подключиться к серийной консоли по SSH
      • Подключиться к серийной консоли с помощью CLI
      • Запустить командную оболочку в Windows SAC
      • Отключить доступ к серийной консоли
    • Создание группы виртуальных машин
      • Создать группу ВМ фиксированного размера
      • Создать группу ВМ фиксированного размера с сетевым балансировщиком
      • Создать группу ВМ фиксированного размера с L7-балансировщиком
      • Создать автоматически масштабируемую группу ВМ
      • Создать группу ВМ с Container Optimized Image
      • Создать группу ВМ по YAML-спецификации
    • Получение информации о группе виртуальных машин
      • Получить список групп ВМ
      • Получить информацию о группе ВМ
      • Получить список ВМ в группе
    • Управление группой виртуальных машин
      • Изменить группу ВМ
      • Изменить группу ВМ по YAML-спецификации
      • Настроить проверку состояния приложения на ВМ
      • Обновить группу
        • Постепенное обновление
        • Обновление без простоя
      • Приостановить процессы в группе ВМ
      • Возобновить процессы в группе ВМ
      • Остановить группу ВМ
      • Запустить группу ВМ
      • Удалить группу ВМ
    • Выделенные хосты
      • Создать ВМ в группе выделенных хостов
      • Создать ВМ на выделенном хосте
  • Yandex Container Solution
  • Практические руководства
    • Настройка синхронизации времени NTP
    • Работа с группой ВМ с автоматическим масштабированием
    • Автомасштабирование группы ВМ для обработки сообщений из очереди
    • Обновление группы ВМ под нагрузкой
    • Развертывание Remote Desktop Gateway
    • Передача логов с ВМ в Yandex Cloud Logging
  • Концепции
    • Взаимосвязь ресурсов
    • Виртуальные машины
      • Обзор
      • Платформы
      • Уровни производительности vCPU
      • Прерываемые виртуальные машины
      • Сеть на виртуальной машине
      • Программно-ускоренная сеть
      • Динамическая миграция
      • Группы размещения
      • Статусы
      • Метаданные
    • Графические ускорители GPU и vGPU
    • Диски и файловые хранилища
      • Обзор
      • Диски
      • Снимки дисков
      • Группы размещения нереплицируемых дисков
      • Файловые хранилища
      • Операции чтения и записи
    • Образы
    • Группы виртуальных машин
      • Обзор
      • Доступ
      • YAML-спецификация
      • Шаблон виртуальной машины
      • Переменные в шаблоне виртуальной машины
      • Политики
        • Обзор
        • Политика распределения
        • Политика развертывания
        • Политика масштабирования
      • Типы масштабирования
      • Автоматическое восстановление
      • Обновление
        • Обзор
        • Распределение виртуальных машин по зонам
        • Алгоритм развертывания
        • Правила обновления виртуальных машин
        • Изменение дополнительных дисков в шаблоне виртуальной машины
      • Остановка группы и приостановка процессов
      • Статусы
    • Выделенный хост
    • Резервное копирование
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта до 1 мая 2019 года
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • DiskPlacementGroupService
      • DiskService
      • DiskTypeService
      • FilesystemService
      • HostGroupService
      • HostTypeService
      • ImageService
      • InstanceService
      • PlacementGroupService
      • SnapshotService
      • ZoneService
      • InstanceGroupService
      • OperationService
    • REST (англ.)
      • Overview
      • DiskPlacementGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listDisks
        • listOperations
        • update
      • Disk
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • move
        • update
      • DiskType
        • Overview
        • get
        • list
      • Filesystem
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • HostGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listHosts
        • listInstances
        • listOperations
        • update
      • HostType
        • Overview
        • get
        • list
      • Image
        • Overview
        • create
        • delete
        • get
        • getLatestByFamily
        • list
        • listOperations
        • update
      • Instance
        • Overview
        • addOneToOneNat
        • attachDisk
        • attachFilesystem
        • create
        • delete
        • detachDisk
        • detachFilesystem
        • get
        • getSerialPortOutput
        • list
        • listOperations
        • move
        • removeOneToOneNat
        • restart
        • start
        • stop
        • update
        • updateMetadata
        • updateNetworkInterface
      • PlacementGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listInstances
        • listOperations
        • update
      • Snapshot
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • Zone
        • Overview
        • get
        • list
      • Operation
        • Overview
        • get
      • InstanceGroup
        • Overview
        • list
        • get
        • listLogRecords
        • updateFromYaml
        • updateAccessBindings
        • pauseProcesses
        • stop
        • start
        • delete
        • listInstances
        • createFromYaml
        • update
        • setAccessBindings
        • listOperations
        • create
        • listAccessBindings
        • resumeProcesses
  • Вопросы и ответы
    • Общие вопросы
    • Виртуальные машины
    • Подключение
    • Диски, снимки, образы
    • Аварийное восстановление
    • Мониторинг
    • Лицензирование
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Создание образа
  3. Загрузить свой образ

Загрузить свой образ диска в Yandex Cloud

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

Эта инструкция описывает, как загрузить в Yandex Object Storage файл образа с ОС Linux, а также создать из него образ и виртуальную машину в сервисе Compute Cloud.

Поддерживаются известные системы виртуализации.

Важно

В Compute Cloud создать образ можно только из файла, загруженного в Object Storage. Также вы можете мигрировать виртуальную машину с помощью Hystax Acura.

Подготовьте файл с образом

Для образов загрузочного диска должны выполняться следующие требования:

  • Установлены драйверы virtio-net и virtio-blk. Если вы собираетесь подключать к ВМ файловые хранилища, также должен быть установлен драйвер virtiofs. См. инструкцию.
  • Терминал ttyS0 (порт COM1) настроен в качестве серийной консоли. См. инструкцию.
  • Сетевой интерфейс корректно запускается при старте ВМ и получает IP-адрес по DHCP.
  • Пакет cloud-init установлен и настроен для работы с нашим сервисом метаданных. Установить пакет для CentOS можно с помощью команды sudo yum install cloud-init, для Debian или Ubuntu — sudo apt update && sudo apt install -y cloud-init.
  • В настройках системного файрвола открыт необходимый минимум портов для работы ваших приложений, а также порт для доступа по SSH (по умолчанию это порт 22 TCP).
  • SSH-сервер запускается автоматически при старте ВМ.
  • Сервисы с вашим приложением устойчивы к перезагрузке ВМ.
  • Используется разбивка диска GPT.
  • Диск смонтирован по UUID, а не по имени.

Инструкции по настройке см. в разделе Подготовить свой образ диска.

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

Загрузите файл с образом в сервис Object Storage и получите ссылку на загруженный образ:

  1. Если у вас еще нет бакета в Object Storage, создайте его.
  2. Загрузите образ в ваш бакет, например, через консоль управления, с помощью AWS CLI или WinSCP. В терминах Object Storage загружаемый файл образа будет называться объектом.
  3. Получите ссылку на загруженный образ. Используйте эту ссылку при создании образа в Compute Cloud.

Создайте образ в Compute Cloud

Создайте новый образ по ссылке, полученной в Object Storage:

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором нужно создать образ.

  2. Выберите сервис Compute Cloud.

  3. На панели слева выберите Образы.

  4. Нажмите кнопку Загрузить образ.

  5. Введите имя образа.

    • Длина — от 2 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.
  6. Если требуется, добавьте произвольное описание образа.

  7. Вставьте ссылку на образ, полученную в Object Storage.

  8. Чтобы создать оптимизированный образ, включите опцию Оптимизировать для развертывания.

  9. Нажмите кнопку Загрузить.

Чтобы создать новый образ по ссылке, воспользуйтесь флагом --source-uri. Для создания оптимизированного образа используйте флаг --pooled.

yc compute image create --name <image-name> --source-uri <image-URL> --pooled

Где:

  • <image-name> — имя, которое будет присвоено образу.
  • <image-URL> — ссылка на образ, полученная в Object Storage.

Если необходимо, добавьте описание и укажите семейство, к которому относится этот образ:

yc compute image create \
  --name ubuntu-cosmic \
  --description "Ubuntu Server 18.10 (Cosmic Cuttlefish)" \
  --family ubuntu \
  --source-uri "https://storage.yandexcloud.net/mybucket/cosmic-server-cloudimg-amd64.vmdk"

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

yc compute image create \
  --name big-image \
  --min-disk-size 20 \
  --source-uri "https://storage.yandexcloud.net/mybucket/cosmic-server-cloudimg-amd64.vmdk"

Примечание

Значение min-disk-size должно быть больше объема исходных данных в образе и больше размера виртуального диска, указанного в образе.

Если указать значение min-disk-size меньше допустимого, то произойдет ошибка и образ не будет создан. В описании ошибки будет указано минимальное значение в байтах, например Minimal disk size should be greater or equal than 10737418240.

Если не указать min-disk-size, будет использовано минимальное значение.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

Чтобы создать образ:

  1. Опишите в конфигурационном файле параметры ресурса yandex_compute_image.

    Пример структуры конфигурационного файла:

    resource "yandex_compute_image" "image-1" {
      name       = "ubuntu-cosmic"
      os_type    = "LINUX"
      source_url = "<ссылка на образ в Object Storage>"
      pooled     = "false"
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

    1. Выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов.

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

Создайте новый образ с помощью метода ImageService/Create gRPC API или метода create ресурса Image REST API. В запросе укажите ссылку на образ.

После создания образ перейдет в статус CREATING. Дождитесь, когда образ перейдет в статус READY, прежде чем его использовать.

Удалите образ из Object Storage

Если образ был успешно создан, вы можете удалить файл образа из сервиса Object Storage. Также можно удалить бакет, если в нем не осталось объектов.

Создайте виртуальную машину из подготовленного образа

Консоль управления
CLI
API
Terraform

Чтобы создать виртуальную машину:

  1. В консоли управления выберите каталог, в котором будет создана виртуальная машина.

  2. В списке сервисов выберите Compute Cloud.

  3. Нажмите кнопку Создать ВМ.

  4. В блоке Базовые параметры:

    • Введите имя и описание ВМ. Требования к имени:

      • Длина — от 3 до 63 символов.
      • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
      • Первый символ — буква. Последний символ — не дефис.

      Примечание

      Имя виртуальной машины используется для генерации внутреннего FQDN единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.

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

  5. В блоке Выбор образа/загрузочного диска выберите один из образов.

  6. В блоке Диски и файловые хранилища добавьте диск:

    • Нажмите кнопку Добавить диск.
    • Введите имя диска.
    • Выберите тип диска.
    • Укажите нужный размер блока.
    • Укажите нужный размер диска.
    • (опционально) Включите опцию Удалять вместе с ВМ, если нужно автоматически удалять диск при удалении ВМ, к которой он будет подключен.
    • Выберите наполнение Образ.
    • Выберите нужный образ.
    • Нажмите кнопку Добавить.
  7. В блоке Вычислительные ресурсы:

    • Выберите платформу.
    • Укажите гарантированную долю и необходимое количество vCPU, а также объем RAM.
    • При необходимости сделайте виртуальную машину прерываемой.
    • (опционально) Включите программно-ускоренную сеть.
  8. В блоке Сетевые настройки:

    • Укажите идентификатор подсети или выберите облачную сеть из списка.
      Если сети нет, нажмите Создать сеть и создайте ее:
      • В открывшемся окне укажите укажите имя сети и каталог, в котором она будет создана.
      • (опционально) Для автоматического создания подсетей выберите опцию Создать подсети.
      • Нажмите Создать.
        У каждой сети должна быть как минимум одна подсеть. Если подсети нет, создайте ее, выбрав Добавить подсеть.
    • В поле Публичный адрес выберите способ назначения адреса:
      • Автоматически — чтобы назначить случайный IP-адрес из пула адресов Yandex Cloud. В этом случае можно включить защиту от DDoS-атак при помощи опции ниже.
      • Список — чтобы выбрать публичный IP-адрес из списка зарезервированных заранее статических адресов. Подробнее читайте в разделе Сделать динамический публичный IP-адрес статическим.
      • Без адреса — чтобы не назначать публичный IP-адрес.
    • В поле Внутренний адрес выберите способ назначения внутренних адресов: Автоматически или Вручную.
    • (опционально) Создайте запись для ВМ в зоне DNS. Разверните блок Настройки DNS для внутренних адресов, нажмите кнопку Добавить запись и укажите зону, FQDN и время жизни записи. Подробнее см. Интеграция Cloud DNS с Compute Cloud.
    • Выберите подходящие группы безопасности (если соответствующего поля нет, для виртуальной машины будет разрешен любой входящий и исходящий трафик).
  9. В блоке Доступ укажите данные для доступа на виртуальную машину:

    • (опционально) Выберите или создайте сервисный аккаунт. Использование сервисного аккаунта позволяет гибко настраивать права доступа к ресурсам.

    • В поле Логин введите имя пользователя.

      Внимание

      Не используйте логин root или другие имена, зарезервированные операционной системой. Для выполнения операций, требующих прав суперпользователя, используйте команду sudo.

    • В поле SSH-ключ вставьте содержимое файла открытого ключа.

    • Если требуется, разрешите доступ к серийной консоли.

  10. Нажмите кнопку Создать ВМ.

Виртуальная машина появится в списке. При создании виртуальной машине назначаются IP-адрес и имя хоста (FQDN).

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для создания виртуальной машины:

    yc compute instance create --help
    
  2. Получите список образов в каталоге по умолчанию:

    yc compute image list
    +----------------------+-------------------+--------+-------------+--------+
    |          ID          |       NAME        | FAMILY | PRODUCT IDS | STATUS |
    +----------------------+-------------------+--------+-------------+--------+
    |         ...          |         ...       |        |             |  ...   |
    | fd8gkcd3l6ov84aon8s1 |  your-test-image  |        |             | READY  |
    |         ...          |         ...       |        |             |  ...   |
    +----------------------+-------------------+--------+-------------+--------+
    
  3. Выберите идентификатор (ID) или имя (NAME) нужного образа.

  4. Создайте виртуальную машину в каталоге по умолчанию:

    yc compute instance create \
      --name test-vm-from-image \
      --zone ru-central1-a \
      --create-boot-disk name=disk1,size=5,image-id=fd8gkcd3l6ov84aon8s1 \
      --public-ip \
      --ssh-key ~/.ssh/id_rsa.pub
    

    Данная команда создаст виртуальную машину с загрузочным диском на 5 ГБ из заранее загруженного образа с именем test-vm-from-image.

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.

    Примечание

    Имя виртуальной машины используется для генерации внутреннего FQDN единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.

    На машине будет создан пользователь yc-user с публичным ключом из файла ~/.ssh/id_rsa.pub. Виртуальная машина получит публичный IP-адрес. Чтобы создать виртуальную машину без публичного IP, исключите флаг --public-ip.

Воспользуйтесь методом Create для ресурса Instance.

Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.

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

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

    Примечание

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

    • yandex_compute_instance — описание виртуальной машины:
      • name — имя виртуальной машины.
      • platform_id — платформа.
      • resources — количество ядер vCPU и объем RAM, доступные виртуальной машине. Значения должны соответствовать выбранной платформе.
      • boot_disk — настройки загрузочного диска. Укажите идентификатор загруженного образа.
      • network_interface — настройка сети. Укажите идентификатор выбранной подсети. Чтобы автоматически назначить виртуальной машине публичный IP-адрес, укажите nat = true.
      • metadata — в метаданных необходимо передать открытый ключ для SSH-доступа на виртуальную машину. Подробнее в разделе Метаданные виртуальной машины.
    • yandex_vpc_network — описание облачной сети.
    • yandex_vpc_subnet — описание подсети, к которой будет подключена виртуальная машина.

    Пример структуры конфигурационного файла:

    resource "yandex_compute_instance" "vm-1" {
    
      name        = "vm-from-image"
      platform_id = "standard-v3"
    
      resources {
        cores  = <количество ядер vCPU>
        memory = <объем RAM в ГБ>
      }
    
      boot_disk {
        initialize_params {
          image_id = "<идентификатор образа>"
        }
      }
    
      network_interface {
        subnet_id = "${yandex_vpc_subnet.subnet-1.id}"
        nat       = true
      }
    
      metadata = {
        ssh-keys = "<имя пользователя>:<содержимое SSH-ключа>"
      }
    }
    
    resource "yandex_vpc_network" "network-1" {
      name = "network1"
    }
    
    resource "yandex_vpc_subnet" "subnet-1" {
      name       = "subnet1"
      zone       = "<зона доступности>"
      network_id = "${yandex_vpc_network.network-1.id}"
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов.

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

О стоимости использования Object Storage читайте в разделе Правила тарификации для Object Storage.

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

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