Создать правило для TCP или UDP-трафика
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Балансировщики → вкладка Балансировщики.
-
Откройте страницу балансировщика.
-
Нажмите Создать правило.
-
Выберите протокол приема трафика — TCP или UDP.
-
Для выбранного протокола будет автоматически выбран стандартный порт, на котором балансировщик будет слушать трафик, — измените его при необходимости.
-
Опционально: введите разрешенные CIDR, с которых балансировщик будет принимать трафик с выбранным протоколом и портом. Можно ввести подсеть в формате CIDR или одиночный IP-адрес с маской
/32
. Если вы оставите поле пустым, балансировщик будет принимать трафик с любых IP-адресов. Вы можете указать разрешенные IP-адреса в правиле после создания правила.Если поле отсутствует, в сети балансировщика выключена фильтрация трафика (port security).
-
Выберите целевую группу или создайте новую целевую группу с подходящим протоколом.
-
Опционально: измените настройки соединений, для этого откройте блок Расширенные настройки правила и укажите:
- для входящих запросов на балансировщик — укажите таймаут соединения и максимум соединений;
- для запросов от балансировщика к серверам — укажите таймаут соединения, таймаут неактивности и таймаут ожидания TCP-пакетов.
-
Нажмите Создать.
-
Создайте правило для балансировщика:
openstack loadbalancer listener create \
--name <listener_name> \
--protocol <protocol> \
--protocol-port <port> \
[--allowed-cidr <allowed_cidr>] \
<loadbalancer>Укажите:
<listener_name>
— имя правила;<protocol>
— название протокола, TCP или UDP;<port>
— номер порта;- опционально:
--allowed-cidr <allowed_cidr>
— IP-адрес, с которого ра зрешено принимать трафик, где<allowed_cidr>
— подсеть в формате CIDR или одиночный IP-адрес с маской/32
. Если нужно указать несколько адресов, каждый укажите в отдельном параметре--allowed-cidr
. Чтобы ограничение работало, в сети балансировщика должна быть включена фильтрация трафика (port security). Вы можете указать разрешенные IP-адреса в правиле после создания балансировщика; <loadbalancer>
— ID или имя балансировщика нагрузки. Список можно посмотреть с помощью командыopenstack loadbalancer list
.
-
Создайте целевую группу:
openstack loadbalancer pool create \
--name <pool_name> \
--lb-algorithm <algorithm> \
--listener <listener_name> \
--protocol <protocol>Укажите:
<pool_name>
— имя целевой группы;<algorithm>
— название алгоритма:ROUND_ROBIN
илиLEAST_CONNECTIONS
;<listener_name>
— имя правила;<protocol>
— название протокола.
-
Добавьте сервер в целевую группу:
openstack loadbalancer member create \
--subnet-id <subnet_uuid> \
--address <server_ip_address> \
--protocol-port <port> \
<pool_name>Укажите:
<subnet_uuid>
— ID приватной или публичной подсети сервера, можно посмотреть с помощью командыopenstack subnet list
;<server_ip_address>
— IP-адрес сервера из указанной подсети.