Por que o Amazon EC2 Auto Scaling não encerrou uma instância com problemas de integridade?

7 minuto de leitura
0

Tenho um grupo de Auto Scaling do Amazon Elastic Compute Cloud (Amazon EC2) configurado, mas ele não está encerrando uma instância não íntegra do Amazon EC2. Como corrijo isso?

Breve descrição

O Amazon EC2 Auto Scaling é capaz de determinar automaticamente o status de integridade de uma instância usando as verificações de status do Amazon EC2 e as verificações de integridade do Elastic Load Balancing (ELB). Todas as ações de ajuste de escala de um grupo do Amazon EC2 Auto Scaling são registradas no Histórico de atividades no console do Amazon EC2. Às vezes, você não consegue determinar por que o Amazon EC2 Auto Scaling não encerrou uma instância não íntegra apenas com base no histórico de atividades.

No console do Amazon EC2, você pode encontrar mais detalhes sobre o estado de uma instância não íntegra e como encerrar essa instância. Verifique as seguintes configurações:

  • Período de carência da verificação de integridade
  • Processos suspensos
  • Estado da instância no console do EC2
  • Estado da instância em grupos do Auto Scaling
  • Verificações de integridade do ELB

Resolução

Primeiro, observe o estado da instância no Amazon EC2 Auto Scaling:

  1. Faça login no console do Amazon EC2. No painel de navegação, em Auto Scaling, escolha Grupos do Auto Scaling e selecione o grupo da instância.
  2. Escolha a exibição Instâncias e anote o estado de integridade da instância.

Período de carência da verificação de integridade

O Amazon EC2 Auto Scaling não encerra uma instância que entrou em serviço com base em verificações de status do EC2 e em verificações de integridade do ELB até o término do período de carência da verificação de integridade. Para descobrir a duração do período de carência:

  1. No painel de navegação do console do Amazon EC2, em Auto Scaling, escolha Grupos do Auto Scaling e depois selecione o grupo da instância.
  2. Escolha a exibição Detalhes e anote a duração do Período de carência da verificação de integridade.

Processos suspensos

A suspensão de processos como HealthCheck, ReplaceUnhealthy ou Terminate afeta a capacidade do Amazon EC2 Auto Scaling de detectar, substituir ou encerrar instâncias não íntegras:

  1. No Auto Scaling, no painel de navegação do console do Amazon EC2, escolha Grupos do Auto Scaling e selecione o grupo da instância.
  2. Escolha a exibição Detalhes.
  3. Escolha Editar e remova qualquer um dos seguintes processos de Processos suspensos, se estiverem presentes: HealthCheck, ReplaceUnhealthy ou Terminate.
  4. Escolha Salvar para retomar os processos.

Estado da instância no console do Amazon EC2

O Amazon EC2 Auto Scaling não encerra imediatamente as instâncias com o status Comprometido. Em vez disso, ele aguarda alguns minutos para que a instância se recupere. Para verificar se uma instância está comprometida:

  1. No painel de navegação do console do Amazon EC2, em Instâncias, escolha Instâncias e depois selecione a instância.
  2. Escolha a exibição Verificações de status e observe se o status da instância é Comprometido.

O Amazon EC2 Auto Scaling também pode atrasar ou não encerrar instâncias que não relatam dados para verificações de status. Isso geralmente acontece quando não há dados suficientes para as métricas de verificação de status no Amazon CloudWatch. Para encerrar essas instâncias manualmente:

  1. No painel de navegação do console do Amazon EC2, em Instâncias, escolha Instâncias e depois selecione a instância.
  2. Escolha a exibição Monitoramento e anote o status da instância.
  3. Se o status for Dados insuficientes, selecione a instância novamente, escolha o menu Ações, escolha Estado da instância e depois Encerrar.

Estado da instância no grupo do Auto Scaling

O Amazon EC2 Auto Scaling não realiza verificações de integridade em instâncias no estado Standby. Para fazer com que instâncias no estado Standby voltem ao estado InService:

  1. No painel de navegação do console do Amazon EC2, em Grupos do Auto Scaling, selecione o grupo da instância e depois escolha a exibição Instâncias.
  2. Escolha o menu de filtro Qualquer estado do ciclo de vida e depois Standby.
  3. Para retomar verificações de integridade, abra o menu de contexto (clique com o botão direito do mouse) de uma instância e escolha Definir como InService, o que sai do estado Standby.

O Amazon EC2 Auto Scaling aguardará para encerrar uma instância se ela estiver esperando a conclusão de um gancho do ciclo de vida. Para encontrar o status do ciclo de vida e concluir o gancho do ciclo de vida:

  1. No painel de navegação do console do Amazon EC2, em Auto Scaling, escolha Grupos do Auto Scaling e depois selecione o grupo da instância.
  2. Escolha a exibição Instâncias e anote o status do Ciclo de vida da instância.
  3. Se o status for terminating:wait, você poderá verificar o tempo limite de pulsação e depois executar completing-lifecycle-action para concluir o gancho do ciclo de vida.

Se o Amazon EC2 Auto Scaling estiver aguardando a conclusão de um período de drenagem da conexão do ELB, ele aguardará o encerramento da instância:

  1. No painel de navegação do console do Amazon EC2, em Auto Scaling, escolha Grupos do Auto Scaling e depois selecione o grupo da instância.
  2. Escolha a exibição Instâncias e confirme se o Ciclo de vida da instância é terminating.
  3. Escolha a exibição Histórico de atividades.
  4. Em Filtro, selecione Aguardando a diminuição de conexão de ELB para confirmar se o grupo está aguardando o encerramento da instância.

Verificações de integridade do ELB

As configurações do ELB podem afetar as verificações de integridade e as substituições de instâncias. Observe o status da instância no console do ELB:

  1. No painel de navegação do console do Amazon EC2, em Balanceamento de carga, escolha Balanceadores de carga e depois selecione o balanceador de carga no qual a instância está registrada.
  2. Escolha a exibição Instâncias e anote o status e a descrição da instância.

O Amazon EC2 Auto Scaling não usa os resultados das verificações de integridade do ELB para determinar o status de integridade de uma instância quando a configuração da verificação de integridade do grupo está definida como EC2. Como resultado, o Amazon EC2 Auto Scaling não encerra instâncias que falham nas verificações de integridade do ELB. Se o status de uma instância for OutOfService no console do ELB, mas o status da instância for Healthy no console do Amazon EC2 Auto Scaling, confirme se o tipo de verificação de integridade está definido como ELB:

  1. No painel de navegação do console do Amazon EC2, em Auto Scaling, escolha Grupos do Auto Scaling e depois selecione o grupo da instância.
  2. Escolha a exibição Detalhes e anote o Tipo de verificação de integridade.
  3. Escolha Editar e selecione ELB em Tipo de verificação de integridade. Em seguida, escolha Salvar.

Se o tipo de verificação de integridade do grupo já for ELB e o status da instância no console do ELB for OutOfService, use a descrição de status que você anotou anteriormente para determinar outras etapas:

  • O registro da instância ainda está em andamento: aguarde até que o balanceador de carga conclua o registro da instância e que a instância entre no estado InService.
  • A instância está na zona de disponibilidade do Amazon EC2 para a qual o balanceador de carga não está configurado para direcionar o tráfego: edite as sub-redes do grupo Auto Scaling ou do balanceador de carga para garantir que elas sejam iguais às sub-redes da instância.
  • A instância não passou consecutivamente pelo número de verificações de integridade configurado em HealthyThreshold: aguarde até que o ELB conclua as verificações de integridade e que a instância entre no estado InService.

Informações relacionadas

Solução de problemas em instâncias com falha nas verificações de status

Por que o Amazon EC2 Auto Scaling encerrou uma instância?

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos