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.
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
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 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 |
| 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 (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:
Nota
|
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:
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 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.