Создать виртуальную машину из публичного образа Linux
-
В консоли управления
выберите каталог, в котором будет создана ВМ. -
В списке сервисов выберите Compute Cloud.
-
На панели слева выберите
Виртуальные машины. -
Нажмите кнопку Создать виртуальную машину.
-
В блоке Образ загрузочного диска выберите один из образов и версию операционной системы на базе Linux.
Если вы хотите создать ВМ из существующего загрузочного диска, перейдите на вкладку Пользовательский и выберите нужный загрузочный диск. Нажмите
напротив имени диска, если вы хотите изменить его настройки. -
В блоке Расположение выберите зону доступности, в которой будет находиться ВМ.
-
(Опционально) В блоке Диски и файловые хранилища настройте загрузочный диск:
-
Выберите тип диска.
-
Задайте нужный размер диска.
-
(Опционально) Чтобы зашифровать загрузочный или дополнительный диск, в блоке Диски и файловые хранилища справа от имени диска нажмите значок
и задайте параметры шифрования для диска:- Выберите опцию Зашифрованный диск.
- В поле Ключ KMS выберите ключ, которым вы хотите зашифровать диск. Чтобы создать новый ключ, нажмите кнопку Создать новый.
- В поле Сервисный аккаунт выберите сервисный аккаунт c ролью
kms.keys.encrypterDecrypter
на указанный ключ. Чтобы создать новый сервисный аккаунт, нажмите кнопку Создать новый.
Шифрование в Compute Cloud находится на стадии Preview. Чтобы получить доступ к функциональности, на странице создания ресурса в блоке Шифрование нажмите кнопку Запросить доступ или обратитесь в техническую поддержку
.Если деактивировать ключ, которым были зашифрованы диск или снимок, доступ к данным будет приостановлен, пока ключ не будет снова активирован.
Внимание
Если удалить ключ или его версию, которыми были зашифрованы диск или снимок, доступ к данным будет безвозвратно потерян. Подробнее см. Удаление версии ключа.
Если вы создаете ВМ из существующего загрузочного диска, измените настройки этого диска на вкладке Пользовательский в блоке Образ загрузочного диска вверху формы.
-
-
(Опционально) Добавьте дополнительный диск:
-
В блоке Диски и файловые хранилища нажмите кнопку Добавить.
-
В открывшемся окне выберите Диск. Вы можете выбрать существующий диск или создать новый диск — пустой или из снимка / образа.
Например, чтобы создать новый пустой диск:
- Выберите
Создать новый
. - В поле Наполнение выберите
Пустой
. - Укажите имя диска.
- Выберите тип диска.
- Задайте нужные размер диска и размер блока.
- (Опционально) В поле Дополнительно включите опцию Удалять вместе с виртуальной машиной, если вы хотите автоматически удалять этот диск при удалении ВМ.
- Нажмите кнопку Добавить диск.
- Выберите
-
-
(Опционально) Подключите файловое хранилище:
-
В блоке Диски и файловые хранилища нажмите кнопку Добавить.
-
В открывшемся окне выберите Файловое хранилище и в появившемся списке выберите хранилище, которое требуется подключить.
-
Нажмите кнопку Добавить файловое хранилище.
-
-
-
В блоке Вычислительные ресурсы выберите одну из готовых конфигураций или создайте свою. Чтобы создать свою конфигурацию:
- Перейдите на вкладку Своя конфигурация.
- Выберите платформу.
- Укажите гарантированную долю и необходимое количество vCPU, а также объем RAM.
- При необходимости включите программно-ускоренную сеть.
- При необходимости сделайте ВМ прерываемой.
-
В блоке Сетевые настройки:
-
В поле Подсеть укажите идентификатор подсети в зоне доступности создаваемой ВМ или выберите облачную сеть из списка.
-
У каждой сети должна быть как минимум одна подсеть. Если подсети нет, создайте ее, выбрав Создать подсеть.
-
Если сети нет, нажмите Создать сеть и создайте ее:
- В открывшемся окне укажите имя сети и выберите каталог, в котором она будет создана.
- (Опционально) Выберите опцию Создать подсети, чтобы автоматически создать подсети во всех зонах доступности.
- Нажмите Создать сеть.
-
-
В поле Публичный адрес выберите способ назначения адреса:
Автоматически
— чтобы назначить случайный 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 с использованием логина и пароля по умолчанию отключена.
-
-
В блоке Общая информация задайте имя ВМ:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Примечание
Имя виртуальной машины используется для генерации внутреннего FQDN единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
-
В блоке Дополнительно:
-
(Опционально) Выберите или создайте сервисный аккаунт. Использование сервисного аккаунта позволяет гибко настраивать права доступа к ресурсам.
-
(Опционально) Разрешите доступ к серийной консоли.
-
(Опционально) В блоке Резервное копирование включите опцию Подключить и выберите или создайте политику резервного копирования, чтобы автоматически создавать резервные копии ВМ с помощью сервиса Cloud Backup.
Подробнее см. в разделе Подключение виртуальных машин Compute Cloud к Cloud Backup.
-
(Опционально) В блоке Мониторинг включите опцию Агент сбора метрик, чтобы настроить поставку метрик в Yandex Monitoring.
-
(Опционально) В блоке Размещение выберите группу размещения ВМ.
-
-
Нажмите кнопку Создать ВМ.
ВМ появится в списке. При создании ВМ назначаются IP-адрес и имя хоста (FQDN).
Если у вас еще нет интерфейса командной строки 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 | ... +----------------------+-------------------------------------+--------------------------+----------------------+--------+
-
Выберите подсеть:
yc vpc subnet list
Результат:
+----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+ | ID | NAME | NETWORK ID | ROUTE TABLE ID | ZONE | RANGE | +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+ | e9bnlm18l70a******** | default-ru-central1-a | 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
— зона доступности, которая соответствует выбранной подсети. -
--network-interface
— настройки сетевого интерфейса ВМ:subnet-name
— имя выбранной подсети.nat-ip-version=ipv4
– публичный IP-адрес. Чтобы создать ВМ без публичного IP-адреса, исключите параметр.
Если вы хотите добавить на ВМ несколько сетевых интерфейсов, задайте параметр
--network-interface
необходимое количество раз. На одну ВМ можно добавить до восьми сетевых интерфейсов. -
--create-boot-disk
— настройки загрузочного диска ВМ:image-family
— семейство образов, например,centos-7
. Эта опция позволит установить последнюю версию ОС из указанного семейства.
-
--ssh-key
— путь к файлу с публичным SSH-ключом. Для этого ключа на ВМ будет автоматически создан пользовательyc-user
.При создании ВМ из публичного образа Yandex Cloud Marketplace обязательно передавайте в ВМ SSH-ключ, поскольку доступ по протоколу SSH с использованием логина и пароля для таких образов по умолчанию отключен.
Если вы хотите добавить на ВМ одновременно нескольких пользователей с SSH-ключами, задайте данные этих пользователей с помощью параметра
--metadata-from-file
. С помощью метаданных вы также можете установить дополнительное ПО на ВМ при ее создании.
-
При создании виртуальной машине назначаются IP-адрес и доменное имя (FQDN).
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
resource "yandex_compute_disk" "boot-disk" { name = "<имя_диска>" type = "<тип_диска>" zone = "<зона_доступности>" size = "<размер_диска>" image_id = "<идентификатор_образа>" } resource "yandex_compute_instance" "vm-1" { name = "linux-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-ключа>" } } 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
— имя ВМ. -
allow_stopping_for_update
— разрешение на остановку работы виртуальной машины для внесения изменений. Установите значениеtrue
, если планируете изменять сетевые настройки, вычислительные ресурсы, диски или файловые хранилища ВМ с помощью Terraform. Значение по умолчаниюfalse
. -
platform_id
— платформа. -
zone
— зона доступности, в которой будет находиться ВМ. -
resources
— количество ядер vCPU и объем RAM, доступные ВМ. Значения должны соответствовать выбранной платформе. -
boot_disk
— настройки загрузочного диска. Укажите идентификатор диска. -
network_interface
— настройки сетевого интерфейса ВМ. Укажите идентификатор выбранной подсети. Чтобы автоматически назначить ВМ публичный IP-адрес, укажитеnat = true
.Если вы хотите добавить на ВМ несколько сетевых интерфейсов, задайте блок
network_interface
необходимое количество раз. На одну ВМ можно добавить до восьми сетевых интерфейсов. -
metadata
— в метаданных необходимо передать открытый SSH-ключ для доступа на ВМ. Подробнее в разделе Метаданные виртуальной машины.Если вы хотите добавить на ВМ одновременно нескольких пользователей с SSH-ключами, задайте данные этих пользователей в файле и передайте в блоке
metadata
. С помощью метаданных вы также можете установить дополнительное ПО на ВМ при ее создании.
-
-
yandex_vpc_network
— описание облачной сети. -
yandex_vpc_subnet
— описание подсети, к которой будет подключена ВМ.
Примечание
Если у вас уже есть подходящие ресурсы (облачная сеть и подсеть), описывать их повторно не нужно. Используйте их имена и идентификаторы в соответствующих параметрах.
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера
. -
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
. -
При создании виртуальной машине назначаются IP-адрес и доменное имя (FQDN).
Создайте ВМ с помощью метода REST API create для ресурса Instance:
-
Подготовьте пару ключей (открытый и закрытый) для SSH-доступа на ВМ.
-
Получите Yandex Identity and Access Management-токен, используемый для аутентификации в примерах:
- Инструкция для пользователя с аккаунтом на Яндексе.
- Инструкция для сервисного аккаунта.
- Инструкция для федеративного аккаунта.
-
Получите информацию об образе, из которого надо создать ВМ (идентификатор образа и минимальный размер диска):
-
Если вы знаете семейство образа, получите информации о последнем образе в этом семействе:
export IAM_TOKEN=CggaATEVAgA... export FAMILY=ubuntu-1804 curl \ --header "Authorization: Bearer ${IAM_TOKEN}" \ "https://compute.api.cloud.yandex.net/compute/v1/images:latestByFamily?folderId=standard-images&family=${FAMILY}"
-
Вы можете получить информацию об образе из списка публичных образов.
-
-
Получите идентификатор подсети и идентификатор зоны доступности. В запросе укажите идентификатор каталога, в котором создана подсеть:
export IAM_TOKEN=CggaATEVAgA... export FOLDER_ID=b1gvmob95yys******** curl \ --header "Authorization: Bearer ${IAM_TOKEN}" \ "https://vpc.api.cloud.yandex.net/vpc/v1/subnets?folderId=${FOLDER_ID}"
Результат:
{ "subnets": [ { "v4CidrBlocks": [ "10.130.0.0/24" ], "id": "b0c6n43ftldh********", "folderId": "b1gvmob95yys********", "createdAt": "2018-09-23T12:15:00Z", "name": "default-ru-central1-a", "description": "Auto-created default subnet for zone ru-central1-a", "networkId": "enpe3m3faglu********", "zoneId": "ru-central1-a" }, ... ] }
-
Создайте файл с телом запроса на создание ВМ, например,
body.json
:{ "folderId": "b1gvmob95yys********", "name": "instance-demo-no-pwauth", "zoneId": "ru-central1-a", "platformId": "standard-v3", "resourcesSpec": { "memory": "2147483648", "cores": "2" }, "metadata": { "user-data": "#cloud-config\nusers:\n - name: user\n groups: sudo\n shell: /bin/bash\n sudo: 'ALL=(ALL) NOPASSWD:ALL'\n ssh_authorized_keys:\n - ssh-ed25519 AAAAB3N... user@example.com" }, "bootDiskSpec": { "diskSpec": { "size": "2621440000", "imageId": "fd8rc75pn12f********" } }, "networkInterfaceSpecs": [ { "subnetId": "b0c6n43ftldh********", "primaryV4AddressSpec": { "oneToOneNatSpec": { "ipVersion": "IPV4" } } } ] }
Где:
-
folderId
— идентификатор каталога. -
name
— имя, которое будет присвоено ВМ при создании. -
zoneId
— зона доступности, которая соответствует выбранной подсети. -
platformId
— платформа. -
resourceSpec
— ресурсы, доступные ВМ. Значения должны соответствовать выбранной платформе. -
metadata
— в метаданных необходимо передать открытый ключ для SSH-доступа на ВМ. Подробнее в разделе Метаданные виртуальной машины. -
bootDiskSpec
— настройки загрузочного диска. Укажите идентификатор выбранного образа и размер диска.Идентификаторы образа также можно посмотреть в консоли управления
при создании ВМ или в Cloud Marketplace на странице образа в блоке Идентификаторы продукта.Размер диска должен быть не меньше минимального размера диска, указанного в информации об образе.
-
networkInterfaceSpecs
— настройки сетевого интерфейса ВМ.-
subnetId
— идентификатор выбранной подсети. -
primaryV4AddressSpec
— IP-адрес, который будет присвоен ВМ. Чтобы добавить публичный IP-адрес ВМ, укажите:"primaryV4AddressSpec": { "oneToOneNatSpec": { "ipVersion": "IPV4" } }
Если вы хотите добавить на ВМ несколько сетевых интерфейсов, передайте в
networkInterfaceSpecs
массив с необходимым количеством объектов с настройками сетевых интерфейсов. На одну ВМ можно добавить до восьми сетевых интерфейсов. -
Подробнее про формат тела запроса в справочнике API.
-
-
Создайте ВМ:
export IAM_TOKEN=CggaATEVAgA... curl \ --request POST \ --header "Content-Type: application/json" \ --header "Authorization: Bearer ${IAM_TOKEN}" \ --data '@body.json' \ https://compute.api.cloud.yandex.net/compute/v1/instances
При создании виртуальной машине назначаются IP-адрес и доменное имя (FQDN).