首页 > 解决方案 > 自动扩展组中每个目标组的端口范围的 AWS NLB

问题描述

语境:

我有一个简单的设置,带有一个指向 NLB 的私有 VPC 端点,该 NLB 将纯 TCP(不是 HTTP)流量分配到自动扩展组中的多个 EC2 实例。

我们正在达到与这些 EC2 实例的开放 TCP 连接的端口限制(~65k),因为当用作服务端点时,NLB 将源 IP 更改为自己的 IP(而不是在没有服务端点的情况下使用时,保留原始 IP) . 这里的解决方法是监听目标 EC2 实例上的多个端口(例如 8080-8090),但我们仍然需要在 NLB 上只开放一个端口对外部流量(例如 8080)。

您可以将目标组添加到自动缩放组配置中,并在自动缩放组更改时更新它,但这似乎仅适用于目标组中配置的一个端口,不适用于多个端口。您可以通过控制台使用不同的端口将同一实例添加到目标组两次,但这对我没有多大帮助,因为基础设施是通过 terraform 管理的。

问题:

有没有人知道一个解决方案,其中自动缩放组中的目标会自动更新同一目标上的多个端口,这些端口在 NLB 上的一个端口上暴露给外部?


更新:据我所知,如果您创建一个调用 AWS API 并使用不同端口多次将同一实例添加到一个目标组的 lambda,则可以做到这一点。lambda 由自动缩放组的缩放事件触发的 SNS 事件触发。

标签: amazon-web-servicesautoscalingnlb

解决方案


推荐阅读