5

我已经使用以下配置配置了云

  1. 在两个可用区中具有公有子网和私有子网的 VPC。公共子网有一个互联网网关,私有子网有一个配置的 NAT 网关
  2. 面向 Internet 的网络负载均衡器,允许在两个可用区中配置 TCP 流量
  3. 从负载均衡器转发流量的目标组
  4. 私有子网中的 EC2 实例配置了 haproxy 在端口 80 上侦听。它的安全组配置为在端口 80 上接受来自配置 NLB 的两个子网的 TCP 流量
  5. 将此实例添加到目标组,状态为健康

当我尝试访问 NLB DNS 时,它给了我“连接超时”错误。我期待当我点击 NLB DNS 时,它应该将我转发到私有实例。我检查了许多 AWS 文档,例如此链接,但仍然找不到此问题的解决方案。如果这还不够,请随时询问更多信息。

4

1 回答 1

10

它的安全组配置为在端口 80 处接受来自配置 NLB 的两个子网的 TCP 流量

当通过 instance-id 注册目标时,面向 Internet 的 NLB 后面的实例的安全组需要允许来自 0.0.0.0/0 的流量——或者任何需要通过平衡器访问它们的公共 IP 地址范围——而不仅仅是平衡器的子网(运行状况检查所需)。

如果您的目标类型是实例,请将规则添加到您的安全组,以允许来自负载均衡器和客户端的流量到目标 IP。

https://aws.amazon.com/premiumsupport/knowledge-center/security-group-load-balancer/

与 ALB 和 Classic 平衡器不同,当目标由 instance-id 配置时,NLB 流量具有外部客户端的源地址,这是安全组匹配的地址。

于 2019-03-14T20:07:41.247 回答