С помощью представленной конфигурации для Terraform вы развернете группу ВМ с политикой автоматического масштабирования при превышении допустимой нагрузки.
ВМ будут развернуты в двух зонах доступности, а нагрузка на них будет регулироваться с помощью сетевого балансировщика нагрузки Yandex Network Load Balancer.
Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). Terraform и его провайдеры распространяются под лицензией Mozilla Public License.
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.
При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
Чтобы настроить масштабирование группы ВМ с помощью Terraform:
-
Установите Terraform и укажите источник для установки провайдера Yandex Cloud (раздел Настройте провайдер, шаг 1).
-
Подготовьте файлы с описанием инфраструктуры:
-
Склонируйте репозиторий с файлами конфигурации для Terraform:
git clone https://github.com/yandex-cloud-examples/yc-terraform-vm-autoscale.git
-
Перейдите в директорию с репозиторием. В ней должны появиться файлы:
vm-autoscale.tf
— конфигурация создаваемой инфраструктуры;declaration.yaml
— описание Docker-контейнера с веб-сервером, который будет запущен на ВМ для имитации нагрузки на сервис;config.tpl
— описание параметров пользователя ВМ;vm-autoscale.auto.tfvars
— пользовательские данные.
В конфигурации используются группы безопасности, они находятся на стадии Preview. Запросите в технической поддержке доступ к этой функции или удалите в конфигурационном файле блоки ресурсов
yandex_vpc_security_group
и строки с параметрамиsecurity_group_ids
.
Более подробную информацию о параметрах используемых ресурсов в Terraform см. в документации провайдера:
-
-
В файле
vm-autoscale.auto.tfvars
задайте пользовательские параметры:folder_id
— идентификатор каталога.vm_user
— имя пользователя ВМ.ssh_key
— содержимое файла с открытым SSH-ключом для аутентификации пользователя на ВМ. Подробнее см. Создание пары ключей SSH.
-
Создайте ресурсы:
-
В терминале перейдите в директорию с загруженным репозиторием.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-