是否可以告诉AWS网络负载均衡器实例运行状况良好且没有延迟?

时间:2019-10-12 20:09:50

标签: amazon-web-services amazon-elb

AWS Network Load Balancer会导致90秒钟的延迟来注销目标的注册,并且至少需要10秒钟才能注意到该目标不健康。

是否有一些API调用可以立即通知负载均衡器目标不健康?

2 个答案:

答案 0 :(得分:0)

您可以直接注销目标,例如通过CLIPython SDK

答案 1 :(得分:0)

如果HTTP的阈值为2,有一种方法可以将运行状况检查间隔减少到最小 5秒,因此这意味着0的延迟注销将不会等待经过延迟会有所改善。

这是TCP运行状况检查的最低设置,如果没有,您也可以调整此设置,因为当目标不正常时会取消注册,因此运行状况检查将起主要作用。

enter image description here

enter image description here

对于http

enter image description here enter image description here

注销延迟

  

Elastic Load Balancing停止向以下目标发送请求:   注销。默认情况下,Elastic Load Balancing等待300秒   在完成注销之前,这可以在飞行中提供帮助   要求目标完成。改变时间   Elastic Load Balancing等待,更新注销延迟值。

     

注销目标的初始状态正在耗尽。之后   取消注册延迟时间过去,取消注册过程完成并且   目标的状态未使用。如果目标是自动的一部分   伸缩组,可以终止并替换。

     

如果注销目标没有进行中的请求且没有活动的   连接后,Elastic Load Balancing立即完成   取消注册过程,无需等待取消注册延迟   过去。但是,即使目标注销已完成,   目标状态将显示为耗尽,直到取消注册延迟结束

load-balancer-target-groups-deregistaion-delay

解决方法:

我的客户项目中有一个具有相同的要求,所以我想出了一个自定义的运行状况检查脚本,该脚本执行两项任务。

  • 检查目标群体的健康状况
  • 如果目标群体看起来健康,那么对LB的健康状态返回
  • 如果目标组状态不正常,请立即注销目标

enter image description here