网络负载均衡器的 AWS EC2 安全组权限

Lah*_*ara 3 amazon-ec2 amazon-web-services amazon-ecs aws-security-group aws-load-balancer

我一直致力于保护我的 AWS 基础设施,但在网络负载均衡器和目标组方面遇到了困难。下面是问题所在。

我有一个运行在 EC2 资源上的 ECS 集群。所有容器都由一个任务管理,该任务由具有动态端口映射的服务运行。每个容器都映射到不同的端口并附加到目标组。

目标组通过应用程序负载均衡器 (ALB) 向公众公开,并且路由设置到具有路径映射的不同目标组。

EC2 有一个安全组,允许来自 VPC Cider 和 ALB 安全组的所有流量。

现在在这个设置中一切都按预期工作。真正的问题是,我需要公开一个 MySQL 容器服务,根据我的理解,我必须使用网络负载均衡器,因为它是一个 TCP 连接。

我创建了一个新的网络负载均衡器 (NLB) 并将端口 8080 的侦听器添加到 MySQL 服务的目标组。健康检查没有问题通过,因为我相信它是在 VPC 内启动的,并且由于 EC2 安全组设置为允许来自 VPC 的所有流量,它按预期工作。

但是,我的外部流量不允许进入 EC2,因为我没有明确允许将动态端口附加到目标组实例。

例如,在端口 32778 上注册的 MySQL 实例状态良好,但我无法通过 NLB 上的 8080 侦听器连接到 MySQL。

请让我知道我在这里做错了什么,如果你明白我想要做什么,是否有另一种方法可以做到。

bot*_*bot 6

网络负载均衡器管理来自与目标组中的实例关联的安全组的流量。有关更多详细信息,请参阅答案。因此,如果 X 是您要访问 NLB 的 IP,则必须将 X 添加为目标组实例中的入站规则。

在端口 32778 上注册的 MySQL 实例状态良好,但我无法通过 NLB 上的 8080 侦听器连接到 MySQL

因此,要执行上述注释,您必须在目标组实例中添加一个入站规则,以接受来自您的 ip 端口 8080 的流量。