我遇到以下设置问题:
API网关 - > VPC链接 - >私有NLB - >目标组 - > AWS ECS Fargate
如果我在指定的端点上将NLB的运行状况检查设置为TCP / HTTP,那么该端点会因内部请求而死亡(没有请求通过API网关,我检查过):
这个行为的问题,除了让我自己的架构发送垃圾邮件的健康端点之外,应用程序的功能正在受到影响(我继续得到缓慢响应中的4个获取API的请求)。
我试图将Health Check的行为修改为仅TCP,同样缓慢的响应。
我尝试暂时切换到公共ALB,我正在进行双重健康检查,相隔30秒,但我的应用程序平均响应时间为100毫秒。
所以,作为我所说的“双重健康检查”的一个例子:
健康检查1.1于00:00:00
健康检查2.1于00:00:10
健康检查1.2于00:00:30
健康检查2.2于00:00:40
有任何想法吗?
TL / DR;
启用“跨区域负载平衡”NLB标志。
问题是没有签出的“交叉可用区”。似乎当一个NLB节点处理请求时,该节点位于与尝试重定向的AZ不同的AZ中,它会尝试在内部解析AZ中的IP,如果失败,它会将请求重定向到适当的AZ中的另一个NLB节点,它将能够这样做,从而达到目标。