Todos os produtos
Search
Central de documentação

Auto Scaling:CreateLifecycleHook

Última atualização: Nov 02, 2026

Cria um ou mais hooks de ciclo de vida para um grupo de escalonamento.

Descrição da operação

Descrição da operação

  • Você pode criar até seis hooks de ciclo de vida para um grupo de escalonamento. Quando ocorre uma atividade de escalonamento em um grupo de escalonamento que possui hooks de ciclo de vida, os hooks de ciclo de vida pausam a atividade de escalonamento por um período de tempo. Você pode especificar o tempo de espera usando o parâmetro HeartbeatTimeout. Durante o tempo de espera, você pode executar operações como inicializar configurações de instâncias ECS e obter dados de instâncias ECS.

  • Durante uma atividade de scale-out, as instâncias ECS entram no estado de espera após serem adicionadas à lista de permissões de uma instância do ApsaraDB RDS. Após o término do estado de espera, as instâncias ECS são adicionadas ao grupo de servidores de backend de uma instância do Server Load Balancer (SLB). Durante uma atividade de scale-in, as instâncias ECS entram no estado de espera após serem removidas do grupo de servidores de backend de uma instância do SLB. Após o término do estado de espera, as instâncias ECS são removidas da lista de permissões da instância do ApsaraDB RDS.

  • Você pode configurar um método de notificação para um hook de ciclo de vida. Os métodos de notificação suportados incluem tópicos do Message Service (MNS), filas do MNS e modelos do Operation Orchestration Service (OOS). Se você configurar um modelo do OOS, deverá criar uma função do Resource Access Management (RAM) para o OOS. Para mais informações, consulte Conceder permissões do RAM ao OOS.

Nota

Se o grupo de escalonamento contiver instâncias ECS existentes e o modelo do OOS configurado for usado para adicionar ou remover as instâncias da lista de permissões de um banco de dados em nuvem diferente do ApsaraDB RDS, você deverá adicionar manualmente as instâncias ECS existentes à lista de permissões do banco de dados em nuvem.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

ess:CreateLifecycleHook

create

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

ScalingGroupId

string

Sim

O ID do grupo de escalonamento.

asg-bp1eyv4qn8ssgv43****

LifecycleHookName

string

Não

O nome do hook de ciclo de vida. O nome deve ser exclusivo entre todos os hooks de ciclo de vida no grupo de escalonamento atual. Deve ter de 2 a 64 caracteres, começar com um dígito, uma letra ou um caractere chinês, e pode conter dígitos, sublinhados (_), hifens (-) e pontos (.).

Valor padrão: o valor de LifecycleHookId.

lifecyclehook****

LifecycleTransition

string

Sim

O tipo de atividade de escalonamento à qual o hook de ciclo de vida se aplica. Valores válidos:

  • SCALE_OUT: atividades de scale-out do grupo de escalonamento.

  • SCALE_IN: atividades de scale-in do grupo de escalonamento.

SCALE_OUT

DefaultResult

string

Não

A ação a ser executada após o término do estado de espera. Valores válidos:

  • CONTINUE: continua a resposta à atividade de scale-out ou scale-in.

  • ABANDON: libera as instâncias ECS criadas durante a atividade de scale-out ou remove as instâncias ECS do grupo de escalonamento durante a atividade de scale-in.

  • ROLLBACK: rejeita a liberação de instâncias ECS e reverte a atividade de scale-in. Para uma atividade de scale-out, esse valor libera as instâncias ECS criadas, o que tem o mesmo efeito que ABANDON.

Quando uma atividade de scale-in (SCALE_IN) ocorre no grupo de escalonamento e vários hooks de ciclo de vida são acionados, se o DefaultResult de um hook de ciclo de vida for definido como ABANDON ou ROLLBACK e o estado de espera do hook terminar, os estados de espera de outros hooks de ciclo de vida serão encerrados antecipadamente. Em outros casos, a próxima ação é determinada pela próxima ação do hook de ciclo de vida cujo estado de espera termina por último.

Valor padrão: CONTINUE.

CONTINUE

HeartbeatTimeout

integer

Não

O tempo de espera definido pelo hook de ciclo de vida para a atividade de escalonamento. Após o tempo limite do estado de espera, a próxima ação é executada. Valores válidos: 30 a 21600. Unidade: segundos.

Após criar um hook de ciclo de vida, você pode chamar RecordLifecycleActionHeartbeat para estender o tempo de espera das instâncias ECS, ou chamar CompleteLifecycleAction para encerrar o estado de espera da atividade de escalonamento antecipadamente.

Valor padrão: 600.

600

NotificationMetadata

string

Não

A mensagem de notificação que é enviada para o NotificationArn (destinatário da notificação) quando o hook de ciclo de vida pausa a atividade de escalonamento. Este parâmetro é usado para gerenciar e marcar diferentes tipos de mensagens de notificação. Você deve especificar NotificationArn junto com este parâmetro. O valor pode ter até 4.096 caracteres.

Se NotificationArn for definido como um modelo do OOS, incluindo um modelo público ou personalizado, NotificationMetadata deverá ser definido como uma string JSON que corresponda aos parâmetros do modelo do OOS.

Por exemplo, {"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}. dbInstanceId e modifyMode são parâmetros definidos no modelo do OOS. Alguns parâmetros do modelo do OOS têm valores padrão. Você deve especificar os parâmetros que não têm valores padrão em NotificationMetadata. Se você especificar um parâmetro que tenha um valor padrão, o valor padrão original será substituído. No entanto, mantenha os valores padrão para os seguintes parâmetros para obter informações relevantes quando a atividade de escalonamento estiver em execução:

  • regionId: a região onde a atividade de escalonamento é executada. Valor padrão: ${regionId}.

  • instanceIds: a lista de instâncias associadas à atividade de escalonamento. Valor padrão: ${instanceIds}.

  • lifecycleHookId: o ID do hook de ciclo de vida. Valor padrão: ${lifecycleHookId}.

  • lifecycleActionToken: o identificador do estado de espera para a atividade de escalonamento, que é usado para encerrar a atividade pendente atual antecipadamente. Valor padrão: ${lifecycleActionToken}.

  • scalingGroupId: o ID do grupo de escalonamento ao qual a atividade de escalonamento pertence. Valor padrão: ${scalingGroupId}.

  • lifecycleActionResult: a próxima ação após o término do estado de espera do hook de ciclo de vida. Este parâmetro é usado para encerrar a atividade pendente atual antecipadamente quando a execução do modelo do OOS falha. Quando DefaultResult é definido como ROLLBACK, o valor padrão deste parâmetro é ROLLBACK. Em outros casos, o valor padrão é ABANDON.

Nota
  • Você pode definir o valor de lifecycleActionResult para substituir o valor padrão atual conforme necessário. Valores válidos: ABANDON, CONTINUE, ROLLBACK e ${lifecycleActionResult}. ${lifecycleActionResult} indica que o valor de lifecycleActionResult é o mesmo que o valor de DefaultResult.

  • Você pode obter as informações detalhadas sobre os parâmetros do modelo correspondente no console do OOS.

Test lifecycle hook.

NotificationArn

string

Não

O identificador do destinatário da notificação para o hook de ciclo de vida. Se você não especificar este parâmetro, nenhuma notificação será enviada. Se você especificar este parâmetro, os seguintes métodos de notificação são suportados:

  • Fila do MNS. Formato: acs:mns:{region-id}:{account-id}:queue/{queuename}.

  • Tópico do MNS. Formato: acs:mns:{region-id}:{account-id}:topic/{topicname}.

  • Modelo do OOS. Formato: acs:oos:{region-id}:{account-id}:template/{templatename}.

  • EventBridge. Formato: acs:eventbridge:{region-id}:{account-id}:eventbus/default.

As variáveis nos formatos têm os seguintes significados:

  • region-id: o ID da região onde o grupo de escalonamento reside.

  • account-id: o ID da conta Alibaba Cloud. O ID de um usuário do RAM não é suportado.

  • queuename: o nome da fila do MNS.

  • topicname: o nome do tópico do MNS.

  • templatename: o nome do modelo do OOS.

acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

LifecycleHookId

string

O ID do hook de ciclo de vida.

ash-bp1at9ufhmcf9cmy****

RequestId

string

O ID da solicitação.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

Exemplos

Resposta de sucesso

JSON formato

{
  "LifecycleHookId": "ash-bp1at9ufhmcf9cmy****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.