Как убедиться, что ASG (группа автоматического масштабирования) заменяет существующие экземпляры при каждом изменении конфигурации запуска - PullRequest
0 голосов
/ 20 апреля 2020

Инфраструктура предоставляется с использованием кода terraform. В нашей среде AWS у нас есть новый AMI, созданный для каждого коммита, сделанного в хранилище. Теперь, если мы хотим настроить автоматическое масштабирование для веб-серверов за ALB, используя этот новый AMI

  • , как мы можем быть уверены, что ASG заменяет существующие экземпляры при каждом изменении конфигурации запуска, потому что я поверьте, как только вы измените L C, только экземпляры, созданные с масштабированием in / out, запускаются с использованием нового AMI, а существующие не заменяются.

Кроме того, есть ли у вас какие-либо идеи о том, как мы можем программно (через terraform) получить количество серверов, запущенных в любой момент времени, в случае автоматического масштабирования?

Любая помощь высоко ценится здесь. Спасибо!

1 Ответ

0 голосов
/ 20 апреля 2020

По большей части это довольно просто, и в Интернете уже есть дюжина реализаций.

Хитрая часть - это express поле 'create_before_destroy' в L C и ASG. Вы также должны обратиться к L C в вашем ресурсе ASG. Таким образом, после изменения L C вы запустите рабочий процесс, который создаст новую ASG, которая заменит вашу текущую.

Очень хороший документированный пример

Кроме того, у вас есть представление о том, как мы можем программно (через terraform) получить количество серверов, запущенных в любой момент времени, в случае автоматического масштабирования?

Это зависит от контекст. Если у вас есть номер c, это легко, вы можете определить его в своем модуле и придерживаться его. Если речь идет о передаче предыдущего значения ASG, то способ будет снова описан в руководстве выше :) Вам нужно написать собственный внешний обработчик для того, сколько в данный момент запущенных экземпляров у вас вокруг целевых групп. Конечно, может быть новое дополнение AWS REST API, которое даст вам возможность запросить все свойства проверки работоспособности ваших целевых групп и получить их общую сумму (не зная об этом). С другой стороны, вы можете добавить некоторые пользовательские правила для масштабирования политик.

Внешний обработчик

Примечание: в примере развертывание происходит с ELB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...