当前位置: 首页 > 知识库问答 >
问题:

AWS ECS中动态端口设置中的健康检查失败

颜功
2023-03-14

当我使用动态端口设置时,我的ECS设置在运行状况检查中不断失败。

这是我的设置:

我有一个spring boot web应用程序,它使用端口10440。因此,在我的任务定义中,我使用端口0作为我的主机端口来启用动态移植,并使用10440作为我的容器端口。我有两个2 ec2实例,在我的服务中运行2个任务。但由于健康检查失败,我的任务一直在终止。

屏幕截图:

-任务事件日志

-目标组中注册的ec2实例不健康

注意:如果将主机端口也更改为10440,设置工作正常。但是我不能运行超过ec2实例数量的任务。

屏幕截图:目标组中的健康注册ec2实例

我希望有人能帮忙,这样我就可以设置我的ECS在2个实例中运行更多任务。谢谢!

共有3个答案

班建义
2023-03-14

我刚刚解决了这个问题。执行时

aws elbv2描述-目标-健康-目标-组-arn

我发现健康检查有超时错误,所以我只是延长健康检查设置中的超时。

薛鹏飞
2023-03-14

确保目标群体的健康检查端口设置为“交通端口”。

严信瑞
2023-03-14

我遇到了同样的问题,并且知道在ECS集群安全组中,动态端口(所有TCP端口)不允许ALB sg。一旦允许通信端口能够连接到EC2实例,则健康检查将通过

 类似资料:
  • 我已经在端口80上配置了一个通过apache公开的web应用程序pod。我无法配置从internet访问的服务入口。问题是后端服务总是报告为不健康。 Pod配置: 服务配置: 入口配置: 这会导致后端服务报告为不健康。 健康检查设置:

  • 我有一个带有2个主机的consur堆栈(用于测试)。1台主机仅在引导模式下运行consur,另一台主机在注册器下运行客户端模式,用于自动注册服务(均在docker上运行)。现在,如果我启动一个应用程序(例如8080端口)容器,注册器将检测并将其注册到Consor,但它没有我想要的http检查。我发现Registrator有自动注册健康检查的选项是将SERVICE\u 8080\u check\u

  • SOFABoot 为 Spring Boot 的健康检查能力增加了 Readiness Check 的能力。如果你需要使用 SOFA 中间件,那么建议使用 SOFABoot 的健康检查能力的扩展,来更优雅的上线应用实例 引入健康检查扩展 要引入 SOFABoot 的健康检查能力的扩展,只需要引入以下的 Starter 即可: <dependency> <groupId>com.alipay

  • 因此,我们正在使用全局MTL部署istio 1.0.2,目前进展顺利。对于健康检查,我们为服务添加了单独的端口,并根据文档进行了配置: https://istio.io/docs/tasks/traffic-management/app-health-check/#mutual-tls-is-enabled 我们的应用程序端口现在位于 8080 上,运行状况检查端口位于 8081 上。完成此操作后

  • 健康检查配置概述。 filter.http.HealthCheck filter.http.HealthCheck proto { "pass_through_mode": "{...}", "endpoint": "...", "cache_time": "{...}" } pass_through_mode (BoolValue, REQUIRED) 指定过滤器是否在传递模式下运

  • 健康检查架构概述。如果为集群配置了健康检查,则会发出相应的统计信息。详见请参考统计相关文档。 HealthCheck HealthCheck.Payload HealthCheck.HttpHealthCheck HealthCheck.TcpHealthCheck HealthCheck.RedisHealthCheck HealthCheck HealthCheck proto { "ti