Интересно, существует ли простой способ или рекомендации по обеспечению того, чтобы все экземпляры в группе AutoScaling были запущены с текущей конфигурацией запуска этой группы AutoScaling.Изменения конфигурации запуска Auto Scaling Group
Чтобы привести пример, представьте себе группу автомасштабирования, которая называется www-asg
с четырьмя желаемыми экземплярами, на которых запущены веб-серверы за ELB. Я хочу изменить AMI или пользовательские данные, используемые для запуска экземпляров этой группы автомасштабирования. Поэтому я создаю новую конфигурацию запуска www-cfg-v2
и обновляю www-asg
, чтобы использовать ее.
# create new launch config
as-create-launch-config www-cfg-v2 \
--image-id 'ami-xxxxxxxx' --instance-type m1.small \
--group web,asg-www --user-data "..."
# update my asg to use new config
as-update-auto-scaling-group www-asg --launch-configuration www-cfg-v2
К настоящему времени все 4 экземпляра запуска по-прежнему используют старую конфигурацию запуска. Интересно, есть ли простой способ заменить все запущенные экземпляры новыми экземплярами для обеспечения новой конфигурации, , но всегда гарантирует, что минимум экземпляров будет работать.
Мой текущий способ достижения этой цели заключается в следующем ..
- сохранить список текущих запущенных экземпляров для данной группы AutoScaling
- временно увеличить число требуемых экземпляров +1
- ждать новый экземпляр быть доступны
завершить один экземпляр из списка с помощью
as-terminate-instance-in-auto-scaling-group i-XXXX \ --no-decrement-desired-capacity --force
ждать экземпляра замены будут доступны
- , если более чем один экземпляр остается повторить с 4.
прекратить последний экземпляр из списка с помощью
as-terminate-instance-in-auto-scaling-group i-XXXX \ --decrement-desired-capacity --force
сделано, все экземпляры должны теперь запускается с той же конфигурацией запуска
У меня в основном автоматизирована эта процедура, но я чувствую, что e должен быть лучшим способом достижения одной и той же цели. Кто-нибудь знает более эффективный способ?
Mathias
также разместил этот вопрос в официальном AWS EC2 Forum.
Просто интересно, вы нашли альтернативный способ сделать это? Я в значительной степени делаю то же самое, что вы описали выше. – ElasticThoughts
@CocoaNoob: нет ... но я также не изменил конфигурацию запуска для спокойного времени. Но вот сценарий, который я написал для скользящих изменений: https://gist.github.com/muhqu/76264d73d42edbb75263 – muhqu
@muhqu Вы нашли альтернативный способ сделать это? – froi