12 KiB
Resource функция dynamix_lb_backend служит для управления бекендом балансировщиком нагрузки (load balancer). Балансировщики нагрузки служат для равномерного распределения сетевой нагрузки между подключенными к ним сервисами.
Аргументы
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. |
Возвращаемые значения
В случае успешного выполнения 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{} см. ниже | Список серверов |
Описание структуры настроек
Параметр | Тип | Описание |
---|---|---|
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 | см. Описание структуры настроек | Настройки сервера |
Импортирование ресурса
Так как ресурс lb_backend является подресурсом lb, то для его импорта необходимо указать ID балансировщика, а так же само имя ресурса.
Общая схема:
terraform import dynamix_lb_backend.<var> <lb_id>#<backend-name>
Пример:
terraform import dynamix_lb_backend.lb 777#testBackend
Ограничение на наименование ресурса
Ресурс не должен содержать в названии символ #
Пример использования
Пример вызова resource функции dynamix_lb_backend:
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
будут сохранены возвращаемые значения.