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.
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
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
ess:CreateLifecycleHook |
create |
*ScalingGroup
|
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 |
| DefaultResult |
string |
Não |
A ação a ser executada após o término do estado de espera. Valores válidos:
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:
Nota
|
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:
As variáveis nos formatos têm os seguintes significados:
|
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.