Todos os produtos
Search
Central de documentação

Auto Scaling:CreateLifecycleHook

Última atualização: Sep 10, 2026

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

Descrição da operação

Descrição da operação

  • Um grupo de escalonamento pode ter no máximo 6 ganchos de ciclo de vida. Quando uma atividade de escalonamento ocorre em um grupo de escalonamento que possui ganchos de ciclo de vida, os ganchos de ciclo de vida pausam a atividade de escalonamento por um período. Você pode especificar o período de espera usando o parâmetro HeartbeatTimeout. Durante o período de espera, você pode executar operações como a inicialização das configurações de instâncias ECS e a recuperação de 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 da instância RDS e são adicionadas ao grupo de servidores de back-end da instância SLB após o término do estado de espera. Durante uma atividade de scale-down, as instâncias ECS entram no estado de espera após serem removidas do grupo de servidores de back-end da instância SLB e são removidas da lista de permissões da instância 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 MNS, filas MNS e modelos OOS. Se você configurar um modelo OOS, crie uma função RAM para o serviço OOS. Para obter mais informações, consulte Configurar permissões RAM para OOS.

Nota

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

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 gancho de ciclo de vida. O nome deve ser exclusivo no grupo de escalonamento. O nome deve ter de 2 a 64 caracteres e pode conter letras, dígitos, sublinhados (_), hifens (-) e pontos (.). O nome 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 escalonamento à qual o gancho de ciclo de vida se aplica. Valores válidos:

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

  • SCALE_IN: atividade de scale-down 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 responder à atividade de scale-out ou scale-down.

  • 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-down.

  • ROLLBACK: para uma atividade de scale-down, o sistema nega a liberação de instâncias ECS e executa uma reversão. Para uma atividade de scale-out, o sistema libera as instâncias ECS criadas, o que tem o mesmo efeito que ABANDON.

Quando uma atividade de scale-down (SCALE_IN) aciona vários ganchos de ciclo de vida em um grupo de escalonamento, se o DefaultResult de um gancho de ciclo de vida estiver definido como ABANDON ou ROLLBACK e o estado de espera desse gancho terminar, os estados de espera dos outros ganchos de ciclo de vida terminarão 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 período de espera que o gancho de ciclo de vida define para a atividade do grupo 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 a criação de um gancho de ciclo de vida, você pode chamar RecordLifecycleActionHeartbeat para estender o período de espera de uma instância ECS, ou chamar CompleteLifecycleAction para encerrar antecipadamente o estado de espera de uma atividade de escalonamento.

Valor padrão: 600.

600

NotificationMetadata

string

Não

As informações de notificação que são enviadas para NotificationArn (o destinatário da notificação) quando o gancho de ciclo de vida suspende uma atividade de escalonamento. Este parâmetro ajuda você a gerenciar e marcar informações de notificação de diferentes categorias. Você também deve especificar NotificationArn. O valor pode ter até 4.096 caracteres.

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

Por exemplo, {"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}, onde dbInstanceId e modifyMode são parâmetros definidos no modelo OOS. Alguns parâmetros do modelo OOS têm valores padrão. NotificationMetadata deve especificar parâmetros que não possuem valores padrão. Se você especificar parâmetros que possuem valores padrão, os valores especificados substituirão os valores padrão originais. No entanto, mantenha os valores padrão para os seguintes parâmetros, que são usados para recuperar informações relevantes durante as atividades de escalonamento:

  • 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 gancho 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 suspensa 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 ação a ser executada após o término do estado de espera do gancho de ciclo de vida, que é usada para encerrar a atividade suspensa atual antecipadamente quando o modelo OOS falha. Quando DefaultResult está definido como ROLLBACK, o valor padrão é ROLLBACK. Em outros casos, o valor padrão é ABANDON.

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

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

Test lifecycle hook.

NotificationArn

string

Não

O Alibaba Cloud Resource Name (ARN) do destinatário da notificação do gancho de ciclo de vida. Se este parâmetro não estiver definido, nenhuma notificação será enviada. Os seguintes métodos de notificação são suportados ao definir este parâmetro:

  • Fila MNS. O valor está no formato acs:mns:{region-id}:{account-id}:queue/{queuename}.

  • Tópico MNS. O valor está no formato acs:mns:{region-id}:{account-id}:topic/{topicname}.

  • Modelo OOS. O valor está no formato acs:oos:{region-id}:{account-id}:template/{templatename}.

  • EventBridge. O valor está no formato acs:eventbridge:{region-id}:{account-id}:eventbus/default.

As variáveis no formato têm os seguintes significados:

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

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

  • queuename: o nome da fila MNS.

  • topicname: o nome do tópico MNS.

  • templatename: o nome do modelo OOS.

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

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

RequestId

string

O ID da solicitação.

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

LifecycleHookId

string

O ID do gancho de ciclo de vida.

ash-bp1at9ufhmcf9cmy****

Exemplos

Resposta de sucesso

JSON formato

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

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.