关于AWS弹性缩放和应用程序负载均衡器之间的健康检查延迟的疑问

0

【以下的问题经过翻译处理】 背景

你好。我花费了2天的时间阅读了AWS文档和不同网站上的文章,尝试解决我的问题,但没有运气失败了。 我有一个EC2实例,它与应用程序负载均衡器(ALB)连接,ALB配置的是HTTP监听器,并为它使用了Autoscaling Group(ASG)。我正试图尽可能地低的设置Target Group(TG)健康检查的“不健康”状态和ASG准备新实例之间的延迟。实例从“黄金镜像” AMI启动,需要60秒钟才能准备就绪。我的TG设置如下:

Health Check Interval Seconds: 10
Health Check Timeout Seconds: 6
Healthy Threshold Count: 3
Unhealthy Threshold Count: 3
Deregistration Delay: 0

我使用ssh连接到实例,在Web服务器配置中进行了一些更改,强制反馈404状态以测试健康检查。 TG上的健康状态应该会在大约15-20秒钟内更改为“不健康”。

问题

问题在于,在实例管理页面上看到,需要80-90秒才能在ASG看到健康状态变为“不健康”。 ASG在80-90秒内才能触发实例替换,这太耗时了。

问题

如何减少TG健康状态和ASG健康状态之间的延迟?

1 Antwort
0

【以下的回答经过翻译处理】 每个服务都有不同的机制,彼此异步,它们运行工作是不同的。

ALB

  • 您可以设置间隔和连续不健康值。这些值一起确定了一个实例在ALB上显示不健康所需的时间。一旦在这里标记为不健康,ALB将停止向实例发送新请求(除非该目标组中的所有目标都不健康,然后它将故障开放)

ASG

  • 自动缩放具有独立的内部间隔,该间隔通过查看EC2中实例的以及在任何负载平衡器上(如果ASG启用了ELB healthchecks)的状态来检查实例是否不健康。
  • 在您的ALB标记实例不健康之后,ASG健康检查下次发生时,它将标记为不健康。ASG的健康检查间隔不可配置
  • 接下来的ASG启动/终止周期将导致实例被替换

Amazon EC2自动缩放通过定期检查实例的健康状态来检查Auto Scaling组中的所有实例是否正在运行且工作正常。 (1)

(1)https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#determine-instance-health


我已联系我们的内部文档团队,要求在ELB部分(上述线条的正下方)更加明确这两个异步计时器。如果您认为该主题周围的其他文档/部分应该改进,您可以在此处发表评论,我会将其传递给文档团队;或者单击给定文档的“反馈”按钮,该按钮将直接将您的反馈发送给负责该服务的团队

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen