【问题标题】:ECS Fargate + Network Load Balancer HealthcheckECS Fargate + 网络负载均衡器健康检查
【发布时间】:2019-08-27 16:51:46
【问题描述】:

我在使用以下设置时遇到问题:

API 网关 -> VPC 链接 -> 私有 NLB -> 目标组 -> AWS ECS Fargate

如果我在指定端点上将 NLB 的健康检查设置为 TCP/HTTP,则该端点会因内部请求而被敲死(我检查过没有请求通过 API 网关):

我对这种行为的问题是,除了我自己的架构向健康端点发送垃圾邮件外,应用程序的功能正在受到影响(我一直收到缓慢的响应,4 次中有 1 次向 API 发出请求)。

我尝试将 Health Check 的行为修改为仅 TCP,同样的慢响应。

我尝试暂时切换到公共 ALB,我会进行两次运行状况检查,间隔 30 秒,但我的应用程序平均响应时间为 100 毫秒。

所以,作为我所说的“双重健康检查”的一个例子:

00:00:00 运行状况检查 1.1

00:00:10 运行状况检查 2.1

00:00:30 运行状况检查 1.2

00:00:40 运行状况检查 2.2

有什么想法吗?

【问题讨论】:

    标签: amazon-web-services amazon-ecs aws-fargate


    【解决方案1】:

    TL/DR;

    启用“跨区域负载平衡”NLB 标志。

    问题是“交叉可用区”未检出。 似乎当一个请求被驻留在与其尝试重定向的那个不同的 AZ 中的 NLB 节点处理时,它会尝试在 AZ 中内部解析 IP,如果失败,它将请求重定向到相应 AZ 中的另一个 NLB 节点,它将能够这样做,从而达到目标。

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 2020-01-12
      • 2013-04-11
      • 1970-01-01
      • 2016-08-05
      • 2021-08-14
      • 2015-08-04
      • 2020-09-23
      • 2021-11-15
      相关资源
      最近更新 更多