【问题标题】:aws NLB leads to time-outaws NLB 导致超时
【发布时间】:2021-04-20 14:18:24
【问题描述】:

我有 NLB,它的目标组注册了不同 AZ 中的 3 个实例。

当我浏览文档时,NLB 没有安全组。 所以我向 ec2 实例安全组添加了 3 个入站规则,允许来自所有三个 AZ 的 NLB 网络接口的私有 IP 将 tcp 流量发送到 ec2 实例。

注意:- 对所有 3 个 ec2 实例的健康检查都是健康的。

当我通过允许我的私有 IP 流量来尝试相同的事情时,没有出现超时问题。

【问题讨论】:

  • 如果实例是健康的,那么超时发生在哪里?
  • 即使我对实例的健康状况感到惊讶,这意味着我添加 NLB 接口私有 IP 的规则仍然有效,但仍然无法从 nlb DNS 主机名访问我的网站。我的 nlb dns network-lb-revision-cc9166c5264bbf59.elb.ap-southeast-1.amazona…
  • 健康检查是为 HTTP 而不是 TCP 设置的?
  • 不,它们是为 TCP 协议设置的,我遵循了这个aws.amazon.com/premiumsupport/knowledge-center/…
  • 非常感谢@Marcin,很明显,当您注册目标时,它会通过实例 id 注册所有传入流量的客户端 IP,并将其提供给您的应用程序。所以我只是去了目标组的属性并禁用了客户端IP保存。禁用客户端 IP 保留后,网络负载均衡器的私有 IP 地址将成为所有传入流量的客户端 IP,现在它可以正常工作您是否介意将此添加为答案,以便将来帮助其他人?

标签: amazon-web-services amazon-ec2 aws-nlb


【解决方案1】:

基于 cmets。

由于 NLB 没有安全组 (SG),因此目标实例需要允许 NLB 节点的私有 IP 地址或客户端的 IP 地址。这取决于是否启用了client IP preservation

default:

当您通过实例 ID 指定目标时,所有传入流量的客户端 IP 都会保留并提供给您的应用程序。

随后,实例的 SG 应允许所有客户端 IP 地址。或者,您可以禁用客户端 IP 保留,在这种情况下,SG 可以使用 NLB 节点的私有 IP 地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2021-04-19
    • 2019-02-08
    • 1970-01-01
    • 2021-06-23
    相关资源
    最近更新 更多