Mantendo instâncias mortas ativas para análise no grupo de escalonamento automático da AWS

Mantendo instâncias mortas ativas para análise no grupo de escalonamento automático da AWS

Executamos alguns servidores web na AWS em um pequeno grupo de escalonamento automático (normalmente de 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 web parar de responder, ele será substituído por uma nova instância.

Atualmente, isso está funcionando bem. Se houver uma interrupção, os servidores que não respondem serão encerrados e novos servidores serão criados para ocupar seu lugar.

O problema é que atualmente não temos ideia do motivo pelo qual os servidores estão caindo. Temos algumas suspeitas de alguns dos logs que temos, mas não podemos mais fazer login no servidor, consultar os logs da web, os logs do sistema ou qualquer outra coisa.

Eu sei que existe uma maneira de desanexar manualmente as instâncias de um grupo de escalonamento automático, mas existe alguma maneira de fazer isso automaticamente em caso de falha?

Isso é o que eu gostaria que acontecesse: quando um servidor falha, ele permanece 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 poderia ocorrer, para que, se por algum motivo, os servidores continuassem alternando, não acabássemos com centenas de instâncias desanexadas.

Então, isso pode ser feito de alguma forma e, em caso afirmativo, como?

Responder1

Existem algumas maneiras de fazer isso.

  • Você pode suspender a ação "encerrar" no ASG -> Detalhes -> Editar -> Suspender Processo -> "encerrar". Nenhuma máquina será encerrada.

  • Além disso, você pode proteger uma instância específica de ASG -> Instâncias -> Ações -> Proteção de Instância.

  • Depois, existem maneiras de pensar na caixa, como expulsar a instância do ASG quando um evento acontece.

informação relacionada