Пример настройки группы безопасности для серверов в приватной сети за балансировщиком нагрузки
Цель настройки
Настроить группу безопасности для приема трафика от балансировщика нагрузки на серверах целевой группы.
Балансировщик и серверы целевой группы расположены в приватной подсети 172.16.0.0/28
. Серверы принимают TCP-трафик от балансировщика на порт 80, настроены проверки доступности с типом PING.
Нужно создать группу безопасности, которая разрешает серверам принимать от балансировщика входящий трафик и проверки доступности, затем назначить ее на серверы. Весь исходящий трафик разрешен.
Шаги настройки
OpenStack CLI
Terraform
-
Создайте группу безопасности для облачных серверов за балансировщиком:
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> \
--enable-port-security \
<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.