Solução de problemas de instâncias não íntegras no Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

Solução de problemas de instâncias não íntegras no Amazon EC2 Auto Scaling

A seguir estão mensagens de erro apresentadas pelo Amazon EC2 Auto Scaling, as possíveis causas e as etapas que você pode tomar para resolver o problema.

Para recuperar uma mensagem de erro, consulte Veja o motivo das falhas na verificação de integridade.

Uma instância foi retirada de serviço em resposta a uma falha de verificação de status de instância do EC2

Problema: instâncias do Auto Scaling falham nas verificações de status do Amazon EC2.

Causa 1: se houver problemas que fazem com que o Amazon EC2 considere as instâncias do grupo do Auto Scaling prejudicadas, o Amazon EC2 Auto Scaling substituirá automaticamente as instâncias prejudicadas como parte da verificação de integridade.

Solução 1:: Quando uma verificação de status de instância falha, geralmente você precisa lidar com o problema por conta própria fazendo alterações de configuração da instância até que a aplicação não apresente mais problemas. Para resolver esse problema, siga estas etapas:

  1. Crie manualmente uma instância do Amazon EC2 que não faça parte do grupo do Auto Scaling e investigue o problema. Para obter ajuda geral na investigação de instâncias comprometidas, consulte Solução de problemas em instâncias com falha nas verificações de status no Guia do usuário do Amazon EC2.

  2. Depois de confirmar que sua instância foi executada com êxito e está íntegra, implante uma nova configuração de instância, livre de erros, no grupo do Auto Scaling.

  3. Exclua a instância criada para evitar cobranças contínuas na conta da AWS.

Uma instância foi retirada de serviço em resposta a uma verificação de integridade do EC2 que indicou que ela tinha sido terminada ou interrompida

Problema: instâncias do Auto Scaling que foram interrompidas, reinicializadas ou terminadas são substituídas.

Causa 1: um usuário interrompeu, reinicializou ou terminou manualmente a instância.

Solução 1:: Se precisar interromper ou reinicializar as instâncias no seu grupo do Auto Scaling, recomendamos colocar as instâncias em espera primeiro. Para obter mais informações, consulte Remover temporiamente instâncias do grupo do Auto Scaling.

Causa 2: o Amazon EC2 Auto Scaling tenta substituir instâncias spot depois que o serviço spot do Amazon EC2 interrompe as instâncias, porque o preço spot aumenta além do seu preço máximo ou a capacidade não está mais disponível.

Solução 2: não há garantia de que exista uma instância spot para atender à solicitação em qualquer momento específico. No entanto, você pode tentar o seguinte:

  • Use um preço máximo spot mais alto (possivelmente, o preço sob demanda). Ao definir seu preço máximo mais alto, a chance do serviço spot do Amazon EC2 iniciar e manter a quantidade necessária de capacidade é maior.

  • Aumente o número de grupos de capacidade diferentes dos quais você pode iniciar instâncias executando vários tipos de instâncias em várias zonas de disponibilidade. Para obter mais informações, consulte Grupos do Auto Scaling com vários tipos de instâncias e opções de compra.

  • Se você usar vários tipos de instâncias, considere ativar o recurso de rebalanceamento de capacidade. Ele será útil se você quiser que o serviço spot do Amazon EC2 tente iniciar uma nova instância spot antes que uma instância em execução seja encerrada. Para obter mais informações, consulte Rebalanceamento de capacidade no Auto Scaling para substituir instâncias spot em risco.

Causa 3: O Amazon EC2 encerrará todas as instâncias que ainda estiverem em execução 30 minutos antes do horário final do bloco de capacidade. Essa terminação abrupta faz com que o seu grupo do Auto Scaling tente iniciar novas instâncias para manter a capacidade desejada, mesmo que o bloco de capacidade esteja terminando.

Solução 3: Para resolver esse problema, tente as seguintes soluções:

  • Diminua a capacidade desejada do grupo do Auto Scaling para evitar que ele tente iniciar novas instâncias. Para obter mais informações, consulte Escalabilidade manual para o Amazon EC2 Auto Scaling.

  • Certifique-se de reduzir a escala horizontalmente em seu grupo do Auto Scaling 30 minutos antes do horário de término do bloco de capacidade para que você não encontre esse erro com frequência. Certifique-se de que os ganchos do ciclo de vida tenham sido concluídos 30 minutos antes do horário de término do bloco de capacidade. Para obter mais informações, consulte Use Capacity Blocks para workloads de machine learning..

Uma instância foi retirada de serviço em resposta a uma falha na verificação de integridade do sistema ELB

Problema: instâncias do Auto Scaling poderiam ser aprovadas nas verificações de status do EC2. Mas elas poderiam falhar nas verificações de saúde do Elastic Load Balancing para os grupos de destino ou Classic Load Balancers com os quais o grupo do Auto Scaling está registrado.

Causa 1: se o seu grupo do Auto Scaling depender de verificações de integridade fornecidas pelo Elastic Load Balancing, o Amazon EC2 Auto Scaling determinará o status da integridade de suas instâncias verificando os resultados tanto das verificações de status do EC2 quanto das verificações de integridade do Elastic Load Balancing. O balanceador de carga executa verificações de integridade enviando uma solicitação para cada instância e aguardando a resposta correta ou estabelecendo uma conexão com a instância. Uma instância pode falhar na verificação de integridade do Elastic Load Balancing porque uma aplicação em execução na instância tem problemas que fazem com que o balanceador de carga a considere fora de serviço.

Solução 1: para passar nas verificações de integridade do Elastic Load Balancing:

  • Verifique se as configurações da verificação de integridade dos seus grupos de destino estão configuradas corretamente. Você define as configurações de verificação de integridade para seu balanceador de carga por grupo de destino. Para obter mais informações, consulte Configurar verificações de integridade para destinos.

  • Anote os códigos de sucesso que o balanceador de carga está esperando e verifique se a aplicação está configurada corretamente para retornar esses códigos com sucesso.

  • Verifique se os grupos de segurança do balanceador de carga e do grupo do Auto Scaling estão configurados corretamente.

  • Verifique se o balanceador de carga está configurado nas mesmas zonas de disponibilidade do grupo do Auto Scaling.

Solução 2: atualizar o grupo do Auto Scaling para desativar as verificações de integridade do Elastic Load Balancing. Para obter instruções sobre como desativar essas verificações de integridade, consulte Desvinculação de um grupo de destino ou Classic Load Balancer.

Causa 2: há uma incompatibilidade entre o período de carência da verificação de integridade e o tempo de inicialização da instância.

Solução 3: Edite o período de carência da verificação de integridade para o grupo do Auto Scaling. Defina o período de carência da verificação de integridade do seu grupo do Auto Scaling como um período suficientemente longo para suportar o número de verificações de integridade consecutivas bem-sucedidas necessárias antes que o Elastic Load Balancing considere uma instância recém-iniciada como íntegra. Para obter mais informações, consulte Definir um período de carência da verificação de integridade para um grupo do Auto Scaling.

Recursos adicionais

Se um problema diferente surgir, consulte os seguintes artigos da Central de Conhecimento da AWS re:Post para obter ajuda adicional para solucioná-lo: