Todos os produtos
Search
Central de documentação

Auto Scaling:Apply an automatic snapshot policy to ECS instances

Última atualização: Aug 20, 2026

Este tutorial descreve como usar um lifecycle hook do Auto Scaling para suspender uma instância ECS e aplicar automaticamente uma política de snapshot automático à instância por meio de um modelo do CloudOps Orchestration Service (OOS).

Pré-requisitos

  • Crie um grupo de dimensionamento no estado Enabled. Para mais informações, consulte Manage scaling groups.

  • Crie uma política de snapshot automático. Para mais informações, consulte Create an automatic snapshot policy.

  • Crie uma função do Resource Access Management (RAM) 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 do 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

Uma política de snapshot automático cria snapshots periodicamente para suas instâncias ECS, o que melhora a segurança dos dados e a tolerância a falhas operacionais. Embora não seja possível associar uma política de snapshot automático durante a criação de uma configuração de dimensionamento, você pode usar um lifecycle hook e um modelo do OOS para automatizar esse processo. Esse método é mais eficiente do que aplicar manualmente uma política a cada nova instância ECS.

Nota

Uma política de snapshot automático cria snapshots em horários agendados para proteger os dados em seus discos de sistema e discos de dados. Para mais informações, consulte Automatic snapshot policies.

Procedimento

Este tutorial usa o modelo público do OOS ACS-ESS-LifeCycleApplyAutoSnapshotPolicy como exemplo para descrever como aplicar automaticamente uma política de snapshot automático a instâncias ECS durante um scale-out. O procedimento é o seguinte:

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

Você precisa ter as permissões adequadas para executar modelos do OOS. A execução das operações de O&M definidas em ACS-ESS-LifeCycleApplyAutoSnapshotPolicy envolve recursos do Elastic Compute Service (ECS) e do Auto Scaling.

  1. Faça login no console do RAM.

  2. Crie uma política de permissão.

    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, insira o conteúdo da política abaixo e clique em OK.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeDisks",
                      "ecs:ApplyAutoSnapshotPolicy",
                      "ecs:DescribeInstances"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "ess:CompleteLifecycleAction"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    4. Na caixa de diálogo Create Policy, insira um nome para a política.

      O nome da política é ESSHookPolicyForApplyAutoSnapshotPolicy.

      Nota

      Se precisar modificar o conteúdo da política, clique em Cancel para continuar editando a política de permissão.

    5. Clique em OK.

  3. Anexe a política de permissão à 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.

      <!--@div {"id":"info_c6u_4fp_95i","data-tag="info"}-->

      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 as definições e clique em OK.

      A tabela a seguir descreve os parâmetros usados neste tutorial. Use os valores padrão para quaisquer parâmetros não mencionados.Basic Information

      Parâmetro

      Descrição

      Grant Scope

      Selecione Alibaba Cloud Account.

      Policies

      Adicione a política personalizada ESSHookPolicyForApplyAutoSnapshotPolicy.

Etapa 2: Criar um lifecycle hook e 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. 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 o lifecycle hook e clique em OK.

      <!--@div {"id":"info_5mw_4ww_2zr","data-tag="info"}-->

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

      Parâmetro

      Descrição

      Name

      Insira ESSHookForApplyAutoSnapshotPolicy.

      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 é o tempo máximo permitido para a conclusão da ação personalizada. Se a ação não terminar dentro desse período, ela falhará. Defina um timeout suficientemente longo para que sua ação seja executada com sucesso.

      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-LifeCycleApplyAutoSnapshotPolicy.

      Os parâmetros de execução para ACS-ESS-LifeCycleApplyAutoSnapshotPolicy são os seguintes:

      • autoSnapshotPolicyId: Insira o ID da sua política de snapshot automático.

      • OOSAssumeRole: Selecione OOSServiceRole. Na Etapa 1, você concedeu a esta função RAM as permissões necessárias para gerenciar recursos do ECS e do Auto Scaling. O OOS assume essa função para obter tais permissões.

  6. Acione um evento de scale-out.

    <!--@div {"id":"info_5ym_cyu_vn6","data-tag="info"}-->

    Neste tutorial, executamos manualmente uma regra de dimensionamento para acionar o evento de scale-out. Você também pode usar outros métodos, como tarefas agendadas ou acionadas por eventos.

    Nota

    Os lifecycle hooks são acionados quando você executa uma regra de dimensionamento, mas não são acionados quando adiciona ou remove manualmente instâncias ECS existentes de um grupo de dimensionamento.

    1. No topo da página, clique na aba Scaling Rules and Event-triggered Tasks.

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

    3. Configure a regra de dimensionamento e clique em OK.

      <!--@div {"id":"info_o5u_5ai_lkt","data-tag="info"}-->

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

      Parâmetro

      Descrição

      Rule Name

      Insira Add1.

      Rule Type

      Selecione Simple Scaling Rule.

      Operation

      Defina para adicionar 1 instância.

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

    5. Clique em OK.

    <!--@div {"id":"stepresult_fd9_t8f_0ao","data-tag="stepresult"}-->

    Após a execução da regra de dimensionamento, uma instância ECS é criada automaticamente. O lifecycle hook ESSHookForApplyAutoSnapshotPolicy no grupo de dimensionamento suspende a instância ECS e notifica simultaneamente o service OOS para executar as operações de O&M definidas em ACS-ESS-LifeCycleApplyAutoSnapshotPolicy.

  7. Verifique se a política de snapshot automático foi aplicada à nova instância ECS.

    1. No topo da página, clique na aba Instance Management.

    2. Localize a instância ECS recém-criada e clique em seu ID na coluna ECS Instance ID/Name.

    3. Na página Instance Details, clique na aba Block Storage.

    4. Localize o disco em cloud e, na coluna Actions, clique em Set Snapshot Policy.

      <!--@div {"id":"info_jeg_5ou_4fw","data-tag="info"}-->

      • A figura abaixo mostra que uma política de snapshot automático está ativada para o disco em cloud. Essa política corresponde ao Automatic Snapshot Policy ID definido durante a criação do lifecycle hook, comportamento esperado ao usar o modelo público ACS-ESS-LifeCycleApplyAutoSnapshotPolicy.SCR-20240710-lpiu

      • Caso a instância ECS tenha sido criada, mas a política de snapshot automático não tenha sido aplicada, acesse o console do OOS para verificar o status de execução da tarefa.

(Opcional) Etapa 3: Visualizar o status de 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. 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 da execução.

    <!--@div {"id":"info_j6e_bwp_p51","data-tag="info"}-->

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

    Nota

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

Verifique se a função RAM OOSServiceRole possui as permissões necessárias. Por exemplo, você pode conceder permissões do OOS à função RAM. Antes que o OOS possa gerenciar os recursos declarados no modelo do OOS, é necessário conceder as permissões exigidas à 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 do OOS possam ser concluídas dentro do limite de tempo estipulado.

Tópicos relacionados

Você também pode usar um lifecycle hook do Auto Scaling e um modelo do CloudOps Orchestration Service (OOS) para executar scripts automaticamente em uma instância ECS durante um evento de scale-in ou scale-out. Para mais informações, consulte Automatically execute scripts on ECS instances.