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

时间:2019-04-13 03:13:21

标签: amazon-web-services amazon-ec2 amazon-ecs aws-security-group aws-load-balancer

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

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

目标组通过应用程序负载平衡器(ALB)公开,并使用路径映射将路由设置到其他目标组。

EC2具有一个“安全”组,该安全组具有“允许来自VPC苹果酒和ALB安全组的所有流量”。

现在,在此设置中,所有操作均按预期进行。真正的问题是,我需要公开一个MySQL容器服务,根据我的理解,由于它是TCP连接,因此我必须使用网络负载平衡器。

我创建了一个新的网络负载平衡器(NLB),并将端口8080的侦听器添加到MySQL服务的目标组。我认为运行状况检查没有问题,因为我认为它是在VPC内启动的,并且由于EC2安全组已设置为允许来自VPC的所有流量,因此可以正常工作。

但是,由于我没有明确允许连接到目标组实例的动态端口,所以我的外部流量不允许进入EC2。

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

请让我知道我在这里做错了什么,如果您了解我在想做的事情,是否还有另一种方法可以解决此问题。

1 个答案:

答案 0 :(得分:1)

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

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

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