Amazon web services 我可以暂停ECS服务而不是删除它吗?
在文档中找不到这个。我是否可以暂停ECS服务,使其停止创建新任务?还是我必须删除它才能停止这种行为 我只想暂时暂停它在集群上创建新任务您可以通过调整服务配置以匹配当前正在运行的任务数量来完成“暂停”。例如,如果您的服务中当前有3个正在运行的任务,则应按以下方式配置该服务: 这告诉服务:Amazon web services 我可以暂停ECS服务而不是删除它吗?,amazon-web-services,amazon-ecs,Amazon Web Services,Amazon Ecs,在文档中找不到这个。我是否可以暂停ECS服务,使其停止创建新任务?还是我必须删除它才能停止这种行为 我只想暂时暂停它在集群上创建新任务您可以通过调整服务配置以匹配当前正在运行的任务数量来完成“暂停”。例如,如果您的服务中当前有3个正在运行的任务,则应按以下方式配置该服务: 这告诉服务: 我想要的任务数是[当前计数] 我希望您至少维护[当前计数] 我不想超过当前计数 这些组合有效地阻止了您的服务进行任何更改。接受的答案不正确。 如果将“最小健康百分比”和“最大健康百分比”都设置为100,AW
- 我想要的任务数是
[当前计数]
- 我希望您至少维护<代码>[当前计数]
- 我不想超过当前计数
这些组合有效地阻止了您的服务进行任何更改。接受的答案不正确。 如果将“最小健康百分比”和“最大健康百分比”都设置为100,AWS将给出类似于以下内容的错误: 要停止服务创建新任务,您必须通过更新任务定义并将所需任务数设置为0来更新服务。然后,您可以使用AWS CLI(最快选项)停止现有正在运行的任务,例如:
aws ecs list-services --cluster "ecs-my-ClusterName"
aws ecs list-tasks --cluster "ecs-my-ClusterName" --service "service-my-ServiceName-117U7OHVC5NJP"
之后,您将获得服务的运行任务列表,例如:
{
"taskArns": [
"arn:aws:ecs:us-east-1:XXXXXXXXXXX:task/12e13d93-1e75-4088-a7ab-08546d69dc2c",
"arn:aws:ecs:us-east-1:XXXXXXXXXXX:task/35ed484a-cc8f-4b5f-8400-71e40a185806"
]
}
最后,使用以下命令停止每个任务:
aws ecs stop-task --cluster "ecs-my-ClusterName" --task 12e13d93-1e75-4088-a7ab-08546d69dc2c
aws ecs stop-task --cluster "ecs-my-ClusterName" --task 35ed484a-cc8f-4b5f-8400-71e40a185806
更新:通过将所需的运行任务数设置为0,ECS将停止并耗尽该服务中所有正在运行的任务。之后无需使用上面最初发布的CLI命令单独停止这些任务。只需将服务的所需任务数设置为0即可。 ECS将自动删除所有正在运行的任务
aws ecs update-service --desired-count 0 --cluster "ecs-my-ClusterName" --service "service-my-ServiceName-117U7OHVC5NJP"
据我回忆,暂停会继续运行后台任务,我必须深入识别、停止/删除脱离其他依赖项服务的实例。啊,是的,这很有意义。我可以将任务设置为0以“关闭”该服务。对没有得出这样的结论感到很愚蠢我自己也不觉得很糟糕,AWS在很多方面都是出了名的模棱两可,看起来他们更新了自我发布原始答案以来所允许的内容。更新:将所需的运行任务数设置为0,将停止该服务中的所有运行任务。战后无需单独停止它们ds。