Пример настройки группы безопасности для серверов в приватной сети за балансировщиком нагрузки
Цель настройки
Настроить группу безопасности для приема трафика от балансировщика нагрузки на серверах целевой группы.
Что нужно для настройки
В примере для настройки мы использовали облачный балансировщик и два облачных сервера в одном пуле.
Балансировщик и серверы расположены в приватной подсети 172.16.0.0/28, в сети включена фильтрация трафика (port security). Серверы принимают TCP-трафик от балансировщика на порт 80, настроены проверки доступности с типом PING.
Результат настройки
Создана и назначена на серверы группа безопасности, которая разрешает принимать от балансировщика входящий трафик и проверки доступности.
Весь исходящий трафик от серверов разрешен.
Шаги настройки
Панель управления
OpenStack CLI
Terraform
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Группы безопасно сти.
-
Нажмите Создать группу безопасности.
-
Выберите пул, в котором находятся серверы целевой группы.
-
Создайте правило в группе, которое будет разрешать входящий трафик от балансировщика.
5.1. Нажмите Добавить правило входящего трафика.
5.2. Выберите протокол — TCP.
5.3. Выберите источник трафика (Source) — CIDR и введите IP-адрес подсети балансировщика, в примере —
172.16.0.0/28. Балансировщик может пересоздаваться с другим IP-адресом в пределах подсети, поэтому в качестве источника трафика необходимо указать всю подсеть.5.4. Введите порт (Dst. port), на который разрешено принимать трафик, в примере —
80.5.5. Опционально: введите комментарий для правила.
5.6. Нажмите Добавить.
-
Создайте правило в группе, которое будет разрешать проверки доступности от балансировщика:
6.1. Нажмите Добавить правило входящего трафика.
6.2. Выберите протокол — ICMP.
6.3. Выберите источник трафика (Source) — CIDR и введите IP-адрес подсети балансировщика, в примере —
172.16.0.0/28. Балансировщик может пересоздаваться с другим IP-адресом в пределах подсети, поэтому в качестве источника трафика необходимо указать всю подсеть.6.4. Опционально: введите комментарий для правила.
6.6. Нажмите Добавить.
-
В блоке Порты отметьте порты серверов целевой группы, на которые будет назначена группа безопасности. После создания группы на выбранных портах прервутся все активные сессии, которые не соответствуют правилам группы.
-
Введите имя группы или оставьте имя, созданное автоматически.
-
Опционально: введите комментарий для группы.
-
Нажмите Создать группу безопасности.
-
Создайте группу безопасности для облачных серверов за балансировщиком:
openstack security group create \
--description "<description>" \
<security_group_name>Укажите:
<description>— описание группы, напримерload balancer target group tcp-80;<security_group_name>— имя группы, напримерtarget-group-tcp-80.
Группа создастся с двумя правилами, которые разрешают весь исходящий трафик.
-
Создайте правило в группе, которое будет разрешать входящий трафик от балансировщика. Балансировщик может пересоздаваться с другим IP-адресом в пределах подсети, поэтому в качестве источника трафика необходимо указать всю подсеть:
openstack security group rule create \
--protocol <protocol> --dst-port <port> \
--remote-ip <ip_address> \
<security_group>Укажите:
<protocol>— протокол целевой группы, в примере —tcp;<port>— порт на сервере целевой группы, на который разрешено принимать трафик, в примере —80;<ip_address>— IP-адрес или подсеть, из которой разрешено принимать трафик, в примере —172.16.0.0/28;<security_group>— ID или имя группы безопасности, которую вы создали на шаге 2, можно посмотреть с помощью командыopenstack security group list.
-
Создайте правило в группе, которое будет разрешать проверки доступности от балансировщика:
openstack security group rule create \
--protocol <protocol> \
--remote-ip <ip_address> \
<security_group>Укажите:
<protocol>— протокол проверок доступности, в примере —icmp;<ip_address>— IP-адрес или подсеть, из которой разрешено принимать трафик, в примере —172.16.0.0/28;<security_group>— ID или имя группы безопасности, которую вы создали на шаге 2, можно посмотреть с помощью командыopenstack security group list.
-
На порт каждого из серверов целевой группы, куда отправляется трафик с балансировщика, назначьте созданную группу безопасности:
openstack port set \
--security-group <security_group> \
<port>Укажите:
<security_group>— ID или имя группы безопасности, которую создали на шаге 2, можно посмотреть с помощью командыopenstack security group list;<port>— ID или имя порта сервера из приватной подсети, в примере — из подсети172.16.0.0/28, можно посмотреть с помощью командыopenstack port list.
-
Опционально: проверьте список правил в группе:
openstack security group rule list <security_group>Укажите
<security_group>— ID или имя группы безопасности, которую вы создали на шаге 2, можно посмотреть с помощью командыopenstack security group list.
Используйте инструкцию Создать группу безопасности и назначить ее на порт сервера в документации Terraform.