_Resource_ функция **dynamix_lb_backend** служит для управления бекендом балансировщиком нагрузки (load balancer). Балансировщики нагрузки служат для равномерного распределения сетевой нагрузки между подключенными к ним сервисами. ## Аргументы _Resource_ функция **dynamix_lb_backend** принимает следующие аргументы: | Аргумент | Тип | Обязательный | Описание | | --- | --- | :---: | --- | | lb_id | int | :heavy_check_mark: | ID балансировщика нагрузки | | name | string | :heavy_check_mark: | Название бекенда | | algorithm | string | :x: | Алгоритм работы бекенда. По умолчанию - "roundrobin". Доступные значения: "roundrobin", "static-rr", "leastconn" | | inter | int | :x: | Интервал между проверками, в миллисекундах. Настройка севера по умолчанию. Значение по умолчанию - 5000. | | downinter | int | :x: | Интервал между проверками доступности сервера после восстановления, в миллисекундах. Настройка севера по умолчанию. Значение по умолчанию - 1000. | | rise | int | :x: | Кол-во проверок, которые сервер должен успешно пройти. Настройка севера по умолчанию. Значение по умолчанию - 2. | | fall | int | :x: | Кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable". Настройка севера по умолчанию. Значение по умолчанию - 2. | | slowstart | int | :x: | Кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений. Настройка севера по умолчанию. Значение по умолчанию - 60000. | | maxconn | int | :x: | Максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования. Настройка севера по умолчанию. Значение по умолчанию - 250. | | maxqueue | int | :x: | Максимальное кол-во соединений в очереди сервера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер. Настройка севера по умолчанию. Значение по умолчанию - 256. | | weight | int | :x: | Вес сервера для балансировки. Диапазон от 0 до 255. Настройка севера по умолчанию. Значение по умолчанию - 100. | ## Возвращаемые значения В случае успешного выполнения _resource_ функция **dynamix_lb_backend** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров: | Параметр | Тип | Описание | | --- | --- | --- | | lb_id | int | ID балансировщика нагрузки | | name | string | Название бекенда | | algorithm | string | Алгоритм работы бекенда. По умолчанию - "roundrobin". Доступные значения: "roundrobin", "static-rr", "leastconn" | | inter | int | Интервал между проверками, в миллисекундах. Настройка севера по умолчанию. Значение по умолчанию - 5000. | | downinter | int | Интервал между проверками доступности сервера после восстановления, в миллисекундах. Настройка севера по умолчанию. Значение по умолчанию - 1000. | | rise | int | Кол-во проверок, которые сервер должен успешно пройти. Настройка севера по умолчанию. Значение по умолчанию - 2. | | fall | int | Кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable". Настройка севера по умолчанию. Значение по умолчанию - 2. | | slowstart | int | Кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений. Настройка севера по умолчанию. Значение по умолчанию - 60000. | | maxconn | int | Максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования. Настройка севера по умолчанию. Значение по умолчанию - 250. | | maxqueue | int | Максимальное кол-во соединений в очереди сервера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер. Настройка севера по умолчанию. Значение по умолчанию - 256. | | weight | int | Вес сервера для балансировки. Диапазон от 0 до 255. Настройка севера по умолчанию. Значение по умолчанию - 100. | | servers | []Struct{} [см. ниже](https://repository.basistech.ru/BASIS/terraform-provider-dynamix/src/branch/main/wiki/1.0.1/07.01.17-Resource_dynamix_lb_backend.md#Описание-структуры-сервера) | Список серверов | ### Описание структуры настроек | Параметр | Тип | Описание | | --- | --- | --- | | downinter | int | Интервал между проверками на недоступность сервера | | inter | int | Интервал между проверками на доступность сервера | | rise | int | Кол-во попыток, после которых, сервер будет вновь включен в схему балансирования | | fall | int | Кол-во неудачных попыток, после которых, сервер получит статус "unavailable" | | slowstart | int | Интервал, в мс, в через который сервер получит статус "available" | | maxconn | int | Кол-во соединений к северу, при достижении этого кол-ва, сервера выходит из схемы балансирования | | maxqueue | int | Кол-во соедений в очереди к серверу | | weight | int | Вес сервера для работы алгоритма балансирования по весу | ### Описание структуры сервера | Параметр | Тип | Описание | | --- | --- | --- | | address | string | Адрес сервера | | check | string | Включены ли проверки | | name | string | Имя сервера | | port | int | Порт сервера | | server_settings | [см. Описание структуры настроек](https://repository.basistech.ru/BASIS/terraform-provider-dynamix/src/branch/main/wiki/1.0.1/07.01.17-Resource_dynamix_lb_backend.md#Описание-структуры-настроек) | Настройки сервера | ## Импортирование ресурса Так как ресурс lb_backend является подресурсом lb, то для его импорта необходимо указать ID балансировщика, а так же само имя ресурса. Общая схема: ```terraform terraform import dynamix_lb_backend. # ``` Пример: ``` terraform import dynamix_lb_backend.lb 777#testBackend ``` ## Ограничение на наименование ресурса Ресурс не должен содержать в названии символ `#` ## Пример использования Пример вызова _resource_ функции **dynamix_lb_backend**: ```terraform resource "dynamix_lb_backend" "lbb" { #id балансировщика нагрузок #обязательный параметр #тип - целое число lb_id = 668 #имя бекенда для создания сервера #обязательный параметр #тип - строка name = "testBackend" #алгоритм балансировки #опциональный параметр #доступные значения - "roundrobin", "static-rr", "leastconn" #по умолчанию - "roundrobin" #тип - строка #algorithm = "roundrobin" #------------------- #настройки для серверов по умолчанию #------------------- #интервал между проверками, в миллисекундах #опциональный параметр #по умолчанию - 5000 #тип - целое число #inter = 5000 #интервал между проверками доступности сервера после восстановления, в миллисекундах #опциональный параметр #по умолчанию - 10000 #тип - целое число #downinter = 1000 #кол-во проверок, которые сервер должен успешно пройти #опциональный параметр #тип - целое число #по умолчанию - 2 #rise = 2 #кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable" #опциональный параметр #по умолчанию - 2 #тип - целое число #fall = 2 #кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений #опциональный параметр #по умолчанию - 60000 #тип - целое число #slowstart = 60000 #максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования #опциональный параметр #по умолчанию - 250 #тип - целое число #maxconn = 250 #максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер #опциональный параметр #по умолчанию - 256 #тип - целое число #maxqueue = 256 #вес сервера для балансировки #опциональный параметр #мин - 0 #макс - 255 #по умолчанию - 100 #тип - целое число #weight = 100 } ``` После успешного завершения такого вызова **dynamix_lb_backend** в переменной `dynamix_lb_backend.lb` будут сохранены возвращаемые значения.