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

3
我一直在努力保护我的AWS基础架构的安全性,但在处理网络负载均衡器和目标组时遇到了困难。以下是问题描述:
我有一个运行在EC2资源上的ECS集群。所有容器都由任务(Task)管理,该任务由使用动态端口映射的服务(Service)运行。每个容器都映射到不同的端口并附加到一个目标组(Target Group)。
通过应用程序负载均衡器(ALB)暴露目标组向公共网络,设置路由到具有路径映射的不同目标组。
EC2具有安全组,允许来自VPC Cider和ALB安全组的所有流量。
现在,在此设置中,一切正常。真正的问题是,我需要公开MySQL容器服务,并且根据我的理解,必须使用网络负载均衡器(NLB),因为它是TCP连接。
我创建了一个新的网络负载均衡器(NLB),并添加了监听器以将端口8080转发到MySQL服务的目标组(Target Group)。健康检查没有问题,因为我认为它是在VPC内发起的,由于EC2安全组设置为允许来自VPC的所有流量,因此它按预期工作。
然而,我的外部流量未被允许访问EC2,因为我没有显式允许附加到目标组实例的动态端口。
例如,注册在端口32778上的MySQL实例状态良好,但我无法通过NLB上的8080侦听器连接到MySQL。
请告诉我我在这里做错了什么,如果您了解我的意图,是否有另一种方法可以实现相同的功能。
1个回答

6

网络负载均衡器可以管理目标组中实例相关的安全组的流量。详见此答案获取更多细节。因此,如果您想从 IP X 访问 NLB,则必须在目标组实例中添加 X 作为入站规则。

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

因此,为了执行上述提到的操作,您将需要在目标组实例中添加一条入站规则,以允许来自您的 IP 的 8080 端口流量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接