Создать виртуальную машину из публичного образа
Чтобы создать ВМ:
-
В консоли управления
откройте каталог, в котором будет создана ВМ. -
Справа сверху нажмите кнопку Создать ресурс.
-
В открывшемся списке выберите Виртуальная машина.
-
В блоке Базовые параметры:
-
Введите имя ВМ. Требования к имени:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Выберите зону доступности, в которой будет находиться ВМ.
-
-
В блоке Выбор образа/загрузочного диска выберите публичный образ с программным обеспечением, которое хотите использовать.
-
(Опционально) Если вы хотите добавить к ВМ дополнительные диски, выберите их в блоке Диски и файловые хранилища на вкладке Диски.
-
(Опционально) Если вы хотите подключить к ВМ дополнительные файловые хранилища, подключите их в блоке Диски и файловые хранилища на вкладке Файловые хранилища. Предварительно необходимо создать хранилища.
-
В блоке Вычислительные ресурсы:
- Выберите платформу.
- Укажите гарантированную долю и необходимое количество vCPU и объем RAM.
Примечание
Каждый публичный образ имеет свои минимальные системные требования к ВМ. Например, для образа GitLab из Yandex Cloud Marketplace требуется не меньше 4 виртуальных ядер и 8 ГБ оперативной памяти.
-
В блоке Сетевые настройки:
-
Укажите идентификатор подсети или выберите облачную сеть из списка. Можно выбрать зону поиска: в текущем каталоге или во всех каталогах. Если сети нет, нажмите кнопку
Создать сеть и создайте ее:-
В открывшемся окне укажите каталог, в котором будет располагаться новая сеть, и имя сети.
-
В поле Дополнительно выберите опцию Создать подсети — у каждой сети должна быть как минимум одна подсеть.
-
Нажмите кнопку Создать.
-
-
В поле Публичный адрес выберите способ назначения адреса:
Автоматически
— чтобы назначить случайный IP-адрес из пула адресов Yandex Cloud.Список
— чтобы выбрать публичный IP-адрес из списка зарезервированных заранее статических адресов. Подробнее читайте в разделе Сделать динамический публичный IP-адрес статическим.Без адреса
— чтобы не назначать публичный IP-адрес.
-
(Опционально) При необходимости в поле Дополнительно выберите опцию защиты от DDoS-атак.
-
В поле Группы безопасности выберите подходящие группы безопасности (если соответствующего поля нет, для ВМ будет разрешен любой входящий и исходящий трафик).
-
-
В блоке Доступ укажите данные для доступа на ВМ:
-
(Опционально) Выберите или создайте сервисный аккаунт. Использование сервисного аккаунта позволяет гибко настраивать права доступа к ресурсам.
-
(Опционально) Включите доступ к ВМ по OS Login. Опция доступна для образов Linux из Cloud Marketplace, которые содержат
OS Login
в названии. -
В поле Логин введите имя пользователя.
-
В поле SSH-ключ вставьте содержимое файла публичного ключа.
Примечание
Собственные SSH-ключи на ВМ с включенным доступом по OS Login передавайте через метаданные.
-
(Опционально) При необходимости в поле Дополнительно разрешите доступ к серийной консоли.
-
Если вы хотите добавить на ВМ одновременно нескольких пользователей с SSH-ключами, задайте данные этих пользователей в блоке Метаданные.
В публичных образах Linux, предоставляемых Yandex Cloud, возможность подключения по протоколу SSH с использованием логина и пароля по умолчанию отключена.
-
-
Нажмите кнопку Создать ВМ.
Создание ВМ занимает несколько минут. Когда ВМ перейдет в статус RUNNING
, переходите к настройке программного обеспечения. Следить за статусами ВМ можно в списке ВМ каталога.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания ВМ:
yc compute instance create --help
-
Подготовьте пару ключей (открытый и закрытый) для SSH-доступа на ВМ.
-
Выберите один из публичных образов Yandex Cloud Marketplace.
Идентификаторы образа также можно посмотреть в консоли управления
при создании ВМ или в Cloud Marketplace на странице образа в блоке Идентификаторы продукта.Чтобы получить список доступных образов с помощью yc 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 | ... +----------------------+-------------------------------------+--------------------------+----------------------+--------+
-
Выберите подсеть:
yc vpc subnet list
Результат:
+----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+ | ID | NAME | NETWORK ID | ROUTE TABLE ID | ZONE | RANGE | +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+ | b0c6n43f9lgh******** | default-ru-central1-a | enpe3m3fa00u******** | | ru-central1-a | [10.130.0.0/24] | | e2l2da8a20b3******** | default-ru-central1-b | enpe3m3fa00u******** | | ru-central1-a | [10.129.0.0/24] | | e9bnlm18l70a******** | default-ru-central1-d | enpe3m3fa00u******** | | ru-central1-a | [10.128.0.0/24] | +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+
-
Создайте ВМ в каталоге по умолчанию:
yc compute instance create \ --name first-instance \ --zone ru-central1-a \ --network-interface subnet-name=default-ru-central1-a,nat-ip-version=ipv4 \ --create-boot-disk image-folder-id=standard-images,image-family=centos-7 \ --ssh-key ~/.ssh/id_ed25519.pub
Где:
-
--name
— имя ВМ. Требования к имени:- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Примечание
Имя виртуальной машины используется для генерации внутреннего FQDN единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
-
--zone
— зона доступности, которая соответствует выбранной подсети. -
subnet-name
— имя выбранной подсети. -
nat-ip-version=ipv4
– публичный IP-адрес. Чтобы создать ВМ без публичного IP-адрес, исключите параметр. -
image-family
— семейство образов, например,centos-7
. Эта опция позволит установить последнюю версию ОС из указанного семейства. -
--ssh-key
— путь до публичного SSH-ключа. Для этого ключа на ВМ будет автоматически создан пользовательyc-user
.При создании ВМ из публичного образа Yandex Cloud Marketplace обязательно передавайте в ВМ SSH-ключ, поскольку доступ по протоколу SSH с использованием логина и пароля для таких образов по умолчанию отключен.
Если вы хотите добавить на ВМ одновременно нескольких пользователей с SSH-ключами, задайте данные этих пользователей с помощью параметра
--metadata-from-file
. -
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
yc compute instance list
При создании виртуальной машине назначаются IP-адрес и доменное имя (FQDN).
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
resource "yandex_compute_disk" "boot-disk" { name = "<имя_диска>" type = "<тип_диска>" zone = "<зона_доступности>" size = "<размер_диска>" image_id = "<идентификатор_образа>" } resource "yandex_compute_instance" "linux-vm" { name = "linux-vm" 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 = { user-data = "#cloud-config\nusers:\n - name: <имя_пользователя>\n groups: sudo\n shell: /bin/bash\n sudo: 'ALL=(ALL) NOPASSWD:ALL'\n ssh-authorized-keys:\n - ${file("<путь_к_открытому_SSH-ключу>")}" } } resource "yandex_vpc_network" "network-1" { name = "network1" } resource "yandex_vpc_subnet" "subnet-1" { name = "subnet1" zone = "<зона_доступности>" v4_cidr_blocks = ["192.168.10.0/24"] network_id = yandex_vpc_network.network-1.id }
Где:
-
yandex_compute_disk
— описание загрузочного диска:-
name
— имя диска. -
type
— тип создаваемого диска. -
zone
— зона доступности, в которой будет находиться диск. -
size
— размер диска в ГБ. -
image_id
— идентификатор образа для ВМ. Вы можете получить идентификатор образа из списка публичных образов.Идентификаторы образа также можно посмотреть в консоли управления
при создании ВМ или в Cloud Marketplace на странице образа в блоке Идентификаторы продукта.
-
-
yandex_compute_instance
— описание ВМ:-
name
— имя ВМ. -
platform_id
— платформа. -
zone
— зона доступности, в которой будет находиться ВМ. -
resources
— количество ядер vCPU и объем RAM, доступные ВМ. Значения должны соответствовать выбранной платформе. -
boot_disk
— настройки загрузочного диска. Укажите идентификатор диска. -
network_interface
— настройка сети. Укажите идентификатор выбранной подсети. Чтобы автоматически назначить ВМ публичный IP-адрес, укажитеnat = true
. -
metadata
— в метаданных необходимо передать имя пользователя и публичный ключ для SSH-доступа на ВМ. Подробнее в разделе Метаданные виртуальной машины.Если вы хотите добавить на ВМ одновременно нескольких пользователей с SSH-ключами, задайте данные этих пользователей в файле и передайте в блоке
metadata
.
-
-
yandex_vpc_network
— описание облачной сети. -
yandex_vpc_subnet
— описание подсети, к которой будет подключена ВМ.
Примечание
Если у вас уже есть подходящие ресурсы (облачная сеть и подсеть), описывать их повторно не нужно. Используйте их имена и идентификаторы в соответствующих параметрах.
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера
. -
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов: введите в терминал слово
yes
и нажмите Enter.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
или с помощью команды CLI:yc compute instance list
-
При создании виртуальной машине назначаются IP-адрес и доменное имя (FQDN).