Как программно увеличить кластер ECS с помощью AWS SDK - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь программно увеличить свой кластер ECS с помощью пакета aws-sdk, используя node.js

Я прочитал часть документации API по ECS (https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ECS.html) несколько раз, но не могу найти метод API для обновления конфигурации кластера ECS.

Вы можете сделать это в пользовательском интерфейсе, если зайдете в ECS > clusters > your cluster > ECS Instances > Scale ECS Instances:

Scale ECS Instances

Есть ли способ сделать это программно, сделать это с существующими методами? Существует ли метод ECS.updateCluster?

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Нет способа сделать это напрямую через SDK. Вы должны использовать базовый ASG, чтобы установить желаемое количество. Как и в бэкэнде, настройка кластера ECS выполняется с помощью шаблона облачной информации, который создает группу автоматического масштабирования для этого пула EC2.

Вы сможете найти связанную группу автоматического масштабирования с кластером в разделе ASG в EC2. Вы можете использовать SDK, чтобы обновить желаемый счет этой группы автоматического масштабирования, что повлияет на этот желаемый счет в ECS.

Если вы хотите использовать функцию автоматического масштабирования, то вы можете использовать облачные часы для масштабирования и уменьшения экземпляров на основе различных метрик, например, «Резервирование / использование ЦП» или «Резервирование / использование ПАМЯТИ».

Ссылка: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch_alarm_autoscaling.html

0 голосов
/ 02 ноября 2018

Похоже, ваш кластер был создан при первом запуске консоли, и поэтому вы смогли увидеть опцию Scale ECS Instances.

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scale_cluster.html

Если ваш кластер был создан при первом запуске консоли после 24 ноября 2015 года, то группу автоматического масштабирования, связанную со стеком AWS CloudFormation, созданным для вашего кластера, можно увеличить или уменьшить, чтобы добавить или удалить контейнер. экземпляров. Вы можете выполнить эту операцию масштабирования из консоли Amazon ECS.

Если ваш кластер не был создан при первом запуске консоли после 24 ноября 2015 года, вы не сможете масштабировать кластер из консоли Amazon ECS. Однако вы все равно можете изменить существующие группы автоматического масштабирования, связанные с вашим кластером, в консоли автоматического масштабирования. Если у вас нет группы автоматического масштабирования, связанной с вашим кластером, вы можете создать ее из существующего экземпляра контейнера.

Я бы не рекомендовал использовать консоль для создания кластеров в производственной среде. В идеале вы должны использовать шаблон CF для создания кластера, в который можно поместить AutoScaling Group.

Вы можете изменить желаемое количество AutoScaling Group, используя следующий API.

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/AutoScaling.html#setDesiredCapacity-property

var params = {
  AutoScalingGroupName: "my-auto-scaling-group", 
  DesiredCapacity: 2, 
  HonorCooldown: true
 };
 autoscaling.setDesiredCapacity(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
 });
...