Todos os produtos
Search
Central de documentação

Auto Scaling:Automatically manage ECS instances in a Tair whitelist

Última atualização: Sep 15, 2026

Este tutorial descreve como usar um lifecycle hook do Auto Scaling para colocar uma instância ECS em espera e utilizar um modelo do CloudOps Orchestration Service (OOS) para adicionar ou remover automaticamente a instância da lista de permissões de uma instância Tair.

Pré-requisitos

  • Um grupo de dimensionamento criado e no estado Enabled.

  • Uma instância Tair criada.

  • 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 instâncias Tair. Se você armazena dados de negócios em uma instância Tair, adicionar ou remover manualmente instâncias ECS da lista de permissões da instância Tair é ineficiente. Use lifecycle hooks e modelos OOS para adicionar e remover automaticamente instâncias ECS da lista de permissões da instância Tair.

Procedimento

Este tutorial mostra como usar o modelo público OOS ACS-ESS-LifeCycleModifyRedisIPWhitelist para adicionar uma instância ECS à lista de permissões de uma instância Tair durante um scale-out.

Nota

Para remover uma instância ECS da lista de permissões de uma instância Tair durante um scale-in, crie um lifecycle hook para atividades de scale-in e acione um scale-in.

Etapa 1: Conceder permissões à função RAM do OOS

A execução do modelo OOS ACS-ESS-LifeCycleModifyRedisIPWhitelist requer permissões para os recursos envolvidos do Elastic Compute Service, Auto Scaling e Tair (Redis OSS-compatible).

  1. Faça logon no console RAM.

  2. Crie uma política de permissões.

    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 Editor, configure os parâmetros e clique em OK.

      A tabela a seguir descreve os parâmetros. Utilize os valores padrão para os parâmetros não mencionados.

      Parâmetro

      Descrição

      Name

      Insira ESSHookPolicyForRedisWhitelist.

      Policy Document

      Insira o seguinte conteúdo:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeInstances"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "kvstore:ModifySecurityIps"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "ess:CompleteLifecycleAction"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
  3. Anexe a política de permissões à 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 o escopo de autorização e as permissões e clique em OK.

      A tabela a seguir descreve os parâmetros. Utilize os valores padrão para os parâmetros não mencionados.

      Parâmetro

      Descrição

      Resource Range

      Selecione Account.

      Policies

      Anexe a política personalizada chamada ESSHookPolicyForRedisWhitelist.

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

Ao criar um lifecycle hook, selecione OOS Template como método de notificação e configure os parâmetros necessários. Isso garante que uma instância ECS seja adicionada automaticamente à lista de permissões da instância Tair quando um scale-out for acionado.

  1. Faça logon no console do 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 maneiras:

    • 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 scale-out.

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

    2. Clique em Create Lifecycle Hook.

    3. Configure o lifecycle hook e clique em OK.

      A tabela a seguir descreve os parâmetros. Utilize os valores padrão para os parâmetros não mencionados.

      Parâmetro

      Descrição

      Name

      Insira ESSHookForAddRedisWhitelist.

      Scaling Activity Type

      Selecione Scale-Out.

      Timeout Period

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

      Nota

      O período de timeout é o tempo disponível para executar ações personalizadas. Se esse período for muito curto, as ações podem falhar. Avalie o tempo necessário para suas ações personalizadas e defina um período de timeout adequado.

      Default Execution Policy

      Selecione Continue.

      Send Notification When Lifecycle Hook Takes Effect

      Configure o modelo com as seguintes definições:

      • Notification Method: Selecione OOS Template.

      • OOS Template Type: Selecione Public Templates.

      • Public Template: Selecione ACS-ESS-LifeCycleModifyRedisIPWhitelist.

      Configure os parâmetros de execução para ACS-ESS-LifeCycleModifyRedisIPWhitelist com as seguintes definições:

      • RedisInstanceId: Insira o ID da sua instância Tair.

      • ModifyIPWhitelistMode: Selecione Append, que corresponde a um scale-out e adiciona a instância ECS à lista de permissões da instância Tair.

      • RAM role assumed by OOS: Selecione OOSServiceRole. No procedimento, as permissões para gerenciar recursos ECS, Auto Scaling e Redis foram adicionadas à função RAM OOSServiceRole. O service OOS assume essa função para obter as permissões necessárias.

  6. Acione um scale-out.

    Este tutorial mostra como executar manualmente uma regra de dimensionamento para acionar um scale-out. Você também pode usar tarefas agendadas ou tarefas acionadas por eventos para acionar um scale-out.

    Nota

    Os lifecycle hooks entram em vigor apenas quando uma regra de dimensionamento aciona um scale-out ou scale-in. Eles não entram em vigor quando você adiciona ou remove manualmente instâncias ECS existentes.

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

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

    3. Defina os parâmetros da regra de dimensionamento e clique em OK.

      A tabela a seguir descreve os parâmetros. Utilize os valores padrão para os parâmetros não mencionados.

      Parâmetro

      Descrição

      Rule Name

      Insira Add1.

      Rule Type

      Selecione Simple Scaling Rule.

      Operation

      Defina o valor como Add 1 instance.

    4. Localize a regra de dimensionamento Add1 criada e clique em Perform na coluna Actions.

    5. Clique em OK.

    Após a execução da regra de dimensionamento, uma instância ECS é criada automaticamente. O lifecycle hook ESSHookForAddRedisWhitelist coloca a instância em espera e notifica o service OOS para executar as operações definidas no modelo ACS-ESS-LifeCycleModifyRedisIPWhitelist.

Etapa 3: Visualizar a lista de permissões da instância Tair

  1. Faça logon no console do Tair (Redis OSS-compatible).

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

  3. Localize sua instância Tair e clique no respectivo ID na coluna Instance ID/Name.

  4. No painel de navegação à esquerda, clique em Whitelist Settings.

    • Se o endereço IP privado da nova instância ECS aparecer na lista de permissões da instância Tair, o modelo ACS-ESS-LifeCycleModifyRedisIPWhitelist foi executado com sucesso.

    • Caso a instância ECS exista, mas seu endereço IP privado não esteja na lista de permissões da instância Tair, verifique o status de execução da tarefa OOS no console OOS. Para mais detalhes, consulte (Optional) Step 4: Check the OOS execution.

(Opcional) Etapa 4: Verificar a execução do OOS

  1. Faça logon no console OOS.

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

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

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

    Por exemplo, visualize o ID e o status da execução na seção Basic information. Clique também em um nó de tarefa na seção Execution Result para visualizar seus detalhes. Para mais informações, consulte View the details of a task execution.

    Nota

    Se uma execução falhar, a página de detalhes da execução exibirá a mensagem de erro.

Perguntas frequentes

Se você não conseguir executar uma tarefa de O&M, solucione o problema com base na mensagem de erro no resultado da execução. Para mais informações, consulte FAQ.

A tabela a seguir descreve a mensagem de erro comum.

Mensagem de erro

Causa

Solução

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

Você não autorizou o Auto Scaling 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 as permissões para operar nos recursos correspondentes.

Verifique se a função RAM OOSServiceRole possui as permissões necessárias. Por exemplo, conceda as permissões do OOS à função RAM. Antes que o OOS possa gerenciar os recursos declarados no modelo OOS, você deve conceder as permissões necessárias à 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 terminou ou foi interrompida.

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