Executamos alguns servidores da Web no AWS em um grupo pequeno de escalonamento automático (geralmente em 2 a 4 instâncias). Sua verificação de integridade é baseada na verificação de integridade do ELB, de modo que, se um dos servidores da Web parar de responder, ele será substituído por uma nova instância.
Atualmente, isso está funcionando bem. Se houver uma indisponibilidade, os servidores não responsivos são encerrados e novos são substituídos para ocupar o lugar deles.
O problema é que atualmente não temos ideia de por que os servidores estão inativos. Temos algumas suspeitas de alguns dos registros que temos, mas não podemos mais fazer logon no servidor, consultar os logs da web, os logs do sistema ou qualquer outra coisa.
Eu sei que existe uma maneira de separar manualmente as instâncias de um grupo de escalonamento automático, mas existe alguma maneira de fazer isso automaticamente no caso de uma falha?
Isso é o que eu gostaria de acontecer é que, quando um servidor falha, ele é deixado em execução, mas removido do grupo de escalonamento automático, para que possamos analisá-lo para ver o que deu errado. Um bônus óbvio seria limitar a frequência com que isso pode ocorrer, de modo que, se por algum motivo ele continuar circulando os servidores, não acabaremos com centenas de instâncias desanexadas.
Então, isso pode ser feito de alguma forma e, em caso afirmativo, como?