从 ALB 切换到 NLB 后健康检查失败?

Health check fails after switching from ALB to NLB?

在我将负载均衡器类型从 "application" 切换为 "network" 后,目标组中的健康检查失败。我需要使用网络负载平衡器才能在 api 网关中执行 vpc link。我将一个安全组附加到我的 ALB,但 NLB 不再需要它。

我了解 NLB 在第 4 层运行。我的 ALB 在端口 443 上侦听 HTTPS,在端口 80 上侦听目标组 HTTP。现在,我的 NLB 在端口 80 上侦听 TCP,在端口 80 上侦听目标组 TCP .

如果我更改附加到我的 EC2 实例的安全组并允许来自 anywhereAll TCP 流量,那么运行状况检查将再次开始通过。但是,我不想允许来自任何地方的流量。我还尝试将源设置为我的 vpc 安全组,但这也不起作用。

因此,我不确定应该在我的安全组中将源设置为什么。在我的安全组中,有没有一种方法可以将 All TCP 限制为仅限内部流量? NLB 是否做了与 ALB 不同的事情,这可能导致我的健康检查失败?

最终只使用了连接到网络负载均衡器的所有子网的 cidr 范围。

看来,对于网络负载均衡器,您必须只允许 NLB 中所有内容的所有流量,或将其限制在连接到负载均衡器的所有子网的 cidr 范围内。