Мне нужен совет по автоматическому масштабированию AWS, балансировщикам нагрузки и проверкам работоспособности:
Можно ли различить два механизма проверки работоспособности: один - когда отправлять или не отправлять трафик на экземпляр (но не прекращать / заменять его), а другой - когда завершать / заменять этот экземпляр.
Сценарии:
Заранее спасибо за ответы.
Неясно, используете ли вы EC2 или ECS, и какой тип ELB вы используете, а также зависит от типа приложения, которое вы используете. Пожалуйста, предоставьте эти сведения и немного о своем стеке приложений, если вы хотите получить более точный ответ.
В общем, когда клиентский запрос попадает в ELB, он определяет, на каком экземпляре он «направляет / отправляет» трафик (на основе конфигурации, скажем, циклического перебора), когда вы удаляете экземпляр из ELB, это не означает, что в настоящее время установленные соединения автоматически перенаправляется на оставшиеся экземпляры. Вы должны подождать или отслеживать активные соединения на удаленном экземпляре, чтобы получить подробную информацию, а когда вы увидите, что никаких активных соединений нет, выполните обслуживание (т.е. перезагрузите экземпляр после обновления).
Одним из ключевых факторов является то, что содержит информацию о текущих установленных сеансах. Если каждый экземпляр проводит сеансы отдельно, «половина вошедших в систему пользователей выйдет из системы». Что вам нужно сделать, так это сохранить сеанс «где-то еще», часто в ElastiCache или в DB / RDS, чтобы при удалении сеанса экземпляра оставался подключенным (пользователи не вышли из системы). Если вы проводите сеансы отдельно, когда вы удаляете экземпляр из ELB, вы можете почти сразу же уничтожить его (но опять же, это зависит от приложения, которое вы используете)
В документации AWS есть очень хорошая информация:
Отключить EC2 от группы автомасштабирования
Временное удаление instace из группы автомасштабирования