Создать прерываемую виртуальную машину
Чтобы создать прерываемую виртуальную машину:
-
Откройте каталог, в котором будет создана виртуальная машина.
-
Нажмите кнопку Создать ресурс.
-
Выберите Виртуальная машина.
-
В поле Имя введите имя виртуальной машины.
- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
Примечание
Имя виртуальной машины используется для генерации имени FQDN единожды — при создании ВМ. Если для вас важно имя FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
-
Выберите зону доступности, в которой будет находиться виртуальная машина.
-
Выберите один из публичных образов на базе операционной системы Linux.
-
В блоке Вычислительные ресурсы:
- Выберите платформу.
- Укажите необходимое количество вычислительных ресурсов.
- Установите флажок Прерываемая.
-
В блоке Сетевые настройки нажмите кнопку Добавить сеть.
-
В открывшемся окне выберите, к какой подсети необходимо подключить виртуальную машину при создании.
-
В поле Публичный адрес выберите:
- Автоматически — чтобы назначить публичный IP-адрес автоматически. Адрес выделяется из пула адресов Yandex.Cloud.
- Список — чтобы выбрать публичный IP-адрес из списка статических адресов. Подробнее читайте в разделе Сделать динамический публичный IP-адрес статическим документации сервиса Virtual Private Cloud.
- Без адреса — чтобы не назначать публичный IP-адрес.
-
Укажите данные для доступа на виртуальную машину:
- В поле Логин введите имя пользователя.
- В поле SSH ключ вставьте содержимое файла открытого ключа.
Пару ключей для подключения по SSH необходимо создать самостоятельно. Подробнее читайте в разделе Создание пары ключей SSH.
-
Нажмите кнопку Создать ВМ.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания виртуальной машины:
$ yc compute instance create --help
-
Подготовьте пару ключей (открытый и закрытый) для SSH-доступа на виртуальную машину.
-
Выберите один из публичных образов на базе операционной системы 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 | ... +----------------------+-------------------------------------+--------------------------+----------------------+--------+
-
Создайте виртуальную машину в каталоге по умолчанию:
$ 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, учитывайте это и задавайте нужное имя ВМ при создании.
- С именем
Воспользуйтесь методом Create для ресурса Instance
.
Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex.Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
Примечание
Если у вас уже есть подходящие ресурсы (облачная сеть и подсеть), описывать их повторно не нужно. Используйте их имена и идентификаторы в соответствующих параметрах.
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, см. в документации провайдера.
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
$ terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
$ terraform apply
-
Подтвердите создание ресурсов.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.
-
При создании виртуальной машине назначаются IP-адрес и доменное имя (FQDN).