Как уменьшить / увеличить контейнеры в кластере aws ecs с помощью командной строки, я должен использовать aws cli или ecs-cli? - PullRequest
0 голосов
/ 30 апреля 2018

Я запускаю кластер AWS ECS с экземплярами EC2 и хочу, чтобы команда масштабировала задачи до 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 голосов
/ 03 мая 2019

Полная команда для увеличения / уменьшения кластера:

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

Вы можете получить имя группы с помощью этой команды:

aws autoscaling describe-auto-scaling-instances

где само имя будет в AutoScalingGroupName поле элементов в AutoScalingInstances массиве JSON.

0 голосов
/ 30 апреля 2018

Да, вы можете вызвать API UpdateService или использовать команду update-service.

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

Редактировать: я неправильно понял вопрос.

Вы можете вызвать API SetDesiredCapacity или использовать команду set-desired-capacity для настройки размера группы автоматического масштабирования EC2.

...