AWS Application Load Balancer 健康检查失败
AWS Application Load Balancer health checks fail
我有一个带有 ALB 的 ecs fargate 集群来将流量路由到。 docker 个容器正在侦听端口 9000。
我的容器可以通过 https 的 alb dns 名称访问。这样可行。但是他们不断从目标组中获取stopped/deregistered并且在他们注册到目标组后立即重新启动只是处于不健康状态。
ALB 在 443 上只有一个侦听器。
设置安全组,以便 sg-alb
允许端口 9000 上的出站流量到 sg-fargate
并且 sg-fargate
允许端口 9000 上来自 sg-alb
的所有入站流量。
目标组也设置为使用端口 9000。
我不确定问题出在哪里,也不知道如何调试。
一切都是用 cdk 设置的。不确定这是否相关。
事实证明,这不是安全组的问题。纯属巧合,在我更改安全组时它起作用了。
容器启动速度似乎不够快,无法在 alb 开始运行状况检查时接受来自它的连接。
有什么帮助:
- 将
healthCheckGracePeriod
改为两分钟
- 调整目标组的健康检查参数,
interval
、unhealthyThreshold
、healthyThreshold
此外,在我的应用程序日志中,该服务似乎同时收到两个健康检查请求。默认情况下,unhealthy threshold
设置为 2。因此,服务可能仅在一次健康检查后才被标记为不健康。
我有一个带有 ALB 的 ecs fargate 集群来将流量路由到。 docker 个容器正在侦听端口 9000。
我的容器可以通过 https 的 alb dns 名称访问。这样可行。但是他们不断从目标组中获取stopped/deregistered并且在他们注册到目标组后立即重新启动只是处于不健康状态。
ALB 在 443 上只有一个侦听器。
设置安全组,以便 sg-alb
允许端口 9000 上的出站流量到 sg-fargate
并且 sg-fargate
允许端口 9000 上来自 sg-alb
的所有入站流量。
目标组也设置为使用端口 9000。
我不确定问题出在哪里,也不知道如何调试。
一切都是用 cdk 设置的。不确定这是否相关。
事实证明,这不是安全组的问题。纯属巧合,在我更改安全组时它起作用了。
容器启动速度似乎不够快,无法在 alb 开始运行状况检查时接受来自它的连接。
有什么帮助:
- 将
healthCheckGracePeriod
改为两分钟 - 调整目标组的健康检查参数,
interval
、unhealthyThreshold
、healthyThreshold
此外,在我的应用程序日志中,该服务似乎同时收到两个健康检查请求。默认情况下,unhealthy threshold
设置为 2。因此,服务可能仅在一次健康检查后才被标记为不健康。