Este tópico descreve o fluxo de trabalho do Auto Scaling, aborda a configuração de modos de dimensionamento e apresenta diagramas dos principais processos.
Os grupos de dimensionamento funcionam da mesma maneira tanto para instâncias do Elastic Container Instance (ECI) quanto para instâncias do Elastic Compute Service (ECS). Este tópico utiliza instâncias ECS em um grupo de dimensionamento como exemplo para explicar o funcionamento do Auto Scaling. Para mais informações sobre instâncias ECS e ECI, consulte What is Elastic Compute Service (ECS)? e What is Elastic Container Instance (ECI)?.
Fluxo de trabalho
O fluxo abaixo ilustra como o Auto Scaling adiciona instâncias ECS:
Em uma aplicação web típica de três camadas que processa requisições com instâncias ECS, a camada superior é uma instância do Server Load Balancer (SLB), responsável por encaminhar as requisições dos clientes para as instâncias ECS no grupo de dimensionamento. A camada intermediária consiste nas instâncias ECS do grupo de dimensionamento que processam essas requisições. A camada inferior é um banco de dados ApsaraDB RDS que armazena os dados da aplicação provenientes das instâncias ECS.
O Auto Scaling ajusta a quantidade de instâncias ECS na camada intermediária para atender à carga da sua aplicação. O processo ocorre da seguinte forma:
-
O Auto Scaling inicia uma atividade de dimensionamento quando as condições de um modo configurado são atendidas. A tabela a seguir descreve os modos de dimensionamento disponíveis. Para detalhes sobre como configurá-los, consulte Configure scaling modes.
Combine vários modos de dimensionamento para execução paralela. Por exemplo, se sua aplicação apresenta um pico de tráfego previsível às 12:00 todos os dias, crie uma tarefa agendada para adicionar 20 instâncias ECS nesse horário. Caso esse número fixo nem sempre seja suficiente, combine o modo agendado com outros modos, como o dinâmico ou o personalizado, para lidar com demandas inesperadas.
Modo de dimensionamento
Descrição
Documentação do console
Operações de API
modo de quantidade fixa
Ao definir um Minimum number of instances, o Auto Scaling adiciona instâncias se a contagem ficar abaixo desse valor, até atingir o mínimo definido.
Ao definir um Maximum number of instances, o Auto Scaling remove instâncias se a contagem exceder esse valor, até reduzir o total ao máximo permitido.
Se você especificar um Expected number of instances durante a criação do grupo de dimensionamento, o Auto Scaling manterá exatamente essa quantidade de instâncias.
modo de integridade
Ao ativar a verificação de integridade no grupo de dimensionamento, o Auto Scaling verifica periodicamente o status das instâncias ECS. Instâncias fora do estado Running são consideradas não íntegras e removidas.
NotaO grupo de dimensionamento possui uma verificação de integridade integrada. Se ele também estiver associado a uma instância do Server Load Balancer (SLB), como Classic Load Balancer (CLB) ou Application Load Balancer (ALB), e essa instância tiver verificações de integridade configuradas, ambos os conjuntos de verificações serão executados simultaneamente.
modo agendado
Crie uma tarefa agendada para executar uma regra de dimensionamento específica em um horário predefinido.
modo personalizado
Inclui a execução manual de regras de dimensionamento, além da adição, remoção ou exclusão de instâncias ECS existentes.
modo dinâmico
Crie uma tarefa acionada por eventos com base em métricas de desempenho do CloudMonitor, como utilização de CPU. Quando uma métrica atinge a condição de alerta — por exemplo, a utilização média de CPU de todas as instâncias ECS no grupo ultrapassa 60% —, um alerta é disparado e o Auto Scaling executa a ação de dimensionamento correspondente.
-
O Auto Scaling executa a atividade de dimensionamento chamando a operação de API
ExecuteScalingRule. Especifique o identificador exclusivo da regra de dimensionamento na chamada. Exemplo:ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****.No console do Auto Scaling, localize o identificador após criar uma regra de dimensionamento. Na lista de regras, clique em ID da regra (por exemplo, asr-bp14u7kzh8442w9z****) na coluna Scaling Rule ID/Name. O identificador será exibido na página aberta. Para mais informações sobre como criar uma regra de dimensionamento, consulte Configure scaling rules.
Via API, chame a operação DescribeScalingRules para obter o identificador exclusivo de uma regra de dimensionamento (ScalingRuleAri). Esse identificador está incluído na resposta.
-
Com o identificador exclusivo da regra de dimensionamento (ou ScalingRuleAri) obtido na etapa anterior, o Auto Scaling recupera informações sobre a regra, o grupo de dimensionamento e a configuração de dimensionamento para criar uma atividade de dimensionamento.
O Auto Scaling usa o identificador exclusivo da regra (ou ScalingRuleAri) para consultar a regra e seu grupo de dimensionamento associado. Isso determina quantas instâncias ECS adicionar e identifica as instâncias do Server Load Balancer (SLB) e do ApsaraDB RDS a serem configuradas.
O sistema consulta a configuração de dimensionamento associada ao grupo para obter os detalhes das novas instâncias ECS, como CPU, memória e largura de banda.
O sistema cria uma atividade de dimensionamento com base na quantidade de instâncias a adicionar, na configuração das instâncias e nas instâncias SLB e ApsaraDB RDS especificadas.
-
Durante a atividade de dimensionamento, o Auto Scaling cria as instâncias e configura as instâncias SLB e ApsaraDB RDS.
O sistema cria o número especificado de instâncias ECS conforme a configuração de dimensionamento.
O sistema adiciona os endereços IP privados das novas instâncias ECS à lista de permissões da instância ApsaraDB RDS especificada e adiciona as novas instâncias ECS à instância SLB indicada.
-
Após a conclusão da atividade de dimensionamento, inicia-se o período de resfriamento do grupo de dimensionamento.
O grupo de dimensionamento não executa novas regras de dimensionamento até que o período de resfriamento termine.
Configurar modos de dimensionamento
O Auto Scaling inicia atividades de dimensionamento para adicionar ou remover instâncias ECS de um grupo com base na sua configuração. Para utilizar um modo específico, configure os componentes correspondentes conforme descrito abaixo.
Modo de dimensionamento | Método de configuração | Descrição |
modo de quantidade fixa | grupo de dimensionamento + source de configuração de instância① | O efeito de dimensionamento deste modo depende das seguintes configurações do grupo:
|
modo de integridade | grupo de dimensionamento + source de configuração de instância① | Este modo exige a ativação da configuração Instance Health Check no grupo de dimensionamento. |
modo agendado | grupo de dimensionamento + source de configuração de instância + regra de dimensionamento + tarefa agendada② | O efeito de dimensionamento deste modo é determinado pela tarefa agendada. |
modo dinâmico | grupo de dimensionamento + source de configuração de instância + regra de dimensionamento + tarefa acionada por evento③ | O efeito de dimensionamento deste modo é determinado pela tarefa acionada por evento. |
modo personalizado | Qualquer configuração de modo de dimensionamento | Em qualquer modo de dimensionamento, adicione, remova ou exclua manualmente instâncias ECS existentes. Se houver regras de dimensionamento configuradas, execute-as manualmente. |
Modo múltiplo | Combinação de configurações de modos de dimensionamento | As configurações ativas dependem dos modos de dimensionamento escolhidos. Os modos operam independentemente e não possuem prioridade inerente. O grupo de dimensionamento executa a ação do primeiro modo acionado. Por exemplo, ao usar simultaneamente o modo agendado e o dinâmico, configure tanto uma tarefa agendada quanto uma tarefa acionada por evento. Se a condição da tarefa agendada for atendida antes da condição da tarefa acionada por evento, a tarefa agendada será executada primeiro. |
A tabela a seguir fornece mais detalhes sobre os métodos de configuração:
|
Nº |
Método de configuração |
Descrição |
|
① |
grupo de dimensionamento + source de configuração de instância |
Primeiro, crie um grupo de dimensionamento, configure uma source de configuração de instância para ele e ative ambos. O Auto Scaling só pode escalar horizontalmente ou verticalmente após a conclusão dessas etapas. Esta é a configuração mínima necessária. |
|
② |
grupo de dimensionamento + source de configuração de instância + regra de dimensionamento + tarefa agendada |
Além da configuração básica (①), crie uma regra de dimensionamento e, em seguida, uma tarefa agendada. O Auto Scaling usa a tarefa agendada para executar a regra de dimensionamento. |
|
③ |
grupo de dimensionamento + source de configuração de instância + regra de dimensionamento + tarefa acionada por evento |
Além da configuração básica (①), crie uma regra de dimensionamento e, em seguida, uma tarefa acionada por evento. O Auto Scaling usa a tarefa acionada por evento para executar a regra de dimensionamento. |
Diagramas do Auto Scaling
O Auto Scaling permite associar um grupo de dimensionamento a instâncias do Server Load Balancer (SLB) e do ApsaraDB RDS. Quando um endpoint, como um dispositivo móvel ou PC, envia uma requisição, a instância SLB a encaminha para uma instância ECS no grupo de dimensionamento. A instância ECS processa a requisição e armazena os dados da aplicação em uma instância do ApsaraDB RDS.
O Auto Scaling ajusta automaticamente o número de instâncias ECS no grupo de dimensionamento com base nas necessidades do negócio e na sua configuração. Os diagramas a seguir ilustram os fluxos de trabalho de scale-out, scale-in e recuperação elástica (verificação de integridade).
Figura 1. Fluxo de trabalho de scale-out 
Figura 2. Fluxo de trabalho de scale-in 
Figura 3. Fluxo de trabalho de recuperação elástica 