As tarefas acionadas por eventos monitoram métricas de recursos em tempo real e executam automaticamente regras de dimensionamento quando uma condição de alerta é atendida. Use tarefas acionadas por eventos quando os picos de tráfego forem imprevisíveis. Elas permitem que o seu grupo de dimensionamento responda à carga real em vez de seguir uma programação fixa.
Como funciona
O Auto Scaling coleta continuamente dados de métricas dos recursos no seu grupo de dimensionamento (por exemplo, utilização de CPU ou uso de memória).
Quando a métrica ultrapassa o limiar que você definiu, o sistema dispara um alarme.
O Auto Scaling executa a regra de dimensionamento associada à tarefa de alarme.
Após a execução, o grupo de dimensionamento entra em um período de cooldown para evitar dimensionamentos rápidos e repetidos.
Tipos de monitoramento
O Auto Scaling oferece suporte a dois tipos de tarefas acionadas por eventos:
Monitoramento do sistema: Monitora as métricas integradas do Cloud Monitor para instâncias do Elastic Compute Service (ECS) no grupo de dimensionamento, como utilização de CPU, uso de memória, IOPS de leitura/gravação do disco do sistema e tráfego de rede. Não é necessária nenhuma instrumentação adicional.
Monitoramento personalizado: Monitora métricas do seu próprio sistema de monitoramento, integradas por meio de métricas personalizadas do Cloud Monitor. Use este tipo quando as métricas integradas do sistema não refletem sua carga de trabalho real (por exemplo, profundidade da fila ou latência de requisição da sua camada de aplicação).
Escolha um tipo de regra de dimensionamento
Cada tarefa acionada por eventos executa uma regra de dimensionamento quando o alarme é disparado. O Auto Scaling oferece suporte a três tipos de regras:
|
Tipo de regra |
Como dimensiona |
Mais indicado para |
|
Regra de dimensionamento por rastreamento de destino |
Calcula e ajusta automaticamente o número de instâncias para manter a métrica selecionada em um valor de destino |
A maioria das cargas de trabalho. Menor sobrecarga operacional, pois não requer configuração manual de etapas. |
|
Regra de dimensionamento em etapas |
Adiciona ou remove instâncias em etapas com base na magnitude da violação do limiar da métrica |
Cargas de trabalho com intensidade de carga variável. Oferece um controle mais refinado: pequenas violações acionam pequenos ajustes, enquanto grandes violações acionam ajustes maiores. |
|
Regra de dimensionamento simples |
Adiciona ou remove um número fixo de instâncias sempre que o alarme é disparado |
Cargas de trabalho previsíveis e de baixa volatilidade. É simples de configurar, mas menos responsiva a picos de carga. |
Recomendação: Comece com uma regra de dimensionamento por rastreamento de destino. Ela exige menos configuração e se ajusta automaticamente conforme a carga muda. Use o dimensionamento em etapas quando precisar de controle preciso sobre o tamanho do ajuste em diferentes intervalos de métricas.
Rastreamento de destino: métricas que não funcionam bem
O rastreamento de destino funciona melhor quando a métrica selecionada muda proporcionalmente conforme o número de instâncias muda. Evite usar as seguintes métricas com o rastreamento de destino:
Contagem de requisições do balanceador de carga: O número total de requisições recebidas por uma instância do Server Load Balancer (SLB) não diminui à medida que mais instâncias são adicionadas. Na verdade, ele aumenta, pois mais capacidade lida com mais requisições.
Latência de requisição: A latência pode aumentar sob carga, mas não muda proporcionalmente quando você adiciona instâncias, o que a torna pouco confiável como métrica de rastreamento de destino.
Para essas métricas, use uma regra de dimensionamento em etapas ou uma regra de dimensionamento simples.
Dimensionamento em etapas: como calcular os ajustes
Uma regra de dimensionamento em etapas divide o intervalo da métrica acima ou abaixo do limiar em faixas, e cada faixa corresponde a um ajuste específico.
Por exemplo, se o limiar de utilização de CPU for de 60% e o seu grupo de dimensionamento tiver atualmente 10 instâncias:
CPU em 65% (5% acima do limiar): adicione 1 instância → 11 instâncias
CPU em 75% (15% acima do limiar): adicione 3 instâncias → 13 instâncias
CPU em 85% (25% acima do limiar): adicione 5 instâncias → 15 instâncias
O ajuste para cada etapa é definido quando você cria a regra de dimensionamento. Os resultados decimais são arredondados para baixo.
Pré-requisitos
Antes de começar, certifique-se de ter:
Um grupo de dimensionamento no estado Ativo
Pelo menos uma regra de dimensionamento criada no grupo de dimensionamento
(Para monitoramento personalizado) Métricas personalizadas já reportadas ao Cloud Monitor
Crie uma tarefa acionada por eventos
Crie uma tarefa de monitoramento do sistema
Acesse o console do Auto Scaling.
No painel de navegação à esquerda, escolha Tarefas de dimensionamento > Tarefas acionadas por eventos.
Na barra de navegação superior, selecione a região onde o seu grupo de dimensionamento está localizado.
Clique na guia Tarefas acionadas por eventos (Sistema) e, em seguida, clique em Criar tarefa acionada por eventos.
Configure os parâmetros da tarefa.
|
Parâmetro |
Descrição |
|
Nome da tarefa |
Um nome que identifica esta tarefa. Use um nome descritivo que reflita a métrica e a ação, por exemplo |
|
Recurso monitorado |
Selecione o grupo de dimensionamento a ser monitorado. |
|
Tipo de monitoramento |
Defina como Monitoramento do sistema. |
|
Métrica de monitoramento |
Selecione a métrica a ser monitorada, como Utilização de CPU (%). |
|
Período estatístico |
O intervalo no qual os dados da métrica são agregados antes da verificação do limiar. Um período mais curto (1 minuto) detecta picos mais rapidamente, mas pode causar dimensionamentos mais frequentes. |
|
Condição |
O limiar e o operador de comparação que acionam o alarme. Por exemplo: maior ou igual a 80%. |
|
Acionar após |
O número de períodos estatísticos consecutivos em que a condição deve ser atendida antes que o alarme seja disparado. Aumente este valor para filtrar picos de curta duração. |
|
Período de vigência |
Restringe quando a tarefa pode ser executada. Defina um intervalo de tempo ou uma expressão cron. Deixe em branco para permitir a execução a qualquer momento. |
|
Regra de acionamento |
A regra de dimensionamento a ser executada quando o alarme for disparado. |
Clique em OK.
Crie uma tarefa de monitoramento personalizado
Siga as etapas 1 a 3 acima, clique na guia Tarefas acionadas por eventos (Personalizado) e clique em Criar tarefa acionada por eventos. Além dos parâmetros acima, especifique:
|
Parâmetro |
Descrição |
|
Grupo de aplicações |
O grupo de aplicações do Cloud Monitor que contém suas métricas personalizadas. |
|
Métrica de monitoramento |
Selecione a métrica personalizada a ser monitorada. |
Quando várias tarefas acionadas por eventos são disparadas simultaneamente
Um grupo de dimensionamento pode ter várias tarefas acionadas por eventos. Quando mais de um alarme é disparado ao mesmo tempo:
Scale-out: Se qualquer alarme de scale-out for disparado, o sistema executa uma ação de scale-out.
Scale-in: O sistema executa uma ação de scale-in somente quando todos os alarmes de scale-in são atendidos simultaneamente.
Configure sempre as tarefas acionadas por eventos em pares (uma para scale-out e outra para scale-in) para garantir que o seu grupo de dimensionamento possa expandir e reduzir automaticamente.
Notas de uso
Período de cooldown: Após a execução de uma regra de dimensionamento, o grupo de dimensionamento entra em um período de cooldown. Nenhuma nova atividade de dimensionamento é iniciada durante esse período. Se um alarme for disparado durante o cooldown, o Auto Scaling reavalia o alarme após o término do cooldown. Defina o período de cooldown no grupo de dimensionamento ou na regra de dimensionamento com base no tempo que suas instâncias levam para ficar íntegras e começar a atender o tráfego.
Período de vigência e expressões cron: As expressões cron usam UTC+0. Se a sua equipe trabalha no fuso UTC+8, subtraia 8 horas da janela de tempo desejada. Por exemplo, para restringir o dimensionamento ao horário das 09:00 às 18:00 no horário de Pequim, defina a expressão cron como
1-10.Estado do alarme versus execução: Um alarme pode ser disparado e colocar a tarefa no estado Alerta sem executar a regra de dimensionamento. Isso ocorre, por exemplo, quando o alarme é disparado fora do período de vigência ou quando o grupo de dimensionamento está em cooldown.
Tarefas de rastreamento de destino não podem ser modificadas manualmente: Se uma tarefa acionada por eventos usar uma regra de dimensionamento por rastreamento de destino, você não poderá editar as configurações básicas da tarefa após a criação. Exclua e recrie a tarefa para alterar sua configuração.
Práticas recomendadas
Emparelhe tarefas de scale-out e scale-in
Crie sempre uma tarefa de scale-in correspondente para cada tarefa de scale-out. Sem uma tarefa de scale-in, o seu grupo de dimensionamento expande sob carga, mas nunca reduz, deixando instâncias ociosas em execução.
Use o período estatístico para filtrar ruídos
Períodos estatísticos curtos (1 minuto) detectam picos rapidamente, mas podem acionar o dimensionamento para rajadas de carga transitórias. Para cargas de trabalho com picos ocasionais de CPU que se resolvem em poucos minutos, use um período estatístico mais longo (5 minutos) e defina Acionar após para 3 ou mais períodos consecutivos, a fim de confirmar uma carga sustentada.
Configure notificações de falha
Configure as notificações de alerta do Cloud Monitor para receber um aviso caso uma tarefa acionada por eventos falhe ao executar (por exemplo, devido a um grupo de dimensionamento em cooldown ou na capacidade máxima). Direcione as notificações para e-mail, SMS ou webhook para que sua equipe possa responder antes que a carga exceda a capacidade.
Não dependa apenas de tarefas acionadas por eventos para picos previsíveis
As tarefas acionadas por eventos reagem à carga que já chegou. Para padrões de tráfego que você pode prever com antecedência (como uma campanha de marketing ou um job em lote noturno), adicione uma tarefa agendada para pré-dimensionar antes do pico. Use tarefas acionadas por eventos junto com tarefas agendadas para obter uma cobertura completa.