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

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

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

    2. Нажмите кнопку Создать ресурс.

    3. Выберите Виртуальная машина.

    4. В поле Имя введите имя виртуальной машины.

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

      Примечание

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

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

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

    7. В блоке Вычислительные ресурсы:

      • Выберите платформу.
      • Укажите необходимое количество вычислительных ресурсов.
      • Установите флажок Прерываемая.
    8. В блоке Сетевые настройки нажмите кнопку Добавить сеть.

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

    10. В поле Публичный адрес выберите:

      • Автоматически — чтобы назначить публичный IP-адрес автоматически. Адрес выделяется из пула адресов Яндекс.Облака.
      • Список — чтобы выбрать публичный IP-адрес из списка статических адресов. Подробнее читайте в разделе Сделать динамический публичный IP-адрес статическим документации сервиса Virtual Private Cloud.
      • Без адреса — чтобы не назначать публичный IP-адрес.
    11. Укажите данные для доступа на виртуальную машину:

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

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

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

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

      $ yc compute instance create --help
      
    2. Подготовьте пару ключей (открытый и закрытый) для SSH-доступа на виртуальную машину.

    3. Выберите один из публичных образов на базе операционной системы Linux (например, CentOS 7).

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

      $ yc compute image list --folder-id standard-images
      +----------------------+-------------------------------------+--------------------------+----------------------+--------+
      |          ID          |                NAME                 |          FAMILY          |     PRODUCT IDS      | STATUS |
      +----------------------+-------------------------------------+--------------------------+----------------------+--------+
      ...
      | fdvk34al8k5nltb58shr | centos-7-1549279494                 | centos-7                 | dqni65lfhvv2den5gtv9 | READY  |
      | fdv7ooobjfl3ts9gqp0q | windows-2016-gvlk-1548913814        | windows-2016-gvlk        | dqnnc72gj2ist3ktjj1p | READY  |
      | fdv4f5kv5cvf3ohu4flt | ubuntu-1604-lts-1549457823          | ubuntu-1604-lts          | dqnnb6dc7640c5i968ro | READY  |
      ...
      +----------------------+-------------------------------------+--------------------------+----------------------+--------+
      
    4. Создайте виртуальную машину в каталоге по умолчанию:

      $ yc compute instance create \
          --name first-preemptible-instance \
          --zone ru-central1-a \
          --network-interface subnet-name=default-a,nat-ip-version=ipv4 \
          --preemptible \
          --create-boot-disk image-folder-id=standard-images,image-family=centos-7 \
          --ssh-key ~/.ssh/id_rsa.pub
      

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

      • С именем first-preemptible-instance.
      • С OC CentOS 7.
      • В зоне доступности ru-central1-a.
      • В подсети default-a.
      • С публичным IP.

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

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

      Примечание

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

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

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

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

      Примечание

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

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

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

      resource "yandex_compute_instance" "vm-1" {
      
        name        = "preemptible-vm"
        platform_id = "standard-v2"
      
        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-ключа>}"
        }
      
        scheduling_policy {
          preemptible = true
        }
      }
      
      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. Подтвердите создание ресурсов.

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

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

    См. также