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