Мы запускаем некоторый веб-сервер на AWS в небольшой группе автомасштабирования (обычно 2-4 экземпляра). Его проверка работоспособности основана на проверке работоспособности ELB, так что если один из веб-серверов перестает отвечать, он будет заменен новым экземпляром.
В настоящее время это работает хорошо. Если происходит сбой, не отвечающие серверы отключаются, а на их место запускаются новые.
Проблема в том, что в настоящее время мы понятия не имеем, почему серверы выходят из строя. У нас есть некоторые подозрения из некоторых журналов, которые у нас есть, но мы больше не можем войти на сервер, просмотреть веб-журналы, системные журналы или что-либо еще.
Я знаю, что есть способ вручную отсоединить экземпляры от группы автоматического масштабирования, но есть ли способ сделать это автоматически в случае сбоя?
Вот что я хотел бы сделать, чтобы при сбое сервера он оставался работающим, но удалялся из группы автоматического масштабирования, чтобы мы могли проанализировать его и увидеть, что пошло не так. Очевидным бонусом было бы ограничение частоты возникновения этого, чтобы если по какой-то причине он продолжит циклично переключать серверы, мы не оказались бы с сотнями отсоединенных экземпляров.
Так можно ли это как-то сделать, и если да, то как?
решение1
Есть несколько способов сделать это.
Вы можете приостановить действие "завершить" в ASG -> Подробности -> Изменить -> Приостановить процесс -> "завершить". Ни одна машина не будет остановлена.
Также вы можете защитить определенный экземпляр с помощью ASG -> Экземпляры -> Действия -> Защита экземпляра.
Затем есть нестандартные способы, например, выбросить экземпляр из ASG, когда происходит событие.