Я работал над защитой своей инфраструктуры AWS и столкнулся с трудностью, когда дело дошло до балансировки сетевой нагрузки и целевых групп. Ниже проблема.
У меня кластер ECS работает на ресурсах EC2. Все контейнеры управляются Задачей, которая запускается службой с динамическим сопоставлением портов. Каждый контейнер сопоставлен с отдельным портом и подключен к целевой группе.
Целевые группы открыты для общего доступа через балансировщик нагрузки приложений (ALB), и для маршрутизации настраивается другая целевая группа с сопоставлениями путей.
EC2 имеет группу безопасности с разрешить весь трафик от VPC Cider и ALB Security Group.
Теперь в этой настройке все работает как положено. Реальная проблема заключается в том, что мне нужно предоставить контейнерную службу MySQL, и, насколько я понимаю, я должен использовать балансировщик сетевой нагрузки, поскольку это TCP-соединение.
Я создал новый балансировщик сетевой нагрузки (NLB) и добавил прослушиватель для порта 8080 в целевую группу службы MySQL. Проверка работоспособности прошла без проблем, так как я полагаю, что она инициирована в VPC, а поскольку группа безопасности EC2 настроена на пропуск всего трафика из VPC, она работает, как и ожидалось.
Однако мой внешний трафик не разрешен к EC2, поскольку я явно не разрешил динамические порты, подключенные к экземплярам целевой группы.
например. Экземпляр MySQL, зарегистрированный на порту 32778, имеет исправное состояние, но я не могу подключиться к MySQL через приемник 8080 на NLB.
Пожалуйста, дайте мне знать, что я здесь делаю неправильно, и если вы поймете, что я пытаюсь сделать, есть ли другой подход к тому же.