我正在我的工作场所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
在我的帐户中