Todos os produtos
Search
Central de documentação

Auto Scaling:CreateLifecycleHook

Última atualização: Nov 02, 2026

Cria um ou mais ganchos de ciclo de vida para um grupo do Auto Scaling especificado. Esses ganchos intervêm em estágios críticos do ciclo de vida da instância, como antes da inicialização ou do encerramento, permitindo que você execute operações personalizadas, como o envio de notificações ou a execução de scripts automatizados. Esse recurso permite um controle e gerenciamento mais refinados, possibilitando a autenticação, configuração ou backup de dados antes e depois que as instâncias forem afetadas por uma atividade de dimensionamento, aumentando assim a flexibilidade e a confiabilidade das implantações de aplicativos.

Descrição da operação

Um grupo de dimensionamento pode ter até 10 ganchos de ciclo de vida. Quando uma atividade de dimensionamento ocorre em um grupo de dimensionamento que possui ganchos de ciclo de vida, os ganchos de ciclo de vida pausam a atividade de dimensionamento 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 as configurações das instâncias ECS e obter dados das 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 da instância ApsaraDB RDS e são adicionadas ao grupo de servidores de backend da instância Server Load Balancer (SLB) após o término do estado de espera. 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 da instância SLB e são removidas da lista de permissões da instância ApsaraDB RDS após o término do estado de espera.

Você pode configurar métodos de notificação para ganchos 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 dimensionamento contiver instâncias ECS existentes e o modelo do OOS configurado for usado para adicionar ou remover 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 dimensionamento.

asg-bp1eyv4qn8ssgv43****

LifecycleHookName

string

Não

O nome do gancho de ciclo de vida. O nome deve ser exclusivo dentro do grupo de dimensionamento. Deve ter de 2 a 64 caracteres e pode conter letras, dígitos, sublinhados (_), hifens (-) e pontos (.). Deve começar com uma letra, dígito ou caractere chinês.

Valor padrão: o valor de LifecycleHookId.

lifecyclehook****

LifecycleTransition

string

Sim

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

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

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

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 dimensionamento 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 tem o mesmo efeito que ABANDON, que libera as instâncias ECS criadas.

Quando uma atividade de scale-in ocorre no grupo de dimensionamento e vários ganchos de ciclo de vida são acionados, se o DefaultResult de um gancho de ciclo de vida estiver definido como ABANDON ou ROLLBACK e o estado de espera do gancho terminar, os estados de espera de outros ganchos de ciclo de vida serão encerrados antecipadamente. Em outros casos, a ação a ser executada é determinada pelo último gancho de ciclo de vida cujo estado de espera termina.

Valor padrão: CONTINUE.

CONTINUE

HeartbeatTimeout

integer

Não

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

Depois de criar um gancho de ciclo de vida, você pode chamar a operação RecordLifecycleActionHeartbeat para estender o tempo de espera da instância ECS, ou chamar a operação CompleteLifecycleAction para encerrar o estado de espera da atividade de dimensionamento antecipadamente.

Valor padrão: 600.

600

NotificationMetadata

string

Não

A mensagem de notificação enviada para o NotificationArn (destinatário da notificação) quando o gancho de ciclo de vida pausa a atividade de dimensionamento. Este parâmetro ajuda você a 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 estiver definido como um modelo do OOS, incluindo um modelo público ou personalizado, NotificationMetadata deve ser especificado como uma string JSON que corresponda aos parâmetros do modelo do OOS. Por exemplo, {"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}, onde 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 durante a execução da atividade de dimensionamento:

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

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

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

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

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

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

Nota
  • Você pode ajustar as configurações 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 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 gancho 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 dimensionamento 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 gancho de ciclo de vida.

ash-bp1at9ufhmcf9cmy****

RequestId

string

O ID da solicitação.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

Exemplos

Resposta de sucesso

JSON formato

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

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.