运行 没有 Blue/Green 部署的 ECS 中的单个任务

Running single task in ECS without Blue/Green Deployment

是否可以在 AWS ECS 中始终只有一个任务 运行?我不想进行 Blue/Green 类型的部署。

我的要求:

Min/Desired/Max任务=1;

当我重新部署 ECS 服务时,它应该先停止旧任务,然后再启动新任务。目前正好相反。

任何参考都会有所帮助。

是的,这是可能的。

您可以创建一个 Number of Tasks 为 1 的 ECS 服务,这会将所需的计数设置为 1。

因为你只想要 1 个任务,它应该停止,然后一个新的任务应该到来,你可以修改 Deployment Configuration 具有以下值:

Minimum Healthy Percent - 0

Maximum Percent - 100

Desired Count 为 1,Minimum Healthy Percent0Maximum Percent 为 100,ECS 服务将杀死已经 运行 的任务,然后创建一个新任务。

注意:服务将在此期间中断。

为了解释您注意到的行为,默认值为

Minimum Healthy Percent - 100

Maximum Percent - 200

并且 Desired Count 为 1,在这种情况下,ECS 服务将始终维护一个 运行 任务,因为 Minimum Healthy Percent100,即 100% of 1 is 1。但是,Maximum Percent as 200 允许 ECS Service 创建另一个任务作为 200% of 1 is 2。所以首先启动一个新任务,一旦这个任务稳定,旧任务就会停止。