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 às suas aplicações.
Conteúdo
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:
| Tipo de verificação de integridade | O que ele verifica |
|---|---|
|
Verificações de status do Amazon EC2 e eventos programados |
Esse é o tipo padrão de verificação de integridade para um grupo do Auto Scaling. |
|
Verificações de integridade do Elastic Load Balancing |
Para executar esse tipo de verificação de integridade, é necessário habilitá-lo para seu grupo do Auto Scaling. |
|
Verificações de integridade do VPC Lattice |
Para executar esse tipo de verificação de integridade, é necessário habilitá-lo para seu grupo do Auto Scaling. |
|
Verificações de integridade do Amazon EBS |
Para executar esse tipo de verificação de integridade, é necessário habilitá-lo para seu grupo do Auto Scaling. |
|
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 vida das instâncias do Amazon EC2 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. Além disso, o EC2 Auto Scaling não marcará a instância como Unhealthy se uma verificação de status retornar insufficient-data.
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, é necessário 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 obter 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
InServicee 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 obter 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 obter 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
-
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.
-
É possível modificar o valor padrão de 10% definindo uma política de manutenção de instâncias para alterar a taxa na qual o Auto Scaling substitui instâncias não íntegras. No entanto, o Auto Scaling ainda pode limitar a taxa de marcação de instâncias como não íntegras.
Por exemplo, 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 estado
InService, 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 pool ativo. Para obter 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 ganchos 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 obter mais informações, consulte Ganchos 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
ReplaceUnhealthyeHealthCheckpara grupos do Auto Scaling individuais. Para obter 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,
Healthyvocê 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 Healthycom o comando set-instance-healthsó é útil nos casos em que o ReplaceUnhealthyprocesso ou o processoTerminateestá 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 estadoStandby. Para obter 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 gancho 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 gancho 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.