代码之家  ›  专栏  ›  技术社区  ›  mangusta

如何让ECS上的Spring Boot应用程序在健康检查宽限期为0的情况下立即启动

  •  0
  • mangusta  · 技术社区  · 2 年前

    我正在我的工作场所AWS帐户中,在我自己的AWS帐户中部署一个ECS Spring Boot服务。 我对集群、服务、目标组和自动缩放组使用相同的设置。我在我的AWS帐户中重新创建了这个ECS服务的所有组件,我认为我没有遗漏任何内容。

    两者都通过自动缩放组直接在EC2实例上运行(即不是Fargate)。

    唯一不同的是,工作区账户中的服务在服务设置中有健康检查宽限期=0,ECS任务启动很快,在目标群体的仪表板上被标记为“健康”,而我的账户中,这个应用程序至少需要300秒的宽限期,否则该任务被标记为不健康,并最终以消息终止 STOPPED (Task failed ELB health checks in (target-group arn:... ,启动一个新任务,该任务也将终止,依此类推。

    即使有300秒的宽限期,任务也会在一分钟内变得“不健康”,然后才进入“健康”状态。

    有人知道为什么会发生这种事吗?为什么在我的AWS帐户中,我的应用程序需要300秒的宽限期才能在“健康”状态下启动?

    PS。在两个自动缩放组设置中,在“健康检查”部分,健康检查类型标记为“EC2”,健康检查宽限期为零(如果重要的话)

    PS2.还有一个区别,自动缩放组 desired=3, min=1, max=10 工作场所账户,以及 desired=1, min=0, max=1 在我的帐户中

    0 回复  |  直到 2 年前