Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> Auto Scaling> Guia de usuário> Ação de dimensionamento> Gerenciamento de ganchos do ciclo de vida
Atualizado em 2023-02-16 GMT+08:00

Gerenciamento de ganchos do ciclo de vida

Os ganchos de ciclo de vida permitem controlar de forma flexível a adição e a remoção de instâncias do ECS em grupos de AS e gerenciar o ciclo de vida de instâncias do ECS em grupos de AS. Figura 1 mostra o ciclo de vida da instância quando nenhum gancho de ciclo de vida é adicionado a um grupo de AS.

Figura 1 Ciclo de vida da instância quando nenhum gancho de ciclo de vida é adicionado a um grupo de AS

Figura 2 mostra o ciclo de vida da instância quando um gancho de ciclo de vida é adicionado a um grupo de AS.

Figura 2 Ciclo de vida da instância quando um gancho de ciclo de vida é adicionado a um grupo de AS

Quando o grupo de AS dimensiona dentro ou fora, os ganchos de ciclo de vida adicionados são acionados, a ação de dimensionamento é suspensa e a instância que está sendo adicionada ou removida é colocada em um estado de espera, conforme mostrado em 2 e 6 em Figura 2. Durante esse período, você pode executar algumas operações personalizadas na instância. Por exemplo, você pode instalar ou configurar o software em uma instância que está sendo adicionada ao grupo de AS. Uma ação de dimensionamento suspensa será retomada se ocorrer uma das seguintes situações:

  • A instância está no estado de espera há mais tempo do que o período de tempo limite.
  • Uma ação de retorno de chamada é executada para encerrar o estado de espera da instância.

Cenários de aplicação

  • As instâncias recém-adicionadas a um grupo de AS precisam ser inicializadas antes de serem vinculadas a um ouvinte do balanceador de carga. Inicialização significa que o software está instalado e configurado e a instância está totalmente pronta para aceitar tráfego.
  • Para remover uma instância de um grupo de AS, ela precisa primeiro ser desvinculada do ouvinte do balanceador de carga, interromper a aceitação de novas solicitações e finalizar o processamento de todas as solicitações aceitas.
  • Antes que as instâncias sejam removidas de um grupo de AS, talvez seja necessário fazer backup de dados ou fazer o download de logs.
  • Outros cenários em que operações personalizadas precisam ser executadas

Como funcionam os ganchos de ciclo de vida

Depois de adicionar ganchos de ciclo de vida a um grupo de AS, eles funcionam da seguinte maneira:

  • Adicionar uma instância do ECS a um grupo de AS

    Quando uma instância é inicializada e adicionada a um grupo de AS, um gancho de ciclo de vida do tipo de Instance adding é acionado automaticamente. A instância entra no estado Wait (Adding to AS group), ou seja, a instância é suspensa pelo gancho do ciclo de vida. Se você tiver configurado um objeto de notificação, o sistema enviará uma mensagem para o objeto. Depois de receber a mensagem, você pode executar operações personalizadas, por exemplo, instalar software na instância. A instância permanece em um estado de espera até que você conclua as operações personalizadas e execute uma ação de retorno de chamada ou a duração do tempo limite termine. Depois que a instância sair de um estado de espera, a ação de retorno de chamada padrão especificada ocorrerá.

    • Continue: a instância será adicionada ao grupo de AS.
    • Abandon: a instância será excluída e uma nova instância será criada.

    Se você configurou vários ganchos de ciclo de vida de Instance adding, todos eles serão acionados quando uma instância for adicionada ao grupo de AS. Se a ação de retorno de chamada padrão de qualquer gancho de ciclo de vida for Abandon, a instância será excluída e uma nova instância será criada. Se a ação de retorno de chamada padrão de todos os ganchos do ciclo de vida for Continue, a instância será adicionada ao grupo de AS após a conclusão da suspensão pelo último gancho do ciclo de vida.

  • Remover uma instância de um grupo de AS

    Quando uma instância é removida de um grupo de AS, a instância entra no estado Removing from AS group. Depois que um gancho de ciclo de vida é acionado, a instância entra no estado Wait (Removing from AS group). O sistema envia mensagens para o objeto de notificação configurado. Depois de receber a mensagem, você pode realizar operações personalizadas, como desinstalar software e fazer backup de dados. A instância permanece no estado de espera até que você termine as operações personalizadas e execute a operação de retorno de chamada padrão ou a duração do tempo limite termine. Depois que a instância sair de um estado de espera, a ação de retorno de chamada padrão especificada ocorrerá.

    • Continue: a instância é removida do grupo de AS.
    • Abandon: a instância é removida do grupo de AS.

    Se você tiver configurado vários ganchos de ciclo de vida e a ação de retorno de chamada padrão de todos os ganchos de ciclo de vida for Continue, a instância será removida do grupo de AS até a suspensão pelo tempo limite dos ganchos de ciclo de vida restantes. Se a ação de retorno de chamada padrão de qualquer gancho de ciclo de vida for Abandon, a instância será removida diretamente do grupo de AS.

Restrições

  • Você pode adicionar, modificar ou excluir um gancho de ciclo de vida quando o grupo de AS não executa uma ação de dimensionamento.
  • Até cinco ganchos de ciclo de vida podem ser adicionados a um grupo de AS.

Adicionar um gancho de ciclo de vida

  1. Acesse o console de gerenciamento.
  2. Em Compute, clique em Auto Scaling. No painel de navegação à esquerda, escolha Instance Scaling. Em seguida, clique na guia AS Groups.
  3. Clique no nome do grupo de AS ao qual o gancho do ciclo de vida deve ser adicionado. Na página de detalhes do grupo de AS, clique na guia Lifecycle Hooks e, em seguida, em Add Lifecycle Hook.
  4. Na caixa de diálogo Add Lifecycle Hook exibida, defina os parâmetros listados em Tabela 1.
    Tabela 1 Descrição do parâmetro

    Parâmetro

    Descrição

    Exemplo de valor

    Hook Name

    Especifica o nome do gancho do ciclo de vida. O nome pode conter letras, dígitos, sublinhados (_) e hifens (-) e não pode exceder 32 caracteres.

    we12_w

    Hook Type

    Especifica o tipo de gancho de ciclo de vida. O valor pode ser Instance adding ou Instance removal. Instance adding coloca uma instância que está sendo adicionada a um grupo de AS no estado Wait (Adding to AS group). Instance removal coloca uma instância que está sendo removida de um grupo de AS no estado Wait (Removing from AS group).

    Instance adding

    Default Callback Action

    Especifica a ação que o sistema executa quando uma instância sai de um estado de espera.

    A ação de retorno de chamada padrão para uma Instance adding gancho de ciclo de vida pode ser Continue ou Abandon:
    • Continue: se vários ganchos de ciclo de vida estiverem configurados para o grupo de AS e a ação de retorno de chamada padrão de todos os ganchos for Continue, o sistema continuará a adicionar a instância ao grupo de AS até que todos os ganchos de ciclo de vida expirem.
    • Abandon: se vários ganchos de ciclo de vida forem configurados para o grupo de AS, e a ação de retorno de chamada padrão de um gancho de ciclo de vida for Abandon, o sistema excluirá a instância e criará outra sem aguardar o tempo limite dos ganchos de ciclo de vida restantes.
    A ação de retorno de chamada padrão para um gancho de ciclo de vida de Instance removal pode ser Continue ou Abandon:
    • Continue: se apenas um gancho de ciclo de vida for configurado para o grupo de AS, o sistema removerá a instância do grupo de AS. Se vários ganchos de ciclo de vida forem configurados para o grupo de AS e as ações de retorno de chamada padrão de todos os ganchos forem Continue, o sistema continuará a remover a instância do grupo de AS até que todos os ganchos de ciclo de vida expirem.
    • Abandon: se vários ganchos de ciclo de vida estiverem configurados para o grupo de AS e a ação de retorno de chamada padrão de um gancho de ciclo de vida for Abandon, o sistema continuará a remover a instância do grupo de AS sem esperar pelo tempo limite dos ganchos de ciclo de vida restantes.

    Continue

    Timeout Duration (s)

    Especifica a quantidade de tempo para que as instâncias permaneçam em um estado de espera. O valor varia de 300s a 86400s. O valor padrão é 3600s.

    Você pode estender a duração do tempo limite ou executar uma ação Continue ou Abandon antes que a duração do tempo limite termine. Para obter mais informações sobre ações de retorno de chamada, consulte Executar uma ação de retorno de chamada.

    3600

    Notification Topic

    Especifica um objeto de notificação para um gancho de ciclo de vida. Para obter detalhes, consulte "Criação de um tópico" em Guia de usuário da Simple Message Notification. Quando uma instância é suspensa pelo gancho do ciclo de vida, o sistema envia uma notificação ao objeto. Essa notificação contém as informações básicas da instância, o conteúdo da notificação personalizada e o token para controlar as ações do ciclo de vida. Um exemplo de notificação é o seguinte:

    {
     "service": "AutoScaling",
     "tenant_id": "93075aa73f6a4fc0a3209490cc57181a",
     "lifecycle_hook_type": "INSTANCE_LAUNCHING",
     "lifecycle_hook_name": "test02",
     "lifecycle_action_key": "4c76c562-9688-45c6-b685-7fd732df310a",
     "notification_metadata": "xxxxxxxxxxxxx",
     "scaling_instance": {
      "instance_id": "89b421e4-5fa6-4733-bf40-6b07a8657256",
      "instance_name": "as-config-kxeg_RM6OCREY",
      "instance_ip": "192.168.0.202"
     },
     "scaling_group": {
      "scaling_group_id": "fe376277-50a6-4e36-bdb0-685da85f1a82",
      "scaling_group_name": "as-group-wyz01",
      "scaling_config_id": "16ca8027-b6cc-45fc-af2d-5a79996f685d",
      "scaling_config_name": "as-config-kxeg"
     }
    }

    N/A

    Notification Message

    Depois que um objeto de notificação é configurado, o sistema envia sua notificação personalizada para o objeto.

    N/A

  5. Clique em OK.

    O gancho de ciclo de vida adicionado é exibido na página Lifecycle Hooks.

Executar uma ação de retorno de chamada

  1. Na página AS Groups, clique no nome do grupo de AS de destino.
  2. Na página exibida, clique na guia Instances.
  3. Localize a instância que foi suspensa pelo gancho do ciclo de vida e clique em Wait (Adding to AS group) ou Wait (Removing from AS group) na coluna Lifecycle Status.
    Figura 3 Executar uma ação de retorno de chamada

    As ações de retorno de chamada só podem ser executadas em instâncias que foram suspensas por um gancho de ciclo de vida.

  4. Na caixa de diálogo Added Hook exibida, visualize a instância suspensa e todos os ganchos do ciclo de vida e execute ações de retorno de chamada nos ganchos do ciclo de vida.
    Figura 4 Adicionar caixa de diálogo Gancho

    As ações de retorno de chamada incluem:

    • Continue
    • Abandon
    • Extend timeout

    Se você tiver executado operações personalizadas antes do término da duração do tempo limite, selecione Continue ou Abandon para concluir as ações do ciclo de vida. Para obter detalhes sobre Continue e Abandon, consulte Tabela 1. Se precisar de mais tempo para operações personalizadas, selecione Extend timeout para estender a duração do tempo limite. Em seguida, a duração do tempo limite será estendida em 3600 segundos a cada vez.

Modificar um gancho de ciclo de vida

Na página Lifecycle Hooks, localize o gancho de ciclo de vida de destino e clique em Modify na coluna Operation, consulte Tabela 1 para obter parâmetros. Você pode modificar o parâmetro, exceto Hook Name, como Hook Type, Default Callback Action e Timeout Duration.

Exclusão de um gancho de ciclo de vida

Na página Lifecycle Hooks, localize o gancho de ciclo de vida de destino e clique em Delete na coluna Operation.