Создать виртуальную машину из набора дисков

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

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

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

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

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

    3. На странице Виртуальные машины нажмите кнопку Создать ВМ.

    4. В блоке Базовые параметры введите имя и описание ВМ.

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

      Примечание

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

    5. В блоке Зона доступности выберите нужную зону доступности. Подробнее о географии Облака.

    6. Выберите один из публичных образов.

    7. В блоке Диски нажмите Добавить диск:

      • Введите имя диска.
      • Укажите нужный размер диска.
      • Выберите тип диска.
      • В поле Наполнение выберите Диск. Если диска нет, создайте его.
    8. В блоке Вычислительные ресурсы:

    9. В блоке Сетевые настройки выберите сеть из списка или создайте новую, нажав кнопку Создать новую сеть.

    10. Выберите нужную подсеть из списка или создайте новую, нажав кнопку Создать новую подсеть.

    11. Выберите нужный вариант публичного IP-адреса.

    12. В блоке Доступ укажите данные для доступа на виртуальную машину:

      • В поле Логин введите имя пользователя.
      • В поле SSH-ключ вставьте содержимое файла открытого ключа. Пару ключей для подключения по SSH необходимо создать самостоятельно.
    13. Нажмите кнопку Создать ВМ.

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

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

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

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

      $ yc compute disk list
      +----------------------+--------------+-------------+---------------+--------+----------------------+-------------------------+
      |          ID          |     NAME     |    SIZE     |     ZONE      | STATUS |     INSTANCE IDS     |       DESCRIPTION       |
      +----------------------+--------------+-------------+---------------+--------+----------------------+-------------------------+
      | a7lqgbt0bb9s40tifuhc | first-disk   | 20401094656 | ru-central1-a | READY  | a7lcvu28njbhnkcteb5n |                         |
      | a7lv5j5hm1p1hppprga7 | second-disk  | 21474836480 | ru-central1-a | READY  |                      |                         |
      +----------------------+--------------+-------------+---------------+--------+----------------------+-------------------------+
      
    3. Выберите идентификатор (ID) или имя (NAME) нужных дисков.

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

      $ yc compute instance create \
          --name first-instance \
          --zone ru-central1-a \
          --network-interface subnet-name=default-a,nat-ip-version=ipv4 \
          --use-boot-disk disk-name=first-disk \
          --attach-disk disk-name=second-disk \
          --ssh-key ~/.ssh/id_rsa.pub
      

      Данная команда создаст виртуальную машину:

      • С именем first-instance.
      • В зоне доступности ru-central1-a.
      • В подсети default-a.
      • С публичным IP и двумя дисками.

      Чтобы создать виртуальную машину без публичного IP, исключите флаг --public-ip.

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

      Примечание

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

      Чтобы указать необходимость удаления диска при удалении машины, установите флаг --auto-delete:

      yc compute instance create \
      --name first-instance \
      --zone ru-central1-a \
      --network-interface subnet-name=default-a,nat-ip-version=ipv4 \
      --use-boot-disk disk-name=first-disk,auto-delete=yes \
      --attach-disk disk-name=second-disk,auto-delete=yes \
      --ssh-key ~/.ssh/id_rsa.pub
      

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

    Если у вас ещё нет Terraform, установите его и настройте провайдер Яндекс.Облака.

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

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

      Примечание

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

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

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

      resource "yandex_compute_instance" "vm-1" {
      
        name        = "vm-from-disks"
        platform_id = "standard-v2"
      
        resources {
          cores  = <количество ядер vCPU>
          memory = <объем RAM в ГБ>
        }
      
        boot_disk {
          initialize_params {
            disk_id = "<идентификатор загрузочного диска>"
          }
        }
      
        secondary_disk {
          disk_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. Подтвердите создание ресурсов.

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