Сделать виртуальную машину прерываемой
Вы можете создать прерываемую ВМ или изменить тип существующей ВМ.
Создать прерываемую ВМ
Чтобы создать прерываемую ВМ:
-
В консоли управления
выберите каталог, в котором будет создана прерываемая ВМ. -
В списке сервисов выберите Compute Cloud.
-
На панели слева выберите
Виртуальные машины. -
Нажмите кнопку Создать виртуальную машину.
-
В блоке Образ загрузочного диска выберите один из образов и версию операционной системы.
Если вы хотите создать ВМ из существующего загрузочного диска, перейдите на вкладку Пользовательский и выберите нужный загрузочный диск. Нажмите
напротив имени диска, если вы хотите изменить его настройки. -
В блоке Расположение выберите зону доступности, в которой будет находиться прерываемая ВМ.
-
(Опционально) В блоке Диски и файловые хранилища настройте загрузочный диск:
- Выберите тип диска.
- Задайте нужный размер диска.
-
(Опционально) Чтобы зашифровать загрузочный или дополнительный диск, в блоке Диски и файловые хранилища справа от имени диска нажмите значок
и задайте параметры шифрования для диска:- Выберите опцию Зашифрованный диск.
- В поле Ключ KMS выберите ключ, которым вы хотите зашифровать диск. Чтобы создать новый ключ, нажмите кнопку Создать новый.
Важно
Задать настройки шифрования можно только при создании диска. Шифрование диска нельзя будет отключить или изменить.
Если деактивировать ключ, которым были зашифрованы диск, снимок или образ, доступ к данным будет приостановлен, пока ключ не будет снова активирован.
Внимание
Если удалить ключ или его версию, которыми были зашифрованы диск, снимок или образ, доступ к данным будет безвозвратно потерян. Подробнее см. Удаление версии ключа.
Если вы создаете ВМ из существующего загрузочного диска, измените настройки этого диска на вкладке Пользовательский в блоке Образ загрузочного диска вверху формы.
-
(Опционально) Добавьте дополнительный диск:
-
В блоке Диски и файловые хранилища нажмите кнопку Добавить.
-
В открывшемся окне выберите Диск. Вы можете выбрать существующий диск или создать новый диск — пустой или из снимка / образа.
Например, чтобы создать новый пустой диск:
- Выберите
Создать новый
. - В поле Наполнение выберите
Пустой
. - Укажите имя диска.
- Выберите тип диска.
- Задайте нужные размер диска и размер блока.
- (Опционально) В поле Дополнительно включите опцию Удалять вместе с виртуальной машиной, если вы хотите автоматически удалять этот диск при удалении ВМ.
- Нажмите кнопку Добавить диск.
- Выберите
-
-
(Опционально) Подключите файловое хранилище:
-
В блоке Диски и файловые хранилища нажмите кнопку Добавить.
-
В открывшемся окне выберите Файловое хранилище и в появившемся списке выберите хранилище, которое требуется подключить.
-
Нажмите кнопку Добавить файловое хранилище.
-
-
-
В блоке Вычислительные ресурсы:
- Перейдите на вкладку Своя конфигурация.
- Выберите платформу.
- Укажите гарантированную долю и необходимое количество vCPU, а также объем RAM.
- В поле Дополнительно включите опцию Прерываемая.
- (Опционально) Включите программно-ускоренную сеть.
-
В блоке Сетевые настройки:
-
В поле Подсеть укажите идентификатор подсети в зоне доступности создаваемой ВМ или выберите облачную сеть из списка.
-
У каждой сети должна быть как минимум одна подсеть. Если подсети нет, создайте ее, выбрав Создать подсеть.
-
Если сети нет, нажмите Создать сеть и создайте ее:
- В открывшемся окне укажите имя сети и выберите каталог, в котором она будет создана.
- (Опционально) Выберите опцию Создать подсети, чтобы автоматически создать подсети во всех зонах доступности.
- Нажмите Создать сеть.
-
-
В поле Публичный IP-адрес выберите способ назначения адреса:
Автоматически
— чтобы назначить случайный IP-адрес из пула адресов Yandex Cloud. В этом случае можно включить защиту от DDoS-атак при помощи опции ниже.Список
— чтобы выбрать публичный IP-адрес из списка зарезервированных заранее статических адресов. Подробнее читайте в разделе Сделать динамический публичный IP-адрес статическим.Без адреса
— чтобы не назначать публичный IP-адрес.
-
Выберите подходящие группы безопасности. Если оставить поле пустым, то виртуальной машине будет автоматически назначена группа безопасности по умолчанию.
-
Разверните блок Дополнительно и в поле Внутренний IPv4 адрес выберите способ назначения внутренних адресов:
Автоматически
— чтобы назначить случайный IP-адрес из пула адресов, доступных в выбранной подсети.Вручную
— чтобы задать внутренний IP-адрес ВМ вручную.- При необходимости включите опцию Защита от DDoS-атак. Опция доступна, если ранее в настройках публичного адреса вы выбрали автоматический способ назначения адреса.
-
(Опционально) Создайте записи для ВМ в зоне DNS:
- Разверните блок Настройки DNS для внутренних адресов и нажмите Добавить запись.
- Укажите зону, FQDN и время жизни записи. При указании FQDN для зоны доступна опция
Определять автоматически
.
Вы можете добавить несколько записей во внутренние зоны DNS. Подробнее см. Интеграция Cloud DNS с Compute Cloud. - Чтобы создать еще одну запись, нажмите кнопку Добавить запись.
Если вы хотите добавить на ВМ дополнительный сетевой интерфейс, нажмите кнопку Добавить сетевой интерфейс и в появившемся блоке настроек нового интерфейса повторите действия, описанные выше в этом шаге. На одну ВМ можно добавить до восьми сетевых интерфейсов.
-
-
В блоке Доступ:
-
Выберите Доступ по OS Login, чтобы подключаться к создаваемой ВМ и управлять доступом к ней с помощью OS Login в Yandex Cloud Organization.
Используя OS Login, вы сможете подключаться к ВМ по SSH-ключам и SSH-сертификатам с помощью стандартного SSH-клиента или интерфейса командной строки Yandex Cloud. OS Login позволяет ротировать SSH-ключи, используемые для доступа к ВМ, и является наиболее безопасным вариантом доступа.
-
Если доступ по OS Login вам не подходит, выберите вариант SSH-ключ и укажите данные для доступа к ВМ:
-
В поле Логин введите имя пользователя.
Внимание
Не используйте логин
root
или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте командуsudo
. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
- Нажмите кнопку Добавить ключ.
- Задайте имя SSH-ключа.
- Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
- Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации.
Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя создаваемой виртуальной машины.
-
Если вы хотите добавить на ВМ одновременно нескольких пользователей с SSH-ключами, задайте данные этих пользователей в блоке Метаданные. С помощью метаданных вы также можете установить дополнительное ПО на ВМ при ее создании.
В публичных образах Linux, предоставляемых Yandex Cloud, возможность подключения по протоколу SSH с использованием логина и пароля по умолчанию отключена.
-
-
В блоке Общая информация задайте имя прерываемой ВМ:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Примечание
Имя виртуальной машины используется для генерации внутреннего FQDN единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
-
В блоке Дополнительно:
-
(Опционально) Выберите или создайте сервисный аккаунт. Использование сервисного аккаунта позволяет гибко настраивать права доступа к ресурсам.
-
(Опционально) Разрешите доступ к серийной консоли.
-
(Опционально) В блоке Резервное копирование включите опцию Подключить и выберите или создайте политику резервного копирования, чтобы автоматически создавать резервные копии ВМ с помощью сервиса Cloud Backup.
Подробнее см. в разделе Подключение виртуальных машин Compute Cloud и серверов Yandex BareMetal к Cloud Backup.
-
(Опционально) В блоке Мониторинг включите опцию Агент сбора метрик, чтобы настроить поставку метрик в Yandex Monitoring.
-
(Опционально) В блоке Размещение выберите группу размещения ВМ.
-
-
Нажмите кнопку Создать ВМ.
Прерываемая ВМ появится в списке.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания прерываемой ВМ:
yc compute instance create --help
-
Подготовьте пару ключей (открытый и закрытый) для SSH-доступа на прерываемую ВМ.
-
Выберите один из публичных образов Yandex Cloud Marketplace на базе ОС Linux (например, CentOS 7).
Чтобы получить список доступных образов с помощью CLI, выполните команду:
yc compute image list --folder-id standard-images
Результат:
+----------------------+-------------------------------------+--------------------------+----------------------+--------+ | ID | NAME | FAMILY | PRODUCT IDS | STATUS | +----------------------+-------------------------------------+--------------------------+----------------------+--------+ ... | fdvk34al8k5n******** | centos-7-1549279494 | centos-7 | dqni65lfhvv2******** | READY | | fdv7ooobjfl3******** | windows-2016-gvlk-1548913814 | windows-2016-gvlk | dqnnc72gj2is******** | READY | | fdv4f5kv5cvf******** | ubuntu-1604-lts-1549457823 | ubuntu-1604-lts | dqnnb6dc7640******** | READY | ... +----------------------+-------------------------------------+--------------------------+----------------------+--------+
Где:
-
ID
— идентификатор образа. -
NAME
— имя образа. -
FAMILY
— идентификатор семейства образов, к которому относится образ. -
PRODUCT IDS
— идентификаторы продуктов Yandex Cloud Marketplace, связанных с образом. -
STATUS
— текущий статус образа. Может принимать одно из значений:STATUS_UNSPECIFIED
— статус образа не определен.CREATING
— образ в процессе создания.READY
— образ готов к использованию.ERROR
— образ нельзя использовать из-за возникшей с ним проблемы.DELETING
— образ в процессе удаления.
-
-
Создайте прерываемую ВМ в каталоге по умолчанию:
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_ed25519.pub
Примечание
Если вы используете CLI версии 0.92.0 или ниже, в команде также нужно указать платформу ВМ:
--platform standard-v3
. Узнать версию CLI можно с помощью командыyc version
, установить последнюю версию — с помощью командыyc components update
.Где:
-
--name
— имя прерываемой ВМ. Требования к имени:- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Примечание
Имя виртуальной машины используется для генерации внутреннего FQDN единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
-
--zone
— зона доступности, которая соответствует выбранной подсети. -
--network-interface
— настройки сетевого интерфейса ВМ:subnet-name
— имя выбранной подсети.nat-ip-version=ipv4
– публичный IP-адрес. Чтобы создать ВМ без публичного IP-адреса, исключите параметр.
Если вы хотите добавить на ВМ несколько сетевых интерфейсов, задайте параметр
--network-interface
необходимое количество раз. На одну ВМ можно добавить до восьми сетевых интерфейсов. -
--preemptible
— выбор прерываемого типа ВМ. -
--create-boot-disk
— настройки загрузочного диска ВМ:image-family
— семейство образов, например,centos-7
. Эта опция позволит установить последнюю версию ОС из указанного семейства.
-
--ssh-key
— путь к файлу с публичным SSH-ключом. Для этого ключа на прерываемой ВМ будет автоматически создан пользовательyc-user
.При создании ВМ из публичного образа Yandex Cloud Marketplace обязательно передавайте в ВМ SSH-ключ, поскольку доступ по протоколу SSH с использованием логина и пароля для таких образов по умолчанию отключен.
-
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
resource "yandex_compute_disk" "boot-disk" { name = "<имя_диска>" type = "<тип_диска>" zone = "<зона_доступности>" size = "<размер_диска>" image_id = "<идентификатор_образа>" } resource "yandex_compute_instance" "vm-1" { name = "preemptible-vm" allow_stopping_for_update = true platform_id = "standard-v3" zone = "<зона_доступности>" resources { cores = <количество_ядер_vCPU> memory = <объем_RAM_ГБ> } boot_disk { disk_id = yandex_compute_disk.boot-disk.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}" }
Где:
-
yandex_compute_disk
— описание загрузочного диска:-
name
— имя диска. -
type
— тип создаваемого диска. -
zone
— зона доступности, в которой будет находиться диск. -
size
— размер диска в ГБ. -
image_id
— идентификатор образа для прерываемой ВМ. Вы можете получить идентификатор образа из списка публичных образов.Идентификаторы образа также можно посмотреть в консоли управления
при создании ВМ или в Cloud Marketplace на странице образа в блоке Идентификаторы продукта.
-
-
yandex_compute_instance
— описание прерываемой ВМ:-
name
— имя прерываемой ВМ. -
allow_stopping_for_update
— разрешение на остановку работы виртуальной машины для внесения изменений. Установите значениеtrue
, если планируете изменять сетевые настройки или вычислительные ресурсы ВМ с помощью Terraform. Значение по умолчаниюfalse
. -
platform_id
— платформа. -
zone
— зона доступности, в которой будет находиться прерываемая ВМ. -
resources
— количество ядер vCPU и объем RAM, доступные прерываемой ВМ. Значения должны соответствовать выбранной платформе. -
boot_disk
— настройки загрузочного диска. Укажите идентификатор диска. -
network_interface
— настройки сетевого интерфейса ВМ. Укажите идентификатор выбранной подсети. Чтобы автоматически назначить ВМ публичный IP-адрес, укажитеnat = true
.Если вы хотите добавить на ВМ несколько сетевых интерфейсов, задайте блок
network_interface
необходимое количество раз. На одну ВМ можно добавить до восьми сетевых интерфейсов. -
metadata
— в метаданных необходимо передать открытый ключ для SSH-доступа на прерываемую ВМ. Подробнее в разделе Метаданные виртуальной машины. -
scheduling_policy
— политика планирования. Чтобы создать прерываемую ВМ, укажитеpreemptible = true
.
-
-
yandex_vpc_network
— описание облачной сети. -
yandex_vpc_subnet
— описание подсети, к которой будет подключена прерываемая ВМ.
Примечание
Если у вас уже есть подходящие ресурсы (облачная сеть и подсеть), описывать их повторно не нужно. Используйте их имена и идентификаторы в соответствующих параметрах.
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера
. -
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
. -
Воспользуйтесь методом REST API create для ресурса Instance или вызовом gRPC API InstanceService/Create.
При создании виртуальной машине назначаются IP-адрес и доменное имя (FQDN).
Сменить тип ВМ
Чтобы сменить тип ВМ, например, сделать ВМ непрерываемой:
- В консоли управления
выберите каталог, в котором находится прерываемая ВМ. - В списке сервисов выберите Compute Cloud.
- На панели слева выберите
Виртуальные машины. - В строке с нужной ВМ нажмите
и выберите Остановить. - В открывшемся окне нажмите Остановить. Статус ВМ изменится на
Stopped
. - В строке с нужной ВМ нажмите
и выберите Редактировать. - В блоке Вычислительные ресурсы выключите опцию Прерываемая.
- Нажмите Сохранить изменения.
- Справа сверху нажмите
Запустить. - В открывшемся окне нажмите Запустить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для остановки ВМ:
yc compute instance stop --help
-
Получите список всех ВМ в каталоге по умолчанию:
yc compute instance list
Результат:
+----------------------+-----------------+---------------+---------+----------------------+ | ID | NAME | ZONE ID | STATUS | DESCRIPTION | +----------------------+-----------------+---------------+---------+----------------------+ | fhm0b28lgfp4******** | first-instance | ru-central1-a | RUNNING | my first vm via CLI | | fhm9gk85nj7g******** | second-instance | ru-central1-a | RUNNING | my second vm via CLI | +----------------------+-----------------+---------------+---------+----------------------+
-
Выберите идентификатор (
ID
) или имя (NAME
) нужной ВМ, напримерfirst-instance
. -
Остановите ВМ:
yc compute instance stop <имя_или_идентификатор_ВМ>
Результат:
done (15s)
-
Измените параметры ВМ:
yc compute instance update <имя_или_идентификатор_ВМ> \ --preemptible=false
Результат:
done (1s) id: fhm0b28lgfp4******** folder_id: b1ghgf288nvg******** ... network_settings: type: STANDARD placement_policy: {}
-
Вновь запустите ВМ:
yc compute instance start <имя_или_идентификатор_ВМ>
Результат:
done (11s) id: fhm0b28lgfp4******** folder_id: b1ghgf288nvg******** ... network_settings: type: STANDARD placement_policy: {}
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Найдите в конфигурационном файле описание политики планирования ВМ, которую нужно сделать непрерываемой:
scheduling_policy { preemptible = true }
-
Удалите поле
scheduling_policy
со значениемpreemptible = true
.Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера
. -
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
. -
Воспользуйтесь методом REST API update для ресурса Instance или вызовом gRPC API InstanceService/Update. В теле запроса в блоке schedulingPolicy
укажите "preemptible": false
.
Тарификация ВМ после этого изменится. Подробнее о тарификации ВМ.