Sobre as verificações de integridade do seu grupo do Auto Scaling - Amazon EC2 Auto Scaling

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Sobre as verificações de integridade do seu grupo do Auto Scaling

Este tópico fornece uma visão geral dos tipos de verificação de integridade disponíveis e descreve as principais considerações para integrar as verificações de integridade do Amazon EC2 Auto Scaling aos seus aplicativos.

Tipo de verificação de integridade

O Amazon EC2 Auto Scaling pode determinar o status de integridade de uma instância da InService usando uma ou mais das seguintes verificações de integridade:

Health check type (Tipo de verificação de integridade) O que ele verifica

Verificações de status do Amazon EC2 e eventos programados

  • Verifica se a instância está em execução

  • Verifica se há problemas subjacentes de hardware ou software capazes de prejudicar a instância

Esse é o tipo padrão de verificação de integridade para um grupo do Auto Scaling.

Verificações de integridade do Elastic Load Balancing

  • Verifica se o balanceador de carga relata a instância como íntegra, confirmando se a instância está disponível para processar solicitações.

Para executar esse tipo de verificação de integridade, você deve habilitá-lo para seu grupo do Auto Scaling.

Verificações de integridade do VPC Lattice

  • Verifica se o VPC Lattice relata a instância como íntegra, confirmando se a instância está disponível para lidar com solicitações

Para executar esse tipo de verificação de integridade, você deve habilitá-lo para seu grupo do Auto Scaling.

Verificações de integridade do Amazon EBS

  • Verifica se os volumes do EBS podem ser acessados e se passam pelas verificações de estado de E/S.

Para executar esse tipo de verificação de integridade, você deve habilitá-lo para seu grupo do Auto Scaling.

Verificações de integridade personalizadas

  • Verifica se há outros problemas que possam indicar problemas de integridade da instância de acordo com suas verificações de integridade personalizadas

Verificações de integridade do Amazon EC2

Depois que uma instância é executada, ela é anexada ao grupo do Auto Scaling e entra no estadoInService. Para obter mais informações sobre os diferentes status do ciclo de vida de instâncias em um grupo do Auto Scaling, consulte Ciclo de EC2 vida da instância Amazon Auto Scaling.

O Amazon EC2 Auto Scaling verifica periodicamente o status de integridade de todas as instâncias no grupo do Auto Scaling para garantir que elas estejam em execução e em boas condições.

Verificações do status

O Amazon EC2 Auto Scaling usa os resultados das verificações de status da instância do Amazon EC2 para determinar o status de integridade de uma instância. Se a instância estiver em qualquer estado do Amazon EC2 diferente de running ou se o status para as verificações de status mudar para impaired, o Amazon EC2 Auto Scaling considerará a instância como não íntegra e a substituirá. Isso inclui quando a instância tenha qualquer um dos seguintes estados:

  • stopping

  • stopped

  • shutting-down

  • terminated

As verificações de status do Amazon EC2 não exigem nenhuma configuração especial e estão sempre habilitadas. Para obter mais informações, consulte Tipos de verificações de status no Manual do usuário do Amazon EC2 para instâncias do Linux.

Importante

O Amazon EC2 Auto Scaling permite que essas verificações de status falhem ocasionalmente sem realizar qualquer ação. Quando ocorre uma falha na verificação de status, o Amazon EC2 Auto Scaling aguarda alguns minutos para a AWS corrigir o problema. Ele não marca imediatamente uma instância Unhealthy quando seu status para as verificações de status se torna impaired.

No entanto, se o Amazon EC2 Auto Scaling detectar que uma instância não está mais no estadorunning, essa situação será tratada como uma falha imediata. Neste caso, marca imediatamente a instância Unhealthy e a substitui.

Eventos agendados

O Amazon EC2 pode agendar ocasionalmente eventos em suas instâncias que serão executados após um carimbo de data/hora específico. Para obter mais informações, consulte Eventos programados para sua instância no Guia do usuário do Amazon EC2 para instâncias do Linux.

Se uma de suas instâncias for afetada por um evento programado, o Amazon EC2 Auto Scaling considerará a instância como não íntegra e a substituirá. A instância não começa a ser encerrada até que a data e a hora especificadas no carimbo de data/hora sejam atingidas.

Verificações de integridade do Elastic Load Balancing

Quando você habilita as verificações de integridade do Elastic Load Balancing para seu grupo do Auto Scaling, o Amazon EC2 Auto Scaling pode usar os resultados dessas verificações de integridade para determinar o status de integridade de uma instância.

Antes de ativar as verificações de integridade do Elastic Load Balancing para o seu grupo do Auto Scaling, você deve configurar um balanceador de carga do Elastic Load Balancing e configurar uma verificação de integridade para ele a fim de determinar se as instâncias estão íntegras. Para ter mais informações, consulte Para anexar um balanceador de carga do Elastic Load Balancing a uma camada.

Depois de anexar o balanceador de carga ao seu grupo do Auto Scaling, ocorre o seguinte:

  • O Amazon EC2 Auto Scaling registrará as instâncias no grupo do Auto Scaling com o balanceador de carga.

  • Depois que uma instância termina de registrar, ela entra no estado InService e fica disponível para uso com o balanceador de carga.

Por padrão, o Amazon EC2 Auto Scaling ignora os resultados das verificações de integridade do Elastic Load Balancing. Depois de fazer isso, quando o Elastic Load Balancing relata uma instância registrada comoUnhealthy, o Amazon EC2 Auto Scaling marca a instância Unhealthy na próxima verificação de integridade periódica e a substitui.

Se a drenagem da conexão (atraso de cancelamento de registro) estiver habilitada para seu balanceador de carga, o Amazon EC2 Auto Scaling aguardará que as solicitações em andamento sejam concluídas ou que o tempo limite máximo expire antes de terminar instâncias não íntegras.

nota

Para obter instruções sobre como anexar o balanceador de carga e ativar as verificações de integridade do Elastic Load Balancing para seu grupo do Auto Scaling, consulte Este tópico descreve como anexar um balanceador de carga Elastic Load Balancing ao grupo do Auto Scaling..

Quando você habilita as verificações de integridade do Elastic Load Balancing para um grupo, o Amazon EC2 Auto Scaling pode substituir instâncias que o Elastic Load Balancing relata como não íntegras, mas somente depois que o balanceador de carga estiver no InService estado. Para ter mais informações, consulte Verificar o status do anexo de seu balanceador de carga.

Verificações de integridade do VPC Lattice

Por padrão, o Amazon EC2 Auto Scaling ignora os resultados das verificações de integridade da VPC Lattice. Opcionalmente, você pode ativar essas verificações de integridade para seu grupo do Auto Scaling. Depois de fazer isso, quando o VPC Lattice relata uma instância registrada comoUnhealthy, o Amazon EC2 Auto Scaling marca a instância Unhealthy na próxima verificação de integridade periódica e a substitui. O processo de registrar instâncias e, em seguida, verificar sua integridade funciona da mesma forma que as verificações de integridade do Elastic Load Balancing.

nota

Para obter instruções sobre como anexar o grupo-alvo do VPC Lattice e ativar as verificações de integridade do VPC Lattice para o grupo do Auto Scaling, consulte Anexe um grupo de destino VPC Lattice ao seu grupo do Auto Scaling.

Quando você habilita verificações de integridade do VPC Lattice para um grupo, o Amazon EC2 Auto Scaling pode substituir instâncias que o VPC Lattice relata como não íntegras, mas somente depois que o grupo de destino estiver no estado InService. Para ter mais informações, consulte Verifique o status do anexo do grupo de destino do VPC Lattice.

Como o Amazon EC2 Auto Scaling minimiza o tempo de inatividade

Por padrão, as novas instâncias são provisionadas ao mesmo tempo em que as instâncias existentes são terminadas, o que pode impedir que novas solicitações sejam aceitas até que as novas instâncias estejam totalmente operacionais.

Se o Amazon EC2 Auto Scaling determinar que alguma instância não está mais em execução (ou foi marcada como não íntegra Unhealthy com o comando) set-instance-health, ele imediatamente as substituirá. No entanto, se houver outras instâncias não íntegras, o Amazon EC2 Auto Scaling usará a abordagem a seguir para se recuperar de falhas. Esta abordagem minimiza qualquer tempo de inatividade que possa ocorrer devido a problemas temporários ou verificações de integridade mal configuradas.

  • Se houver uma ação de escalabilidade em andamento e seu grupo do Auto Scaling estiver abaixo da capacidade desejada em 10% ou mais, o Amazon EC2 Auto Scaling aguarda a atividade de escalabilidade em andamento antes de substituir as instâncias não íntegras.

  • Ao aumentar a escala horizontalmente, o Amazon EC2 Auto Scaling aguarda que as instâncias passem por uma verificação de integridade inicial. Ele também aguarda que o aquecimento padrão de instância seja concluído para garantir que as novas instâncias estejam prontas.

  • Depois que as instâncias terminarem de aquecer e o grupo tiver aumentado para acima de 90% da capacidade desejada, o Amazon EC2 Auto Scaling substituirá as instâncias não íntegras da seguinte maneira:

    • O Amazon EC2 Auto Scaling substitui apenas até 10% da capacidade desejada do grupo por vez. Ele faz isso até que todas as instâncias não íntegras sejam substituídas.

    • Ao substituir instâncias, ele espera que as novas instâncias passem por uma verificação de integridade inicial. Ele também aguarda que o aquecimento padrão de instância seja concluído antes de continuar.

nota

Se o tamanho de um grupo do Auto Scaling for suficientemente pequeno para que o valor resultante de 10% seja menor que um, o Amazon EC2 Auto Scaling substituirá cada uma das instâncias não íntegras de cada vez. Isso pode resultar em tempo de inatividade para o grupo.

Além disso, se todas as instâncias em um grupo do Auto Scaling forem relatadas como não íntegras pelas verificações de integridade do Elastic Load Balancing e o balanceador de carga estiver no estadoInService, o Amazon EC2 Auto Scaling poderá marcar menos instâncias não íntegras de cada vez. Isso pode resultar em muito menos instâncias substituídas por vez do que os 10% aplicados em outros cenários. Isso fornece tempo para resolver o problema sem que o Amazon EC2 Auto Scaling encerre automaticamente todo o grupo.

Verificações de integridade para instâncias em uma associação de alta atividade

Saiba mais sobre as verificações de integridade do Amazon EC2 Auto Scaling para instâncias em um grupo de alta atividade. Para ter mais informações, consulte Visualizar o status e o motivo de falhas da verificação de integridade.

Considerações sobre a verificação de integridade

Veja a seguir algumas considerações ao usar as verificações de integridade do Amazon EC2 Auto Scaling.

  • Se precisar que algo aconteça na instância que está sendo terminada ou na instância que está iniciando, você poderá usar hooks do ciclo de vida. Esses hooks permitem que você execute uma ação personalizada à medida que o Amazon EC2 Auto Scaling inicia ou encerra instâncias. Para ter mais informações, consulte Hooks do ciclo de vida do Amazon EC2 Auto Scaling.

  • O Amazon EC2 Auto Scaling não fornece um modo de remover as verificações de status e eventos programados do Amazon EC2 das verificações de integridade. Se você não quiser que as instâncias sejam substituídas, recomendamos suspender o processo ReplaceUnhealthy e HealthCheck para grupos do Auto Scaling individuais. Para ter mais informações, consulte Suspender e retomar os processos do Amazon EC2 Auto Scaling.

  • Para definir manualmente o status de integridade de uma instância não íntegra,Healthy você pode tentar usar o comando set-instance-health. Se você receber um erro, provavelmente a instância já está encerrando. Geralmente, redefinir o status de integridade de uma instância Healthy com o comando set-instance-health só é útil nos casos em que o ReplaceUnhealthy processo ou o processo Terminate está suspenso.

  • Se você precisar solucionar problemas de uma instância sem a interferência de verificações de integridade, poderá colocar a instância no estado Standby. O Amazon EC2 Auto Scaling não executa verificações de integridade em instâncias que estão no estado Standby. Para ter mais informações, consulte Remover temporiamente instâncias do grupo do Auto Scaling.

  • Quando a instância é encerrada, qualquer endereço IP elástico é dissociado e não é automaticamente associado à nova instância. É necessário associar manualmente os endereços IP elásticos à nova instância ou fazer isso automaticamente com uma solução baseada em hook do ciclo de vida. Para obter mais informações, consulte Endereços IP elásticos no Guia do usuário do Amazon EC2.

  • Da mesma forma, quando sua instância é terminada, seus volumes de EBS anexados são desvinculados (ou excluídos, dependendo do atributo DeleteOnTermination). É necessário anexar manualmente esses volumes do EBS à nova instância ou fazer isso automaticamente com uma solução baseada em hook do ciclo de vida. Para obter mais informações, consulte Associar um volume do Amazon EBS a uma instância no Guia do usuário do Amazon EBS.