【发布时间】:2019-09-03 19:26:58
【问题描述】:
我一直致力于保护我的 AWS 基础设施,但在网络负载均衡器和目标组方面遇到了困难。下面是问题。
我有一个在 EC2 资源上运行的 ECS 集群。所有容器都由一个任务管理,该任务由具有动态端口映射的服务运行。每个容器都映射到不同的端口并附加到目标组。
目标组通过应用程序负载均衡器 (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