【发布时间】:2021-01-07 14:03:33
【问题描述】:
我想每天停止我的 ECS Fargate 测试环境,对我来说最好的选择就是将 ECS 服务修改为希望计数为零,如下所示aws ecs update-service --cluster COOL --service blablabla --desired-count 0,因此任何正在运行的任务都会在几分钟内耗尽,它如果我没有 Auto Scaling,就可以正常工作。
当 ECS 服务具有 Auto Scaling 时,问题就开始了,如下图所示,我有 min 1、desired 1 和 max 3,如果我使用上面的 AWS CLI 命令,服务会重置大约一分钟后变为 1,并且不会停止任何任务,因为 Auto Scaling 有一个desired 1。
如果我手动编辑 ECS 服务并为服务和 Auto Scaling 设置 desired 0(当然在 Auto Scaling 中也设置了 min 0),我可以停止任何正在运行的任务。
我尝试将以下命令用于 Auto Scaling,希望可以更改 desired,但它不可用。
aws application-autoscaling register-scalable-target \
--service-namespace ecs \
--scalable-dimension ecs:service:DesiredCount \
--resource-id service/COOL/blablabla \
--min-capacity 1 \
--max-capacity 3
我一直在想,可能的一种方法是通过 AWS CLI 删除 Auto Scaling,然后将 ECS 服务 desired 更改为 0,所以一切都会停止,然后在第二天重新创建Auto Scaling 并将 ECS 服务 desired 更新为 1。
总之,我想每天停止/启动我的 ECS Fargate 测试环境,目前编辑 ECS 服务适合我,但 Auto Scaling 会中断此操作。
任何人都可以为此提出解决方案吗?谢谢。
【问题讨论】:
标签: amazon-web-services amazon-ecs aws-fargate