Todos os produtos
Search
Central de documentação

Auto Scaling:Automatically add and remove ECS instances from an AnalyticDB cluster IP address whitelist

Última atualização: Aug 20, 2026

Este tutorial demonstra como usar um lifecycle hook do Auto Scaling para colocar uma instância ECS em estado de espera e utilizar um modelo do CloudOps Orchestration Service (OOS) para adicionar ou remover automaticamente a instância da lista de permissões de endereços IP de um cluster AnalyticDB for MySQL.

Pré-requisitos

  • Um grupo de dimensionamento criado e com o status Enabled.

  • Um cluster AnalyticDB for MySQL criado.

  • Uma função do Resource Access Management (RAM) criada para o OOS. A entidade confiável da função RAM deve ser Alibaba Cloud Service, o service confiável deve ser **CloudOps Orchestration Service** e a função RAM deve ter permissões para executar operações no modelo OOS. Para mais informações, consulte Create a RAM role for OOS and grant permissions.

    Nota

    Neste tópico, a função RAM OOSServiceRole é usada como exemplo. Você também pode usar outras funções.

Contexto

É possível associar um grupo de dimensionamento a instâncias do Server Load Balancer (SLB) e do ApsaraDB RDS, mas não a clusters AnalyticDB for MySQL. Se os dados da sua aplicação estiverem em um cluster AnalyticDB for MySQL, gerenciar manualmente a lista de permissões de endereços IP para instâncias ECS torna-se ineficiente. Para automatizar esse processo, use um lifecycle hook e um modelo OOS.

Procedimento

Este tutorial mostra como usar o modelo público OOS ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist para adicionar uma instância ECS à lista de permissões de endereços IP de um cluster AnalyticDB for MySQL durante um evento de scale-out. Execute as etapas a seguir:

Nota

Para remover automaticamente uma instância ECS da lista de permissões de endereços IP de um cluster AnalyticDB for MySQL durante um evento de scale-in, crie um lifecycle hook para o evento de scale-in e inicie o dimensionamento.

Etapa 1: Conceder permissões OOS a uma função RAM

Você precisa ter permissões para executar modelos OOS. O modelo ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist requer permissões para realizar operações em recursos do ECS, Auto Scaling e AnalyticDB for MySQL.

  1. Faça login no console RAM.

  2. Crie uma política.

    1. No painel de navegação à esquerda, escolha Permissions > Policies.

    2. Na página Policies, clique em Create Policy.

    3. Na página Create Policy, clique na aba JSON, configure os parâmetros e clique em OK.

      A tabela a seguir descreve os parâmetros usados neste tutorial. Use os valores padrão para os demais parâmetros.

      Parâmetro

      Descrição

      Name

      Insira ESSHookPolicyForAnalyticDBWhitelist.

      Policy Document

      Insira o seguinte conteúdo:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeInstances"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "adb:ModifyDBClusterAccessWhiteList"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "ess:CompleteLifecycleAction"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
  3. Anexe a política à função RAM OOSServiceRole.

    1. No painel de navegação à esquerda, escolha Identities > Roles.

    2. Localize a função RAM OOSServiceRole e clique em Grant Permission na coluna Actions.

      Adicione as permissões necessárias à função RAM OOSServiceRole, assumida pelo OOS, para concluir a autorização.

    3. Na página Grant Permission, configure os parâmetros e clique em OK.

      A tabela a seguir descreve os parâmetros usados neste tutorial. Use os valores padrão para os demais parâmetros.

      Parâmetro

      Descrição

      Authorized scope

      Selecione Alibaba Cloud Account.

      Policy

      Selecione a política personalizada ESSHookPolicyForAnalyticDBWhitelist.

Etapa 2: Criar e acionar um lifecycle hook de scale-out

  1. Faça login no console Auto Scaling.

  2. No painel de navegação à esquerda, clique em Scaling Groups.

  3. Na barra de navegação superior, selecione uma região.

  4. Localize o grupo de dimensionamento que deseja gerenciar e abra sua página de detalhes de uma das seguintes formas:

    • Na coluna Scaling Group Name/ID, clique no ID do grupo de dimensionamento.

    • Na coluna Actions, clique em Details.

  5. Crie um lifecycle hook para o evento de scale-out.

    1. No topo da página, clique na aba Event and adhesive hook.

    2. Clique em Create Lifecycle Hook.

    3. Configure os parâmetros do lifecycle hook e clique em OK.

      A tabela a seguir descreve os parâmetros usados neste tutorial. Use os valores padrão para os demais parâmetros.

      Parâmetro

      Descrição

      Name

      Insira ESSHookForAddAnalyticDBWhitelist.

      Scaling Activity Type

      Selecione Scale-Out.

      Timeout Period

      Insira um período de timeout apropriado, por exemplo, 300 segundos.

      Nota

      O período de timeout corresponde ao tempo permitido para a execução da ação personalizada. Avalie o tempo necessário para a ação e defina um timeout adequado para evitar falhas.

      Default Execution Policy

      Selecione Continue.

      Send Notification When Lifecycle Hook Takes Effect

      Configure o modelo da seguinte forma:

      • Notification Method: Selecione OOS Template.

      • OOS Template Type: Selecione Public Templates.

      • Public Template: Selecione ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist.

      Configure os parâmetros de execução para ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist conforme abaixo:

      • dbClusterId: Insira o ID do seu cluster AnalyticDB for MySQL.

      • modifyMode: Selecione Append. Esta opção aplica-se a eventos de scale-out e adiciona a instância ECS à lista de permissões de endereços IP do cluster AnalyticDB for MySQL.

      • RAM role assumed by OOS: Selecione OOSServiceRole. No procedimento, a função RAM OOSServiceRole recebeu permissões para gerenciar ECS, Auto Scaling e AnalyticDB for PostgreSQL. O service OOS assume essa função para obter tais permissões.

  6. Acione um evento de scale-out.

    Este tutorial usa uma regra de dimensionamento executada manualmente como exemplo, mas você também pode acionar um evento de scale-out com uma tarefa agendada ou baseada em eventos.

    Nota

    Os lifecycle hooks entram em vigor quando atividades de dimensionamento são acionadas pela execução manual de regras. Eles não têm efeito ao adicionar ou remover instâncias ECS de um grupo de dimensionamento manualmente.

    1. Clique na aba Scaling Rules and Event-triggered Tasks.

    2. Na aba Scaling Rules, clique em Create Scaling Rule.

    3. Defina as propriedades da regra de dimensionamento e clique em OK.

      A tabela a seguir descreve os parâmetros usados neste tutorial. Use os valores padrão para os demais parâmetros.

      Parâmetro

      Descrição

      Rule Name

      Insira Add1.

      Rule Type

      Selecione Simple Scaling Rule.

      Operation

      Defina como Add 1 Instances.

    4. Na lista de regras de dimensionamento, localize a regra Add1 criada e clique em Recurrently na coluna Actions.

    5. Clique em OK.

    Após a execução da regra de dimensionamento, uma instância ECS é criada automaticamente. Como o lifecycle hook ESSHookForAddAnalyticDBWhitelist foi criado no grupo de dimensionamento, a instância entra em estado de espera. O OOS é então notificado para executar as operações definidas no modelo ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist.

Etapa 3: Verificar a lista de permissões do AnalyticDB for MySQL

  1. Faça login no console AnalyticDB for MySQL.

  2. No painel de navegação à esquerda, clique em Clusters.

  3. Localize o cluster desejado e clique no respectivo ID na coluna Cluster ID/Description.

  4. No painel de navegação à esquerda, clique em Data Security.

    • Se o endereço IP privado da nova instância ECS aparecer na lista de permissões de endereços IP do cluster AnalyticDB for MySQL, o modelo público ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist está funcionando corretamente.

    • Caso uma instância ECS tenha sido criada, mas seu endereço IP privado não conste na lista de permissões, verifique o status de execução da tarefa no console OOS. Para mais informações, consulte (Optional) Step 4: View OOS execution details.

(Opcional) Etapa 4: Visualizar detalhes de execução do OOS

  1. Faça login no console OOS.

  2. No painel de navegação à esquerda, escolha Automated Task > Task Execution Management.

  3. Localize a tarefa de execução pelo horário e clique em Details na coluna Actions.

  4. Na página de detalhes da execução, visualize as informações correspondentes.

    Por exemplo, é possível visualizar o ID e o status da execução na seção Basic Information. Também é possível clicar em um nó de tarefa na seção Execution Result para ver seus detalhes. Para mais informações, consulte View the details of an execution.

    Nota

    Se a execução falhar, uma mensagem de erro correspondente será exibida na página de detalhes da execução.

Perguntas frequentes

Se houver falha na execução de uma tarefa de O&M, solucione o problema com base na mensagem de erro apresentada no resultado da execução. Para mais informações, consulte FAQ.

A tabela a seguir descreve as mensagens de erro comuns.

Mensagem de erro

Causa

Solução

Forbidden.Unauthorized message: A required authorization for the specified action is not supplied.

O Auto Scaling não foi autorizado a realizar a ação atual.

Verifique se a função RAM OOSServiceRole possui as permissões necessárias.

Forbidden.RAM message: User not authorized to operate on the specified resource, or this API doesn't support RAM.

O usuário RAM ou a função RAM não tem permissões para operar nos recursos correspondentes.

Confirme se a função RAM OOSServiceRole dispõe das permissões exigidas. Por exemplo, conceda as permissões OOS à função RAM. Antes que o OOS possa gerenciar os recursos declarados no modelo, é obrigatório conceder as permissões adequadas à função RAM.

LifecycleHookIdAndLifecycleActionToken.Invalid message: The specified lifecycleActionToken and lifecycleActionId you provided does not match any in process lifecycle action.

A ação do lifecycle hook em andamento foi encerrada ou interrompida.

Avalie o período de timeout do lifecycle hook para garantir que as tarefas de O&M especificadas no modelo OOS sejam concluídas dentro do limite de tempo estabelecido.