Este tópico descreve o conceito, os fluxos de trabalho, os casos de uso e as limitações dos ganchos de ciclo de vida.
O que é um gancho de ciclo de vida
Um gancho de ciclo de vida é uma ferramenta que gerencia o ciclo de vida de instâncias ECS ou ECI em um grupo de dimensionamento. Quando o Auto Scaling aciona uma atividade de dimensionamento, o gancho coloca as instâncias afetadas em estado de espera. Essa pausa permite executar ações personalizadas antes do término do período de tempo limite do gancho.
O gancho de ciclo de vida oferece suporte às seguintes configurações:
Para saber como configurar ganchos de ciclo de vida, consulte Create a lifecycle hook.
Recurso | Descrição |
Tipo de atividade de dimensionamento | Tipo de atividade de dimensionamento que aciona o gancho de ciclo de vida e coloca a instância em estado de espera. Há suporte apenas para atividades de scale-out e scale-in. Exemplo:
|
Período de tempo limite | Tempo máximo que uma instância pode permanecer em estado de espera antes que o gancho atinja o tempo limite. Esse período permite a execução de ações personalizadas. Defina um período de tempo limite adequado aos seus requisitos de negócios. Se as ações personalizadas não forem concluídas dentro desse prazo, o sistema executará a Default Execution Policy. Encerre o estado de espera a qualquer momento excluindo o gancho de ciclo de vida ou chamando a operação da API CompleteLifecycleAction. |
Política de execução padrão | Ação executada após o término do tempo limite do estado de espera da instância. Escolha entre continuar ou abandonar a atividade de dimensionamento.
Nota Esta nota aplica-se somente quando o Notification Method de um gancho de ciclo de vida estiver definido como um modelo OOS. Caso a execução do modelo OOS termine antes do fim do período de tempo limite, a ação subsequente dependerá exclusivamente do resultado dessa execução. Se bem-sucedida, a atividade de dimensionamento continuará. Em caso de falha, o sistema reverterá a atividade de scale-out, mas manterá a atividade de scale-in. |
Notificação | Ao acionar um gancho de ciclo de vida, envie uma notificação ou execute automaticamente ações adicionais. Por exemplo, utilize o MNS para receber notificações que exijam intervenção manual ou use um modelo OOS para automatizar tarefas. Nota O uso do MNS gera custos. Para mais informações, consulte MNS pricing. |
Fluxos de trabalho
Os fluxogramas a seguir usam uma instância ECS como exemplo. Os fluxos para uma instância ECI são semelhantes.
Figura 1. Processo de scale-out 
Figura 2. Fluxograma de scale-in 
A tabela a seguir descreve os principais conceitos das figuras.
Conceito | Descrição |
Gancho de ciclo de vida | Ferramenta que gerencia o ciclo de vida de instâncias ECS ou ECI em um grupo de dimensionamento. Para mais informações, consulte What is a lifecycle hook. |
Ciclo de vida da instância gerenciado pelo grupo de dimensionamento | O grupo de dimensionamento gerencia totalmente o ciclo de vida da instância. Para mais detalhes, consulte Instance lifecycle. O comportamento varia conforme a forma de criação da instância:
|
Ciclo de vida da instância não gerenciado pelo grupo de dimensionamento | Uma instância ECS ou ECI criada manualmente é adicionada ao grupo de dimensionamento, mas o grupo não gerencia todo o seu ciclo de vida. Durante um scale-in, o Auto Scaling remove a instância do grupo, mas não a libera. Nota É possível adicionar instâncias ECS por assinatura a um grupo de dimensionamento, porém o grupo não consegue gerenciar seus ciclos de vida. |
Casos de uso
Os ganchos de ciclo de vida são ideais para cenários em que instâncias ECS ou ECI exigem ações personalizadas antes de entrarem em service ou serem encerradas.
-
Instâncias adicionadas durante um scale-out não estão imediatamente prontas para atender a solicitações de clientes.
Por exemplo, uma instância ECS pode precisar se conectar a uma instância ApsaraDB RDS, anexar uma interface de rede elástica secundária ou aguardar o início da aplicação.
-
Instâncias removidas durante um scale-in não devem ser encerradas imediatamente.
Por exemplo, faça backup de dados, copie logs ou aguarde a conclusão do processamento de solicitações de clientes em andamento pela instância.
Para mais informações, consulte Overview of best practices for lifecycle hooks and OOS templates e Use lifecycle hooks to ensure service availability.
Limitações
Crie no máximo 10 ganchos de ciclo de vida por grupo de dimensionamento.
-
Durante uma atividade de dimensionamento, a execução de outras atividades depende da configuração do recurso Expected Number of Instances:
Sem o Expected Number of Instances configurado no grupo de dimensionamento, o grupo rejeitará outras atividades de dimensionamento.
Com o Expected Number of Instances configurado no grupo de dimensionamento, o grupo executará outras atividades de dimensionamento apenas se a atividade atual for paralela. Para mais informações sobre atividades de dimensionamento paralelas, consulte Basic concepts.
Como configure ganchos de ciclo de vida
A tabela a seguir lista a documentação para configure ganchos de ciclo de vida.
Documentação do console | Ações | Referência da API |
Criar um gancho de ciclo de vida | ||
Modificar um gancho de ciclo de vida | ||
Excluir um gancho de ciclo de vida |