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