Создать виртуальную машину из публичного образа Windows
В этом разделе приведена инструкция для создания виртуальной машины с операционной системой Windows. Для создания виртуальной машины на базе Linux воспользуйтесь инструкцией Создать виртуальную машину из публичного образа Linux.
Для использования продуктов Microsoft требуется предоставить корректные пользовательские данные.
Чтобы создать виртуальную машину:
-
В консоли управления выберите каталог, в котором будет создана виртуальная машина.
-
В списке сервисов выберите Compute Cloud.
-
Нажмите кнопку Создать ВМ.
-
В блоке Базовые параметры:
-
Введите имя и описание ВМ. Требования к имени:
- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
Примечание
Имя виртуальной машины используется для генерации внутреннего FQDN единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
-
Выберите зону доступности, в которой будет находиться виртуальная машина.
-
-
В блоке Выбор образа/загрузочного диска выберите один из образов и версию операционной системы на базе Windows.
-
(опционально) В блоке Диски и файловые хранилища на вкладке Диски настройте загрузочный диск:
-
Выберите тип диска.
-
Укажите нужный размер диска.
Если вы хотите создать виртуальную машину из существующего диска, в блоке Диски и файловые хранилища добавьте диск:
- Нажмите кнопку Добавить диск.
- Введите имя диска.
- Выберите тип диска.
- Укажите нужный размер блока.
- Укажите нужный размер диска.
- (опционально) Включите опцию Удалять вместе с ВМ, если нужно автоматически удалять диск при удалении ВМ, к которой он будет подключен.
- Выберите наполнение
Диск
. - Нажмите кнопку Добавить.
-
-
(опционально) В блоке Диски и файловые хранилища на вкладке Файловые хранилища подключите файловое хранилище:
- Нажмите кнопку Подключить файловое хранилище.
- В открывшемся окне выберите файловое хранилище.
- Введите имя устройства.
- Нажмите кнопку Подключить файловое хранилище.
-
В блоке Вычислительные ресурсы:
- Выберите платформу.
- Укажите гарантированную долю и необходимое количество vCPU, а также объем RAM.
- При необходимости сделайте виртуальную машину прерываемой.
- (опционально) Включите программно-ускоренную сеть.
-
В блоке Сетевые настройки:
- Укажите идентификатор подсети или выберите облачную сеть из списка.
Если сети нет, нажмите Создать сеть и создайте ее:- В открывшемся окне укажите укажите имя сети и каталог, в котором она будет создана.
- (опционально) Для автоматического создания подсетей выберите опцию Создать подсети.
- Нажмите Создать.
У каждой сети должна быть как минимум одна подсеть. Если подсети нет, создайте ее, выбрав Добавить подсеть.
- В поле Публичный адрес выберите способ назначения адреса:
- Автоматически — чтобы назначить случайный IP-адрес из пула адресов Yandex Cloud. В этом случае можно включить защиту от DDoS-атак при помощи опции ниже.
- Список — чтобы выбрать публичный IP-адрес из списка зарезервированных заранее статических адресов. Подробнее читайте в разделе Сделать динамический публичный IP-адрес статическим.
- Без адреса — чтобы не назначать публичный IP-адрес.
- В поле Внутренний адрес выберите способ назначения внутренних адресов: Автоматически или Вручную.
- (опционально) Создайте запись для ВМ в зоне DNS. Разверните блок Настройки DNS для внутренних адресов, нажмите кнопку Добавить запись и укажите зону, FQDN и время жизни записи. Подробнее см. Интеграция Cloud DNS с Compute Cloud.
- Выберите подходящие группы безопасности (если соответствующего поля нет, для виртуальной машины будет разрешен любой входящий и исходящий трафик).
- Укажите идентификатор подсети или выберите облачную сеть из списка.
-
В блоке Доступ укажите данные для доступа на виртуальную машину:
-
(опционально) Выберите или создайте сервисный аккаунт. Использование сервисного аккаунта позволяет гибко настраивать права доступа к ресурсам.
-
При создании виртуальной машины в операционной системе будет автоматически создан пользователь
Administrator
. В поле Пароль задайте пароль для этого пользователя, с которым можно будет войти на виртуальную машину по RDP.Примечание
Если вы утратили пароль для входа на ВМ, может потребоваться создать новую ВМ с диском из снимка. Подробнее см. в разделе Восстановление доступа к виртуальной машине.
Не используйте легко подбираемые пароли. Пароли должны соответствовать требованиям сложности политики безопасности Windows.
В образах Windows Server от Yandex Cloud у пароля пользователя
Administrator
по умолчанию не истекает срок действия. -
Если требуется, разрешите доступ к серийной консоли.
-
-
(опционально) В блоке Размещение выберите группу размещения ВМ.
-
Нажмите кнопку Создать ВМ.
Виртуальная машина появится в списке. При создании виртуальной машине назначаются IP-адрес и имя хоста (FQDN). Эти данные можно использовать для доступа к виртуальной машине по RDP.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания виртуальной машины:
$ yc compute instance create --help
-
Выберите один из публичных образов на базе операционной системы Windows.
Чтобы получить список доступных образов, выполните следующую команду:
yc compute image list --folder-id standard-images
Результат выполнения команды:
+----------------------+-------------------------------------+--------------------------+----------------------+--------+ | ID | NAME | FAMILY | PRODUCT IDS | STATUS | +----------------------+-------------------------------------+--------------------------+----------------------+--------+ ... | fdvk34al8k5nltb58shr | centos-7-1549279494 | centos-7 | dqni65lfhvv2den5gtv9 | READY | | fdv7ooobjfl3ts9gqp0q | windows-2016-gvlk-1548913814 | windows-2016-gvlk | dqnnc72gj2ist3ktjj1p | READY | | fdv4f5kv5cvf3ohu4flt | ubuntu-1604-lts-1549457823 | ubuntu-1604-lts | dqnnb6dc7640c5i968ro | READY | ... +----------------------+-------------------------------------+--------------------------+----------------------+--------+
-
Создайте YAML-файл (например,
metadata.yaml
) и укажите следующие данные:#ps1 net user administrator '<пароль>'
-
Создайте виртуальную машину в каталоге по умолчанию:
$ yc compute instance create \ --name second-instance \ --metadata-from-file user-data=metadata.yaml \ --zone ru-central1-a \ --public-ip \ --create-boot-disk image-folder-id=standard-images,image-family=windows-2016-gvlk
Данная команда создаст виртуальную машину со следующими характеристиками:
- С именем
second-instance
. - С OC Windows Server 2016.
- В зоне доступности
ru-central1-a
. - С пользователем
Administrator
. - С публичным IP.
Чтобы создать виртуальную машину без публичного IP, исключите флаг
--public-ip
.Задайте:
-
Имя виртуальной машины в флаге
--name
.Имя должно быть уникальным в рамках каталога. Может содержать строчные буквы латинского алфавита, цифры и дефисы. Первый символ должен быть буквой. Последний символ не может быть дефисом. Максимальная длина имени — 63 символа.
Примечание
Имя виртуальной машины используется для генерации внутреннего FQDN единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
-
Пароль администратора в файле
metadata.yaml
. Пароль необходим для доступа на виртуальную машину по RDP.Не используйте легко подбираемые пароли. Пароли должны соответствовать требованиям сложности политики безопасности Windows.
В образах Windows Server от Yandex Cloud у пароля пользователя
Administrator
по умолчанию не истекает срок действия.
- С именем
Создайте виртуальную машину с помощью метода Create для ресурса Instance
:
-
Получите IAM-токен, используемый для аутентификации в примерах:
- Инструкция для пользователя с аккаунтом на Яндексе.
- Инструкция для сервисного аккаунта.
-
Получите идентификатор каталога.
-
Получите информацию об образе, из которого надо создать виртуальную машину (идентификатор образа и минимальный размер диска):
- Если вы знаете семейство образа, получите информации о последнем образе в этом семействе:
$ export IAM_TOKEN=CggaATEVAgA... $ export FAMILY=windows-2016-gvlk $ curl -H "Authorization: Bearer ${IAM_TOKEN}" \ "https://compute.api.cloud.yandex.net/compute/v1/images:latestByFamily?folderId=standard-images&family=${FAMILY}" { "productIds": [ "f2eu62v659or2tqv28l0" ], "os": { "type": "WINDOWS" }, "id": "fd85s1nlcavgdpc16hj3", "folderId": "standard-images", "createdAt": "2019-04-30T10:53:56Z", "name": "windows-2016-gvlk-1556619485", "description": "Windows Server 2016 Datacenter is a operating system for virtualized private cloud environments. This version is activated with GVLK. Website and documentation: https://www.microsoft.com/en-us/cloud-platform/windows-server", "family": "windows-2016-gvlk", "storageSize": "26344423424", "minDiskSize": "26843545600", "status": "READY" }
- Вы можете получить информацию об образе из списка публичных образов.
- Если вы знаете семейство образа, получите информации о последнем образе в этом семействе:
-
Получите идентификатор подсети и идентификатор зоны доступности. В запросе укажите идентификатор каталога, в котором создана подсеть:
$ export IAM_TOKEN=CggaATEVAgA... $ export FOLDER_ID=b1gvmob95yysaplct532 $ curl -H "Authorization: Bearer ${IAM_TOKEN}" \ "https://vpc.api.cloud.yandex.net/vpc/v1/subnets?folderId=${FOLDER_ID}" { "subnets": [ { "v4CidrBlocks": [ "10.130.0.0/24" ], "id": "b0c6n43ftldh30l0vfg2", "folderId": "b1gvmob95yysaplct532", "createdAt": "2018-09-23T12:15:00Z", "name": "default-ru-central1-c", "description": "Auto-created default subnet for zone ru-central1-c", "networkId": "enpe3m3fagludao8aslg", "zoneId": "ru-central1-c" }, ... ] }
-
Создайте файл с телом запроса на создание виртуальной машины, например
body.json
. Укажите следующие параметры:-
folderId
— идентификатор каталога. -
name
— имя, которое будет присвоено виртуальной машине при создании. -
zoneId
— зона доступности, которая соответствует выбранной подсети. -
platformId
— платформа. -
resourceSpec
— ресурсы, доступные виртуальной машине. Значения должны соответствовать выбранной платформе. -
metadata
— в метаданных в свойствеuser-data
необходимо передать скрипт с паролем администратора, например:"metadata": { "user-data": "#ps1\nnet user Administrator Passw0rd" },
Не используйте легко подбираемые пароли. Пароли должны соответствовать требованиям сложности политики безопасности Windows.
В образах Windows Server от Yandex Cloud у пароля пользователя
Administrator
по умолчанию не истекает срок действия. -
bootDiskSpec
— настройки загрузочного диска. Укажите идентификатор выбранного образа и размер диска. Размер диска должен быть не меньше минимального размера диска, указанного в информации об образе. -
networkInterfaceSpecs
— настройки сети.subnetId
— идентификатор выбранной подсети.primaryV4AddressSpec
— IP-адрес, который будет присвоен виртуальной машине. Чтобы добавить публичный IP-адрес виртуальной машине, укажите:"primaryV4AddressSpec": { "oneToOneNatSpec": { "ipVersion": "IPV4" } }
Подробнее про формат тела запроса в справочнике API.
Пример файла
body.json
:{ "folderId": "b1gvmob95yysaplct532", "name": "instance-demo-no-pwauth", "zoneId": "ru-central1-c", "platformId": "standard-v3", "resourcesSpec": { "memory": "4294967296", "cores": "2", }, "metadata": { "user-data": "#ps1\nnet user Administrator Passw0rd" }, "bootDiskSpec": { "diskSpec": { "size": "26843545600", "imageId": "fd85s1nlcavgdpc16hj3" } }, "networkInterfaceSpecs": [ { "subnetId": "b0c6n43ftldh30l0vfg2", "primaryV4AddressSpec": { "oneToOneNatSpec": { "ipVersion": "IPV4" } } } ] }
-
-
Создайте виртуальную машину:
$ export IAM_TOKEN=CggaATEVAgA... $ curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${IAM_TOKEN}" \ -d '@body.json' \ https://compute.api.cloud.yandex.net/compute/v1/instances
Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
Примечание
Если у вас уже есть подходящие ресурсы (облачная сеть и подсеть), описывать их повторно не нужно. Используйте их имена и идентификаторы в соответствующих параметрах.
yandex_compute_instance
— описание виртуальной машины:name
— имя виртуальной машины.platform_id
— платформа.resources
— количество ядер vCPU и объем RAM, доступные виртуальной машине. Значения должны соответствовать выбранной платформе.boot_disk
— настройки загрузочного диска. Укажите идентификатор выбранного образа. Вы можете получить идентификатор образа из списка публичных образов.network_interface
— настройка сети. Укажите идентификатор выбранной подсети. Чтобы автоматически назначить виртуальной машине публичный IP-адрес, укажитеnat = true
.metadata
— в метаданных в параметреuser-data
необходимо передать скрипт с паролем администратора.
yandex_vpc_network
— описание облачной сети.yandex_vpc_subnet
— описание подсети, к которой будет подключена виртуальная машина.
Пример структуры конфигурационного файла:
resource "yandex_compute_instance" "vm-1" { name = "windows-vm" platform_id = "standard-v3" resources { cores = <количество ядер vCPU> memory = <объем RAM в ГБ> } boot_disk { initialize_params { image_id = "<идентификатор образа>" } } network_interface { subnet_id = "${yandex_vpc_subnet.subnet-1.id}" nat = true } metadata = { user-data = "#ps1\nnet user Administrator <пароль администратора>" } } resource "yandex_vpc_network" "network-1" { name = "network1" } resource "yandex_vpc_subnet" "subnet-1" { name = "subnet1" zone = "<зона доступности>" network_id = "${yandex_vpc_network.<имя сети>.id}" }
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
$ terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
$ terraform apply
-
Подтвердите создание ресурсов.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.
-
Примечание
Обычно запуск виртуальной машины и инициализация службы удаленных рабочих столов Remote Desktop (RDP) занимает до 6 минут. В редких случаях загрузка может значительно превышать указанное время. Например, при использовании:
- Виртуальных машин с гарантированной долей vCPU меньше 100%.
- ВМ, которые производят нагрузку свыше лимита IOPS на загрузочный диск.
- Сетевых HDD-дисков малого объема.
Не останавливайте ВМ во время первого запуска — это может привести к проблемам при подключении по RDP.
Публичный IP-адрес можно сделать статическим. Подробнее читайте в разделе Сделать публичный IP-адрес виртуальной машины статическим.