如何通过命令行缩小/升级aws ecs集群中的容器,我应该使用aws cli还是ecs-cli?

时间:2018-04-30 08:34:46

标签: amazon-web-services amazon-ec2 aws-cli amazon-ecs docker-container

我正在使用EC2实例运行AWS ECS群集,我想要一个命令将任务扩展到1个正在运行的实例,然后在我不需要它的一段时间之后我想将其缩小到0。应该销毁基础EC2实例以避免收费。我没有使用Fargate,因为它不是免费的。

我目前正在使用它来扩展到一个并开始运行它:

ecs-cli scale --capability-iam --size 1 --cluster myEC2clusterName --region us-east-1
aws ecs run-task --cluster myEC2clusterName --region us-east-1 --task-definition myTaskDefinitionName:1 --count 1

我目前使用的缩小规模:

ecs-cli scale --capability-iam --size 0 --cluster myEC2clusterName --region us-east-1

仅在aws cli中是否存在等效命令而无需使用ecs-cli来执行相同操作?

2 个答案:

答案 0 :(得分:1)

是的,您可以调用UpdateService API或使用update-service命令。

aws ecs update-service --cluster myEC2clusterName --region us-east-1 --service myServiceName --desired-count 0

编辑:我误解了这个问题。

您可以调用SetDesiredCapacity API或使用set-desired-capacity命令调整EC2自动缩放组的大小。

答案 1 :(得分:0)

完整命令是按比例放大/缩小集群

aws autoscaling set-desired-capacity --desired-capacity 2 \
  --auto-scaling-group-name <your-group-name>

您可以使用以下命令获取组名:

aws autoscaling describe-auto-scaling-instances

名称本身将位于AutoScalingGroupName JSON数组中元素的AutoScalingInstances字段中。