Назад | Перейти на главную страницу

Завершение работы старых инстансов EC2 только после создания новых при изменении ami хоста ECS в группе автомасштабирования

Вот моя LaunchConfiguration моей AutoScalingGroup в моем ECS-Cluster - с использованием облачной информации.

UpdatePolicy:
  AutoScalingRollingUpdate:
    MinInstancesInService: 1
    MaxBatchSize: 1
    PauseTime: PT15M
    WaitOnResourceSignals: true

Моя проблема с текущей настройкой заключается в том, что когда я вношу изменения в AMI хоста ECS, это приведет к тому, что каждый из экземпляров EC2 будет отключен и заменен по одному. Это приводит к тому, что все или все службы ECS, работающие в данный момент, прекращают работу даже до создания нового экземпляра EC2.

Есть ли способ сделать это? Их документация ничего не говорит о достижении желаемого поведения.

Любые указатели или подсказки приветствуются.

Установите MinInstancesInService выше равным текущему счету ASG перед обновлением - это заставит Cloudformation создавать новый экземпляр, прежде чем каждый раз завершать работу самого старого. Обязательно приостанавливайте процесс в ASG на время обновления, иначе автоматическое масштабирование может помешать облачной информации понять, какие экземпляры необходимо заменить. Кроме того, используйте тактовый сигнал перехватчика жизненного цикла автомасштабирования, чтобы приостановить завершение работы ваших экземпляров на 15 минут или около того, и используйте лямбда-выражение, чтобы перехватить завершение и установить экземпляр в режим DRAINING. См. Эту статью в блоге: https://aws.amazon.com/blogs/compute/how-to-automate-container-instance-draining-in-amazon-ecs/