Todos os produtos
Search
Central de documentação

Auto Scaling:Melhores práticas para coordenar tarefas agendadas e acionadas por eventos

Última atualização: Jul 20, 2026

O Auto Scaling suporta tarefas agendadas e acionadas por eventos (incluindo regras de rastreamento de meta). Quando ambos os tipos estão ativos, configurações inadequadas podem fazer com que uma tarefa acionada por evento substitua um scale-out agendado, resultando em capacidade inesperada. Este tópico explica como essas tarefas interagem e apresenta uma configuração recomendada para evitar conflitos de dimensionamento.

Cenário do problema

Se um grupo de dimensionamento tiver o número esperado de instâncias, tarefas agendadas e tarefas acionadas por eventos (como regras de rastreamento de meta) habilitados simultaneamente, poderá ocorrer um conflito: uma tarefa agendada dispara um scale-out, mas, antes da conclusão, uma tarefa acionada por evento é executada e sobrescreve o número esperado de instâncias, impedindo que o scale-out tenha efeito.

Casos típicos

Caso 1: Scale-out agendado substituído por uma regra de rastreamento de meta

O grupo de dimensionamento de um usuário tem a seguinte configuração:

  • Número esperado de instâncias habilitado.

  • Tarefa agendada: Todos os dias às 8h00, faz scale-out para 200 instâncias.

  • Regra de rastreamento de meta: Manter a utilização da CPU em 60%.

Execução real:

Hora

Evento

Alteração no número esperado de instâncias

08:00:15

A tarefa agendada dispara e altera o número esperado de instâncias de 80 para 200.

80 → 200

08:00:28

A regra de rastreamento de meta dispara um scale-out de 10 instâncias e sobrescreve o número esperado de instâncias de 200 para 90.

200 → 90

Resultado: A meta de 200 instâncias definida pela tarefa agendada foi substituída. A contagem final foi de apenas 90 instâncias, muito abaixo do requisito de negócio.

Caso 2: Tarefa agendada substituída por uma regra de rastreamento de meta

O grupo de dimensionamento de um usuário tem a seguinte configuração:

  • Número esperado de instâncias habilitado.

  • Tarefa agendada: Usa uma expressão cron para fazer scale-out de instâncias em uma determinada porcentagem.

  • Regra de rastreamento de meta: Manter a utilização de memória em um valor-alvo.

Execução real:

Hora

Evento

Alteração no número esperado de instâncias

12:00:08

A tarefa agendada dispara e altera o número esperado de instâncias de 20 para 40.

20 → 40

12:00:50

A tarefa acionada por evento dispara um scale-out de 1 instância e sobrescreve o número esperado de instâncias de 40 para 21.

40 → 21

Resultado: A meta de 40 instâncias definida pela tarefa agendada foi substituída. A contagem final foi de apenas 21 instâncias.

Caso 3: Número esperado de instâncias definido por tarefa agendada substituído por uma regra simples

O grupo de dimensionamento de um usuário tem a seguinte configuração:

  • Número esperado de instâncias habilitado.

  • Tarefa agendada: Altera o número esperado de instâncias para 50.

  • Tarefa acionada por evento: Associada a uma regra simples.

Execução real:

Hora

Evento

Alteração no número esperado de instâncias

09:00:10

A tarefa agendada dispara e altera o número esperado de instâncias de 2 para 50.

2 → 50

09:00:22

A tarefa acionada por evento dispara um scale-out de 3 instâncias e sobrescreve o número esperado de instâncias de 50 para 5.

50 → 5

Resultado: A meta de 50 instâncias definida pela tarefa agendada foi substituída. A contagem final foi de apenas 5 instâncias.

Análise da causa

A causa raiz reside nos diferentes mecanismos de execução das tarefas agendadas e acionadas por eventos:

Aspecto

Tarefa agendada (apenas modifique o número esperado de instâncias)

Tarefa acionada por evento

Método de execução

Modifique apenas o valor do número esperado de instâncias sem disparar diretamente uma atividade de dimensionamento.

Dispara imediatamente uma atividade de dimensionamento e atualiza simultaneamente o número esperado de instâncias.

Tempo de efetivação

Leva de 30 segundos a 1 minuto para entrar em vigor após a modificação do número esperado de instâncias.

Entra em vigor imediatamente.

Risco de conflito

Durante a janela de atraso, outras tarefas podem sobrescrever o valor.

Após a execução, o número esperado de instâncias é atualizado para o valor real atual.

Problema central: Quando uma tarefa agendada apenas modifique o número esperado de instâncias, a alteração não é atômica nem entra em vigor imediatamente. Durante o atraso de 30 segundos a 1 minuto, uma tarefa acionada por evento pode disparar com base na contagem real atual de instâncias, recalcular e sobrescrever o número esperado de instâncias.

Melhor prática: Tarefas agendadas para capacidade base, tarefas acionadas por eventos para capacidade elástica

Visão geral da solução

Utilize um modelo de capacidade em camadas "base + elástica" para separar claramente as responsabilidades das tarefas agendadas e acionadas por eventos:

  • Capacidade base (gerenciada por tarefas agendadas): Use tarefas agendadas para definir tanto o número mínimo quanto o esperado de instâncias. Isso garante que o piso de capacidade durante os horários de pico não seja reduzido por tarefas acionadas por eventos.

  • Capacidade elástica (gerenciada por tarefas acionadas por eventos): Utilize regras de rastreamento de meta ou tarefas acionadas por eventos para adicionar ou remover instâncias dinamicamente acima da capacidade base, com base na carga real.

定时任务与报警任务协同配置-设计原则_v1

Procedimento

O exemplo a seguir demonstra a configuração recomendada. Suponha que seu negócio precise dimensionar de uma linha de base diária de 10 instâncias para 50 às 8h00, retornar ao nível normal às 22h00 e usar uma regra de rastreamento de meta para manter a utilização da CPU em 60%.

Etapa 1: Crie uma tarefa agendada de scale-out

Crie uma tarefa agendada que defina tanto o número mínimo quanto o esperado de instâncias no início do horário de pico. Isso garante que a capacidade base entre em vigor imediatamente e não possa ser substituída por tarefas acionadas por eventos.

  1. Faça login no Auto Scaling console.

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

  3. Localize o grupo de dimensionamento alvo e clique em seu nome para abrir a página de detalhes.

  4. Clique na aba Scaling Rules and Tasks. Na aba Scheduled Tasks, clique em Create Scheduled Task.

  5. Crie uma tarefa agendada de scale-out com as seguintes configurações:

    Parâmetro

    Valor

    Task Name

    scheduled-scale-up

    Executed At

    Todos os dias às 8h00 (ou no início do seu horário comercial de pico)

    Recurrence

    Daily

    Scaling Method

    Configure Number of Instances in Scaling Group

    Minimum Instances

    50

    Expected Instances

    50

    Configuração chave : Defina Scaling Method como Configure Number of Instances in Scaling Group e configure tanto Minimum Instances quanto Expected Instances para 50. Dessa forma, a tarefa agendada atualiza simultaneamente o número mínimo e o esperado de instâncias, impedindo que tarefas acionadas por eventos façam scale-in para menos de 50 instâncias.

Etapa 2: Crie uma tarefa agendada de scale-in

Crie uma tarefa agendada de scale-in correspondente. Após o término do horário de pico, restaure o número mínimo de instâncias para o nível normal para evitar desperdício de recursos.

  1. Na aba Scheduled Tasks, clique em Create Scheduled Task e use as seguintes configurações:

    Parâmetro

    Valor

    Task Name

    scheduled-scale-down

    Executed At

    Todos os dias às 22h00 (ou no final do seu horário comercial de pico)

    Recurrence

    Daily

    Scaling Method

    Configure Number of Instances in Scaling Group

    Minimum Instances

    10

    Expected Instances

    10

Etapa 3: Configure uma regra de rastreamento de meta

Crie uma regra de rastreamento de meta que permita às tarefas acionadas por eventos dimensionar automaticamente com base na carga real acima da capacidade base definida pelas tarefas agendadas.

  1. Clique na aba Scaling Rules and Tasks. Na aba Scaling Rules, clique em Create Scaling Rule.

  2. Crie uma regra de rastreamento de meta com as seguintes configurações:

    Parâmetro

    Valor

    Rule Type

    Target Tracking Scaling Rule

    Metric Type

    (ECS) Average CPU Utilization

    Target Value

    60%

A regra de rastreamento de meta ajusta automaticamente o número de instâncias entre o mínimo e o máximo do grupo de dimensionamento com base na utilização da CPU. Como a tarefa agendada define o número mínimo de instâncias como 50, a contagem de instâncias não cai abaixo de 50 mesmo quando a utilização da CPU está baixa.

Comportamento esperado após a configuração

Hora

Evento

Número mínimo de instâncias

Número esperado de instâncias

Efeito real

Diariamente às 8h00

Disparo da tarefa agendada de scale-out

10 → 50

10 → 50

Inicia imediatamente o scale-out para 50 instâncias

8h00 – 22h00

Execução contínua da regra de rastreamento de meta

50

≥50

Quando a utilização da CPU excede 60%, faz scale-out acima da base de 50 instâncias. Quando está abaixo de 60%, faz scale-in até o mínimo de 50 instâncias.

Diariamente às 22h00

Disparo da tarefa agendada de scale-in

50 → 10

50 → 10

Restaura o nível normal de capacidade. Instâncias excedentes são liberadas gradualmente.

Outros horários

Execução contínua da regra de rastreamento de meta

10

≥10

Dimensiona elasticamente a partir de uma base de 10 instâncias com base na utilização da CPU

Pontos-chave de configuração

  1. Selecione "Configure Number of Instances in Scaling Group" como método de dimensionamento para tarefas agendadas. Defina tanto o número mínimo quanto o esperado de instâncias, em vez de modifique apenas o número esperado.

  2. Crie tarefas agendadas em pares: As tarefas de scale-out e scale-in devem vir em pares para garantir que o número mínimo de instâncias retorne ao normal após o horário de pico e evitar desperdício de recursos.

  3. Relação entre número mínimo, esperado e máximo de instâncias:

    • Tarefas agendadas controlam a capacidade base definindo o número mínimo de instâncias e o número esperado de instâncias.

    • Tarefas acionadas por eventos e regras de rastreamento de meta ajustam elasticamente entre o número mínimo de instâncias e o número máximo de instâncias.

    • Regras internas do sistema garantem que número mínimo de instâncias ≤ número esperado de instâncias ≤ número máximo de instâncias. A prioridade é clara e nenhum mecanismo adicional de prevenção de conflitos é necessário.

Perguntas frequentes

  • Após uma tarefa agendada realizar scale-out com sucesso, a regra de rastreamento de meta fará scale-in das instâncias se a utilização da CPU estiver baixa?

    Não. A tarefa agendada também define as Minimum Instances. A regra de rastreamento de meta não fará scale-in abaixo das Minimum Instances. Por isso, definir simultaneamente as Minimum Instances é fundamental.

  • É viável modifique apenas o número esperado de instâncias em uma tarefa agendada?

    Não recomendado. Modifique apenas as Expected Instances envolve os seguintes riscos:

    • A alteração nas Expected Instances tem um atraso de 30 segundos a 1 minuto antes de entrar em vigor. Durante esse período, uma tarefa acionada por evento pode sobrescrever o valor.

    • Mesmo que o scale-out seja bem-sucedido, como as Minimum Instances não foram atualizadas adequadamente, a regra de rastreamento de meta pode fazer scale-in abaixo do nível pretendido.

  • Preciso definir o número máximo de instâncias em uma tarefa agendada?

    Geralmente não. As Maximum Instances normalmente permanecem como um limite superior fixo para evitar dimensionamento ilimitado em situações anormais. Se o seu negócio exigir limites de instâncias diferentes em horários diferentes, você também pode ajustar as Maximum Instances na tarefa agendada.

  • Ocorrerão conflitos com tarefas acionadas por eventos que usam regras simples em vez de regras de rastreamento de meta?

    Sim, conflitos ainda podem ocorrer. Independentemente de a tarefa acionada por evento estar associada a uma Simple Scaling Rule, Step Scaling Rule ou Target Tracking Scaling Rule, ela sobrescreverá as Expected Instances se for disparada durante o período de atraso da tarefa agendada. A solução neste tópico aplica-se a todos os tipos de tarefas acionadas por eventos.

Referências