Создать сетевой балансировщик
Примечание
Перед созданием сетевого балансировщика создайте целевую группу, чтобы подключить ее к балансировщику.
Чтобы создать сетевой балансировщик:
-
В консоли управления выберите каталог, где требуется создать балансировщик.
-
В списке сервисов выберите Network Load Balancer.
-
Нажмите кнопку Создать сетевой балансировщик.
-
Задайте имя балансировщика.
- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
-
Назначьте балансировщику публичный IP-адрес. Адрес можно назначить автоматически или выбрать из списка зарезервированных адресов.
-
В блоке Обработчики нажмите Добавить обработчик.
-
В открывшемся окне задайте параметры обработчика:
- Имя.
- Порт, на котором балансировщик будет принимать входящий трафик, из диапазона от 1 до 32767.
- Целевой порт, на который балансировщик будет направлять трафик, из диапазона от 1 до 32767.
-
Нажмите кнопку Добавить.
-
В блоке Целевые группы нажмите Добавить целевую группу.
-
Выберите целевую группу или создайте новую:
-
Нажмите Создать целевую группу.
-
Введите имя целевой группы.
- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
-
Выберите виртуальные машины, которые нужно добавить в целевую группу.
-
Нажмите кнопку Создать.
-
-
(опционально) Под блоком Проверка состояния нажмите Настроить и в открывшемся окне:
-
Введите имя проверки состояния.
- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
-
Выберите тип проверки: HTTP или TCP.
-
Если вы выбрали проверку через HTTP, то в поле Путь укажите URL, по которому будут выполняться проверки.
-
Укажите порт из диапазона 1-32767.
-
Укажите время ожидания ответа в секундах.
-
Укажите интервал отправки проверок состояния в секундах.
-
Укажите порог работоспособности — количество успешных проверок, после которого виртуальная машина будет считаться готовой к приему трафика.
-
Укажите порог неработоспособности — количество проваленных проверок, после которого на виртуальную машину перестанет подаваться трафик.
-
Нажмите кнопку Применить.
-
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания сетевого балансировщика:
yc load-balancer network-load-balancer create --help
-
Чтобы создать балансировщик с обработчиком, выполните в терминале команду:
yc load-balancer network-load-balancer create \ --region-id ru-central1 \ --name test-load-balancer-2 \ --listener name=test-listener,external-ip-version=ipv4,port=80
-
Получите список всех балансировщиков, чтобы убедиться, что балансировщик создан:
yc load-balancer network-load-balancer list
Создать новый сетевой балансировщик можно с помощью метода API create.
Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). Terraform и его провайдеры распространяются под лицензией Mozilla Public License.
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.
При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
-
name
— имя сетевого балансировщика. Формат имени:- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
-
listener
— описание параметров обработчика для сетевого балансировщика:-
name
— имя обработчика. Формат имени:- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
-
port
— порт, на котором сетевой балансировщик будет принимать входящий трафик, из диапазона от 1 до 32767. -
external_address_spec
— описание внешнего IP-адреса. Укажите версию IP-адреса (ipv4 или ipv6). По умолчанию ipv4.
-
-
attached_target_group
— описание параметров целевой группы для сетевого балансировщика:target_group_id
— идентификатор целевой группы.healthcheck
— описание параметров проверки состояния. Укажите имя, порт из диапазона от 1 до 32767 и путь, по которому будут выполняться проверки.
Пример структуры конфигурационного файла:
resource "yandex_lb_network_load_balancer" "foo" { name = "<имя сетевого балансировщика>" listener { name = "<имя обработчика>" port = <номер порта> external_address_spec { ip_version = "ipv4" } } attached_target_group { target_group_id = "<идентификатор целевой группы>" healthcheck { name = "<имя проверки состояния>" http_options { port = <номер порта> path = "/ping" } } } }
Более подробную информацию о параметрах ресурса
yandex_lb_network_load_balancer
в Terraform см. в документации провайдера. -
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов: введите в терминал слово
yes
и нажмите Enter.После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления или с помощью команды CLI:
yc load-balancer network-load-balancer get <имя сетевого балансировщика>
-
Примеры
Создание сетевого балансировщика без обработчика
Чтобы создать балансировщик без обработчика, выполните в терминале команду:
yc load-balancer network-load-balancer create \
--region-id ru-central1 \
--name test-load-balancer-1
-
Опишите в конфигурационном файле параметры ресурса без блока
listener
:Пример создания сетевого балансировщика без обработчика с помощью Terraformresource "yandex_lb_network_load_balancer" "foo" { name = "my-network-load-balancer" }
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов: введите в терминал слово
yes
и нажмите Enter.После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления или с помощью команды CLI:
yc load-balancer network-load-balancer get <имя сетевого балансировщика>
-
Создание сетевого балансировщика с обработчиком и подключенной целевой группой
-
Чтобы создать балансировщик с обработчиком и сразу подключить к нему заранее созданную целевую группу, получите список целевых групп:
yc load-balancer target-group list
Результат:
+----------------------+-------------------+---------------------+-------------+--------------+ | ID | NAME | CREATED | REGION ID | TARGET COUNT | +----------------------+-------------------+---------------------+-------------+--------------+ | b7roi767je4c574iivrk | test-target-group | 2018-12-03 14:41:04 | ru-central1 | 1 | +----------------------+-------------------+---------------------+-------------+--------------+
-
Выполните следующую команду:
yc load-balancer network-load-balancer create \ --region-id ru-central1 \ --name test-load-balancer-3 \ --listener name=test-listener,external-ip-version=ipv4,port=80 \ --target-group target-group-id=b7rjtf12qdeehrj31hri,healthcheck-name=http,healthcheck-interval=2s,healthcheck-timeout=1s,healthcheck-unhealthythreshold=2,healthcheck-healthythreshold=2,healthcheck-http-port=80
Где
target-group-id
– идентификатор нужной целевой группы.Обратите внимание на формат параметров
healthcheck-interval
иhealthcheck-timeout
: необходимо указывать значение в форматеNs
.
-
Чтобы создать сетевой балансировщик с обработчиком, откройте файл конфигурации Terraform и добавьте блок
listener
в описании сетевого балансировщика. Чтобы подключить целевую группу, добавьте блокattached_target_group
с указанием на целевую группу в полеtarget_group_id
.Пример создания сетевого балансировщика с обработчиком и подключенной целевой группой с помощью Terraformresource "yandex_lb_network_load_balancer" "foo" { name = "my-network-load-balancer" listener { name = "my-listener" port = 9000 external_address_spec { ip_version = "ipv4" } } attached_target_group { target_group_id = "${yandex_lb_target_group.my-target-group.id}" healthcheck { name = "http" http_options { port = 9000 path = "/ping" } } } }
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов: введите в терминал слово
yes
и нажмите Enter.После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления или с помощью команды CLI:
yc load-balancer network-load-balancer get <имя сетевого балансировщика>
-