首页 > 解决方案 > AWS 应用程序负载均衡器运行状况检查失败

问题描述

我有一个带有 ALB 的 ecs fargate 集群来将流量路由到。docker 容器正在侦听端口 9000。

我的容器可以通过 https 通过 alb dns 名称访问。这样可行。但是他们不断地从目标组中停止/注销,并且在他们在目标组中注册后立即重新启动以处于不健康状态。

ALB 在 443 上只有一个侦听器。设置了安全组,以便sg-alb允许端口 9000 上的出站流量sg-fargatesg-fargate允许端口 9000 上的所有入站流量sg-alb

目标组也设置为使用端口 9000。

我不确定问题是什么,或者如何调试它。

一切都是用cdk设置的。不确定这是否相关。

标签: amazon-web-servicesamazon-elb

解决方案


事实证明,这不是安全组的问题。只是巧合,它在我更改安全组时起作用。

似乎容器启动的速度不够快,无法在启动健康检查时接受来自 alb 的连接。

有什么帮助:

  • 改为healthCheckGracePeriod两分钟
  • 调整目标组的健康检查参数interval,, unhealthyThreshold,healthyThreshold

此外,在我的应用程序日志中,该服务似乎一次收到两个运行状况检查请求。默认情况下,unhealthy threshold设置为 2。因此,服务可能仅在一次健康检查后才被标记为不健康。


推荐阅读