Ciclo de vida das instâncias do Amazon EC2 Auto Scaling
As instâncias do EC2 em um grupo do Auto Scaling têm um caminho ou um ciclo de vida que difere daquele de outras instâncias do EC2. O ciclo de vida começa quando o grupo do Auto Scaling ativa uma instância e a coloca em serviço. O ciclo de vida termina quando você encerra a instância, ou o grupo do Auto Scaling retira a instância de serviço e a termina.
nota
Você é cobrado pelas instâncias assim que elas são ativadas, incluindo o tempo em que elas ainda não estão em serviço.
A ilustração a seguir mostra as transições entre estados de instâncias no ciclo de vida do Amazon EC2 Auto Scaling.
Escalonamento horizontal
Os seguintes eventos de aumento da escala na horizontal instruem o grupo do Auto Scaling a iniciar instâncias do EC2 e anexá-las ao grupo:
-
Você aumenta o tamanho do grupo manualmente. Para obter mais informações, consulte Alterar a capacidade desejada de um grupo do Auto Scaling existente.
-
Você cria uma política de escalabilidade para aumentar automaticamente o tamanho do grupo com base em um aumento especificado na demanda. Para obter mais informações, consulte Escalabilidade dinâmica para o Amazon EC2 Auto Scaling.
-
Você configura a escalabilidade programando o aumento do tamanho do grupo em um horário específico. Para obter mais informações, consulte Escalabilidade programada para o Amazon EC2 Auto Scaling.
Quando um evento para aumentar a escala na horizontal ocorre, o grupo do Auto Scaling executa o número necessário de instâncias do EC2 usando seu modelo de execução atribuído. Essas instâncias iniciam no estado Pending. Se adicionar um gancho do ciclo de vida a seu grupo do Auto Scaling, você poderá executar uma ação personalizada aqui. Para obter mais informações, consulte Hooks do ciclo de vida.
Quando cada instância está totalmente configurada e passa nas verificações de integridade do Amazon EC2, elas são anexadas ao grupo do Auto Scaling e entram no estado InService. A instância é contabilizada para a capacidade desejada do grupo do Auto Scaling.
Se o grupo do Auto Scaling estiver configurado para receber tráfego de um balanceador de carga do Elastic Load Balancing, o Amazon EC2 Auto Scaling registrará automaticamente a instância no balanceador de carga antes de marcar a instância como InService.
A seguir, resumem-se as etapas para registrar uma instância com um balanceador de carga para um evento de aumento de escala.
Instâncias em serviço
As instâncias permanecem no estado InService até que ocorra um dos seguintes eventos:
-
Um evento de redução da escala na horizontal ocorre e o Amazon EC2 Auto Scaling escolhe terminar essa instância para reduzir o tamanho do grupo do Auto Scaling. Para obter mais informações, consulte Controlar quais instâncias do Auto Scaling serão terminadas durante uma redução de escala na horizontal.
-
Você coloca a instância em um estado
Standby. Para obter mais informações, consulte Entrar e sair de espera. -
Você desvincula a instância do grupo do Auto Scaling. Para obter mais informações, consulte Desvincular instâncias do seu grupo do Auto Scaling.
-
A instância não é aprovada em um número necessário de verificações de integridade e, portanto, é removida do grupo do Auto Scaling, terminada e substituída. Para obter mais informações, consulte Verificações de integridade para instâncias em um grupo do Auto Scaling.
Reduzir a escala na horizontal
Os seguintes eventos de redução da escala na horizontal instruem o grupo do Auto Scaling a desvincular instâncias do EC2 do grupo e a encerrá-las:
-
Você reduz o tamanho do grupo manualmente. Para obter mais informações, consulte Alterar a capacidade desejada de um grupo do Auto Scaling existente.
-
Você cria uma política de escalabilidade para reduzir automaticamente o tamanho do grupo com base em uma redução especificada na demanda. Para obter mais informações, consulte Escalabilidade dinâmica para o Amazon EC2 Auto Scaling.
-
Você configura a escalabilidade programando a redução do tamanho do grupo em um horário específico. Para obter mais informações, consulte Escalabilidade programada para o Amazon EC2 Auto Scaling.
É importante criar um evento de redução correspondente para cada evento de expansão criado. Isso ajuda a garantir que os recursos atribuídos à aplicação correspondam à demanda por esses recursos da maneira mais próxima possível.
Quando um evento de redução da escala na horizontal ocorre, o grupo do Auto Scaling termina uma ou mais instâncias. O grupo do Auto Scaling usa sua política de término para determinar quais instâncias devem ser terminadas. As instâncias que estão em processo de encerramento do grupo do Auto Scaling entram no Terminating estado e não podem ser colocadas novamente em serviço.
Se o seu grupo do Auto Scaling estiver configurado para receber tráfego de um load balancer do Elastic Load Balancing, o Amazon EC2 Auto Scaling cancelará automaticamente o registro da instância final do load balancer. O cancelamento do registro da instância garante que todas as novas solicitações sejam redirecionadas para outras instâncias no grupo de destino do balanceador de carga, enquanto as conexões existentes com a instância podem continuar até que o atraso de cancelamento de registro expire.
Se você adicionar um gancho do ciclo de vida ao grupo do Auto Scaling, poderá executar uma ação personalizada na instância final. Para obter mais informações, consulte Hooks do ciclo de vida. Finalmente, a instância é completamente encerrada e entra no estadoTerminated.
A seguir, um resumo dos passos para desregistrar uma instância de um balanceador de carga em um evento de diminuição de escala.
Desvincular uma instância
Você pode desvincular uma instância do seu grupo do Auto Scaling. Depois que a instância for desvinculada, você poderá gerenciá-la separadamente do grupo do Auto Scaling ou anexá-la a outro grupo do Auto Scaling.
Para obter mais informações, consulte Desvincular instâncias do seu grupo do Auto Scaling.
Anexar uma instância
Você pode anexar uma instância do EC2 em execução que atenda a determinados critérios a seu grupo do Auto Scaling. Após ser anexada, a instância é gerenciada como parte do grupo do Auto Scaling.
Para obter mais informações, consulte Desvincular instâncias do seu grupo do Auto Scaling.
Hooks do ciclo de vida
Você pode adicionar um gancho do ciclo de vida ao grupo do Auto Scaling para ativar ações personalizadas quando as instâncias forem iniciadas ou terminadas.
Quando o Amazon EC2 Auto Scaling responde a um evento de aumento da escala na horizontal, ele inicia uma ou mais instâncias. Essas instâncias iniciam no estado Pending. Se você adicionar um gancho do ciclo de vida autoscaling:EC2_INSTANCE_LAUNCHING ao grupo do Auto Scaling, as instâncias avançarão do estado Pending para o estado Pending:Wait. Depois que você concluir a ação do ciclo de vida, as instâncias entrarão no estado Pending:Proceed. Quando as instâncias estão totalmente configuradas, elas são anexadas ao grupo do Auto Scaling e entram no estado InService.
Quando o Amazon EC2 Auto Scaling responde a um evento de redução da escala na horizontal, ele encerra uma ou mais instâncias. Essas instâncias são desvinculadas do grupo do Auto Scaling e entram no estado Terminating. Se você adicionar um gancho do ciclo de vida autoscaling:EC2_INSTANCE_TERMINATING ao grupo do Auto Scaling, as instâncias avançarão do estado Terminating para o estado Terminating:Wait. Depois que você concluir a ação do ciclo de vida, as instâncias entrarão no estado Terminating:Proceed. Quando as instâncias estão totalmente encerradas, elas entram no estado Terminated.
Para obter mais informações, consulte Ganchos do ciclo de vida do Amazon EC2 Auto Scaling.
Entrar e sair de espera
Você pode colocar qualquer instância que esteja em um estado InService em um estado Standby. Isso permite que você remova a instância de serviço, solucione problemas ou faça alterações na instância e coloque-a em serviço novamente.
As instâncias em estado Standby continuam a ser gerenciadas pelo grupo do Auto Scaling. No entanto, elas não fazem parte ativamente da aplicação até que você as coloque em serviço novamente.
Para obter mais informações, consulte Remover temporiamente instâncias do grupo do Auto Scaling.