Создать виртуальную машину из набора дисков
Создать виртуальную машину можно из существующих дисков. Диски должны находиться в одной из зон доступности и не быть добавленными к другим виртуальным машинам.
При выборе диска для подключения к виртуальной машине можно указать, следует ли удалять этот диск при удалении соответствующей машины. Указать это можно при создании, изменении виртуальной машины и при подключении нового диска.
Чтобы создать виртуальную машину из набора дисков:
Чтобы создать виртуальную машину:
-
В консоли управления выберите каталог, в котором будет создана виртуальная машина.
-
В списке сервисов выберите Compute Cloud.
-
Нажмите кнопку Создать ВМ.
-
В блоке Базовые параметры:
-
Введите имя и описание ВМ. Требования к имени:
- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
Примечание
Имя виртуальной машины используется для генерации внутреннего FQDN единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
-
Выберите зону доступности, в которой будет находиться виртуальная машина.
-
-
В блоке Выбор образа/загрузочного диска выберите один из образов.
-
В блоке Диски и файловые хранилища добавьте диск:
- Нажмите кнопку Добавить диск.
- Введите имя диска.
- Выберите тип диска.
- Укажите нужный размер блока.
- Укажите нужный размер диска.
- (опционально) Включите опцию Удалять вместе с ВМ, если нужно автоматически удалять диск при удалении ВМ, к которой он будет подключен.
- Выберите наполнение
Диск
. - Нажмите кнопку Добавить.
-
(опционально) В блоке Диски и файловые хранилища на вкладке Файловые хранилища подключите файловое хранилище:
* Нажмите кнопку Подключить файловое хранилище.
* В открывшемся окне выберите файловое хранилище.
* Введите имя устройства.
* Нажмите кнопку Подключить файловое хранилище. -
В блоке Вычислительные ресурсы:
- Выберите платформу.
- Укажите гарантированную долю и необходимое количество vCPU, а также объем RAM.
- При необходимости сделайте виртуальную машину прерываемой.
- (опционально) Включите программно-ускоренную сеть.
-
В блоке Сетевые настройки:
- Укажите идентификатор подсети или выберите облачную сеть из списка.
Если сети нет, нажмите Создать сеть и создайте ее:- В открывшемся окне укажите укажите имя сети и каталог, в котором она будет создана.
- (опционально) Для автоматического создания подсетей выберите опцию Создать подсети.
- Нажмите Создать.
У каждой сети должна быть как минимум одна подсеть. Если подсети нет, создайте ее, выбрав Добавить подсеть.
- В поле Публичный адрес выберите способ назначения адреса:
- Автоматически — чтобы назначить случайный IP-адрес из пула адресов Yandex Cloud. В этом случае можно включить защиту от DDoS-атак при помощи опции ниже.
- Список — чтобы выбрать публичный IP-адрес из списка зарезервированных заранее статических адресов. Подробнее читайте в разделе Сделать динамический публичный IP-адрес статическим.
- Без адреса — чтобы не назначать публичный IP-адрес.
- В поле Внутренний адрес выберите способ назначения внутренних адресов: Автоматически или Вручную.
- (опционально) Создайте запись для ВМ в зоне DNS. Разверните блок Настройки DNS для внутренних адресов, нажмите кнопку Добавить запись и укажите зону, FQDN и время жизни записи. Подробнее см. Интеграция Cloud DNS с Compute Cloud.
- Выберите подходящие группы безопасности (если соответствующего поля нет, для виртуальной машины будет разрешен любой входящий и исходящий трафик).
- Укажите идентификатор подсети или выберите облачную сеть из списка.
-
В блоке Доступ укажите данные для доступа на виртуальную машину:
-
(опционально) Выберите или создайте сервисный аккаунт. Использование сервисного аккаунта позволяет гибко настраивать права доступа к ресурсам.
-
В поле Логин введите имя пользователя.
Внимание
Не используйте логин
root
или другие имена, зарезервированные операционной системой. Для выполнения операций, требующих прав суперпользователя, используйте командуsudo
. -
В поле SSH-ключ вставьте содержимое файла открытого ключа.
-
Если требуется, разрешите доступ к серийной консоли.
-
-
Нажмите кнопку Создать ВМ.
Виртуальная машина появится в списке. При создании виртуальной машине назначаются IP-адрес и имя хоста (FQDN).
Если у вас еще нет интерфейса командной строки 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-v3" 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
-
Подтвердите создание ресурсов.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.
-