Todos os produtos
Search
Central de documentação

Auto Scaling:Automatically manage ECS instances in a Tair whitelist

Última atualização: Oct 14, 2026

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

Pré-requisitos

  • Um grupo de dimensionamento criado e no estado Enabled.

  • Uma instância do 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 e o serviço confiável deve ser o CloudOps Orchestration service. Além disso, a função RAM precisa ter permissões para executar operações no modelo do OOS. Para mais informações, consulte Create a RAM role for OOS and grant permissions.

    Nota

    Neste tópico, usamos a função RAM OOSServiceRole como exemplo. Também é possível 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 do Tair. Se você armazena dados de negócios em uma instância do Tair, adicionar ou remover manualmente instâncias do ECS da lista de permissões da instância do Tair é ineficiente. Use lifecycle hooks e modelos do OOS para adicionar e remover instâncias do ECS da lista de permissões da instância do Tair automaticamente.

Procedimento

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

Nota

Para remover uma instância do ECS da lista de permissões de uma instância do 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 do OOS ACS-ESS-LifeCycleModifyRedisIPWhitelist requer permissões para os recursos envolvidos do Elastic Compute Service, do Auto Scaling e do Tair (Redis OSS-compatible).

  1. Faça login no console do 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 em aba JSON Editor, configure os parâmetros e clique em OK.

      A tabela a seguir descreve os parâmetros. Use 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. Encontre 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 e as permissões de autorização e clique em OK.

      A tabela abaixo detalha os parâmetros. Mantenha os valores padrão para os campos não mencionados.

      Parâmetro

      Descrição

      Resource Range

      selecione Account.

      Policies

      Anexe a política personalizada chamada ESSHookPolicyForRedisWhitelist.

Etapa 2: crie e acione 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 o sistema adicione a instância do ECS automaticamente à lista de permissões da instância do Tair ao acionar um scale-out.

  1. Faça login 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. Encontre o grupo de dimensionamento desejado e abra a página de detalhes dele de uma das seguintes maneiras:

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

    • Na coluna Actions, clique em Details.

  5. crie um lifecycle hook para o scale-out.

    1. Na parte superior da página, clique em aba Events and Lifecycle Hooks.

    2. clique em Create Lifecycle Hook.

    3. configure o lifecycle hook e clique em OK.

      Consulte a tabela a seguir para ver a descrição dos parâmetros. Utilize os valores padrão para os campos não mencionados.

      Parâmetro

      Descrição

      Name

      insira ESSHookForAddRedisWhitelist.

      Scaling Activity Type

      selecione Scale-Out.

      Timeout Period

      insira um tempo limite adequado, como 300 segundos.

      Nota

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

      Default Execution Policy

      selecione Continue.

      Send Notification When Lifecycle Hook Takes Effect

      configure o modelo com as seguintes configuraçõ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 de ACS-ESS-LifeCycleModifyRedisIPWhitelist com as seguintes definições:

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

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

      • RAM role assumed by OOS: selecione OOSServiceRole. No procedimento, você adicionou as permissões para gerencie recursos do ECS, do Auto Scaling e do Redis à função RAM OOSServiceRole. O serviço 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. Também é possível usar tarefas agendadas ou acionadas por eventos para isso.

    Nota

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

    1. clique em 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.

      Os parâmetros estão descritos na tabela abaixo. Use as configurações padrão para os parâmetros omitidos.

      Parâmetro

      Descrição

      Rule Name

      insira Add1.

      Rule Type

      selecione Simple Scaling Rule.

      Operation

      defina o valor como Add 1 instance.

    4. Encontre 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, o sistema cria uma instância do ECS automaticamente. O lifecycle hook ESSHookForAddRedisWhitelist então coloca a instância em espera e notifica o serviço OOS para executar as operações definidas no modelo ACS-ESS-LifeCycleModifyRedisIPWhitelist.

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

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

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

  3. Encontre a sua instância do Tair e clique em ID dela 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 do ECS aparecer na lista de permissões da instância do Tair, significa que o modelo ACS-ESS-LifeCycleModifyRedisIPWhitelist foi executado com sucesso.

    • Se a instância do ECS existir, mas o endereço ip privado dela não estiver na lista de permissões da instância do Tair, verifique o status de execução da tarefa no console do OOS. Para mais detalhes, consulte (Opcional) Etapa 4: Verificar a execução do OOS.

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

  1. Faça login no console do OOS.

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

  3. Encontre 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.

    Por exemplo, você pode visualize 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 os detalhes dele. Para mais informações, consulte View the details of a task execution.

    Nota

    Se uma execução falhar, a página de detalhes 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 as mensagens de erro mais comuns.

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 executar a ação atual.

Verifique se a função RAM OOSServiceRole tem 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 ou a função RAM não tem permissões para operar os recursos correspondentes.

Verifique se a função RAM OOSServiceRole tem 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, a função RAM precisa ter as permissões necessárias.

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 tempo limite do lifecycle hook para garantir que as tarefas de O&M especificadas no modelo do OOS sejam concluídas dentro do tempo alocado.