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

问题描述 投票:1回答:1

我一直致力于保护我的AWS基础架构,并且在遇到网络负载均衡器和目标组时遇到了困难。以下是问题所在。

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

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

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

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

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

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

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

请让我知道我在这里做错了什么,如果你得到了我想要做的事情,是否有另一种方法。

amazon-web-services amazon-ec2 amazon-ecs aws-security-group aws-load-balancer
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.