O Auto Scaling ajusta os recursos de computação conforme suas políticas para lidar com flutuações de tráfego e reduzir custos. Para cargas de trabalho imprevisíveis, use tarefas acionadas por eventos para monitorar métricas como utilização de CPU e adicionar ou remover instâncias ECS automaticamente ao atingir determinados limiares.
Cenários
Descrição do cenário
A demanda do service flutua de forma imprevisível, dificultando a definição antecipada da quantidade necessária de servidores.
Por exemplo, um site de notícias enfrenta tráfego variável. Quando uma notícia popular é publicada, o tráfego aumenta drasticamente. Depois que a notícia deixa de ser atual, o tráfego diminui.
Solução
Use tarefas acionadas por eventos com o CloudMonitor para executar regras de dimensionamento quando as métricas de monitoramento atenderem às condições especificadas, dimensionando servidores automaticamente conforme a carga de trabalho.
Benefícios
-
Custo zero com servidores em espera
O Auto Scaling cria e libera instâncias ECS sob demanda, eliminando a necessidade de servidores ociosos. Você mantém apenas os recursos de computação necessários para o tráfego diário.
-
Dimensionamento automático
O CloudMonitor rastreia alterações de carga em tempo real, permitindo o dimensionamento automático que atende às demandas do negócio e reduz custos com recursos e O&M.
Pré-requisitos
Na primeira vez que utilizar o Auto Scaling, conclua a autorização de usuários do Resource Access Management (RAM).
A função vinculada ao service AliyunServiceRoleForAutoScaling deve estar criada. Para mais informações, consulte Service-linked roles.
Caso utilize o Auto Scaling como um usuário RAM, esse usuário deve ter a política AliyunESSFullAccess concedida. Para mais informações, consulte Grant permissions to a RAM user.
Etapa 1: Criar um grupo de dimensionamento
Um grupo de dimensionamento é um conjunto de instâncias que atendem aos seus requisitos de negócio e funciona como a unidade central do Auto Scaling. O Auto Scaling ajusta a quantidade de instâncias nos grupos de dimensionamento adicionando-as ou removendo-as conforme necessário.
-
Acesse a página Scaling Groups.
Faça login no Auto Scaling console.
No painel de navegação à esquerda, clique em Scaling Groups.
Na barra de navegação superior, selecione a região onde o Auto Scaling está ativado.
No canto superior esquerdo da página Scaling Groups, clique em Create.
-
Na aba Create by Form, configure o grupo de dimensionamento e clique em Create.
A tabela a seguir descreve as configurações de parâmetros utilizadas neste tópico. Os parâmetros não mencionados mantêm suas configurações padrão. Para obter informações sobre como criar um grupo de dimensionamento, consulte Create scaling groups.
Parâmetro
Exemplo
Descrição
Scaling Group Name
test
Insira um nome para o grupo de dimensionamento. O nome deve atender aos requisitos de formato exibidos na interface.
Type
ECS
Selecione ECS, indicando que o grupo de dimensionamento contém instâncias ECS.
Instance Configuration Source
Create from Scratch
Não especifique o modelo para criação automática de instâncias ECS nesta etapa. Após criar o grupo de dimensionamento, prossiga para criar uma configuração de dimensionamento.
Minimum Number of Instances
1
Especifique o número mínimo de instâncias no grupo de dimensionamento. Se a quantidade de instâncias cair abaixo desse valor, o Auto Scaling adicionará instâncias ECS até atingir o mínimo desejado.
Maximum Number of Instances
5
Defina o número máximo de instâncias no grupo de dimensionamento. Caso a quantidade exceda esse valor, o Auto Scaling removerá instâncias ECS até ficar abaixo do limite especificado.
VPC
vpc-bp1jmxxau0lur929p****
Escolha uma VPC para as instâncias ECS do grupo de dimensionamento.
vSwitch
vsw-2zeknnyw2ewufbs4z****
vsw-2zesy03h8eaf9fe0l****
Selecione um ou mais vSwitches para as instâncias ECS no grupo de dimensionamento. Recomendamos escolher vários vSwitches para aumentar a taxa de sucesso dos eventos de expansão.
Etapa 2: Criar uma configuração de dimensionamento e ativar a configuração e o grupo de dimensionamento
Uma configuração de dimensionamento é um modelo usado para criar instâncias ECS durante eventos de expansão. Ela inclui informações como método de faturamento, tipo de instância, armazenamento e configurações de rede. Após criar uma configuração de dimensionamento, ative-a e, em seguida, ative o grupo de dimensionamento.
-
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.
No topo da página, clique na aba Scaling Configurations.
Na aba Scaling Configurations, clique em Create Scaling Configuration.
-
Na página Create Scaling Configuration, configure os parâmetros para criar uma configuração de dimensionamento e clique em Create.
A tabela a seguir descreve as configurações de parâmetros utilizadas neste tópico. Parâmetros não abordados mantêm seus valores padrão. Para mais detalhes sobre como criar uma configuração de dimensionamento, consulte Create a scaling configuration (ECS instance).
Seção
Parâmetro
Exemplo
Descrição
Basic Information
Scaling Configuration Name
test
Insira um nome para a configuração de dimensionamento. O nome deve obedecer aos requisitos de formato exibidos na interface.
Billing Method
Defina o valor como Pay-as-you-go.
O Auto Scaling é gratuito. No entanto, há cobrança pelas instâncias ECS criadas durante eventos de expansão. Neste exemplo, utiliza-se o método de faturamento pagamento conforme o uso. Para mais informações, consulte Billing overview do ECS.
Image and Instance
Instance Configuration Mode
Specify Instance Pattern
Selecione Specify Instance Pattern para escolher as especificações das instâncias ECS.
Instance Attribute Combination
2 vCPUs, 4 GiB Memory, Enterprise Level
Escolha o número adequado de vCPUs e tamanho de memória para as instâncias ECS com base nos requisitos do seu negócio.
Select Image
Public Image: Alibaba Cloud Linux 3.2104 LTS 64-bit
Selecione uma imagem para implantar instâncias ECS. Este exemplo usa uma imagem pública. Em cenários reais, escolha uma imagem personalizada específica para sua aplicação.
Storage
System Disk
Enterprise SSD (ESSD), 40 GiB, PL0
Escolha um disco de sistema para as instâncias ECS.
Network and Security Group
Public IP Address
Assign Public IPv4 Address, Pay-by-bandwidth e largura de banda de 1 Mbit/s
Especifique se deseja atribuir endereços IP públicos às instâncias ECS. A largura de banda pública de saída é cobrada separadamente e as taxas estão incluídas nos custos da instância ECS.
Security Group
sg-bp18kz60mefsicfg****
Selecione um grupo de segurança existente. Para informações sobre como criar um grupo de segurança, consulte Create a security group.
Management Settings
Logon Credentials
Set Later
Selecione Set Later para configurar manualmente as senhas das instâncias ECS após a criação.
Na caixa de diálogo Preview Scaling Configuration, confirme as informações e clique em Create Order.
Na mensagem The scaling configuration is created., clique em Enable.
-
Na caixa de diálogo Apply Scaling Configuration, clique em OK.
NotaEm um grupo de dimensionamento, é obrigatório ativar uma configuração de dimensionamento. Após a ativação, a configuração entra no estado Active.
-
Na mensagem Enable Scaling Group, clique em OK.
O grupo de dimensionamento precisa estar ativado para permitir que o Auto Scaling dimensione as instâncias automaticamente conforme os requisitos do negócio.
Neste exemplo, o parâmetro Minimum Number of Instances está definido como 1. Ao ativar o grupo de dimensionamento, o Auto Scaling cria automaticamente uma instância ECS a partir da configuração de dimensionamento ativada. Acesse a aba Instances na página de detalhes do grupo de dimensionamento e verifique as informações da instância na aba Auto Created.
Etapa 3: Criar regras de dimensionamento
Uma regra de dimensionamento define a ação específica a ser executada durante um evento de dimensionamento, como a quantidade de instâncias a adicionar ou remover.
Na página de detalhes do grupo de dimensionamento, clique na aba Scaling Rules and Event-triggered Tasks. Em seguida, clique na aba Scaling Rules.
-
Clique em Create Scaling Rule, configure os parâmetros para criar a regra de dimensionamento e clique em OK.
Neste exemplo, são criadas regras de dimensionamento simples. Para mais informações sobre como criar uma regra de dimensionamento, consulte Configure scaling rules.
Parâmetro
Descrição
Rule Name
Insira um nome para a regra de dimensionamento. O nome deve atender aos requisitos de formato exibidos na interface.
Rule Type
Especifique o tipo da regra de dimensionamento. Neste exemplo, selecione Simple Scaling Rule. Para mais informações sobre regras de dimensionamento, consulte Scaling rules.
Operation
Defina o número de instâncias a adicionar ou remover quando a regra for executada. A quantidade de instâncias adicionadas ou removidas em cada evento não pode exceder 1.000.
Cooldown Time
Opcional. Especifique o período de resfriamento da regra de dimensionamento. Unidade: segundos. Se este parâmetro não for configurado, o período de resfriamento do grupo de dimensionamento entrará em vigor. Para mais informações, consulte Cooldown Period.
Repita esta etapa para criar regras de expansão e redução. A tabela a seguir descreve as configurações usadas neste exemplo.
Regra de dimensionamento
Exemplo
Regra de expansão
Rule Name: add
Rule Type: Simple Scaling Rule
Operation: Add 1 Instance
Regra de redução
Rule Name: remove
Rule Type: Simple Scaling Rule
Operation: Remove 1 Instance.
Etapa 4: Criar uma tarefa acionada por eventos
Uma tarefa acionada por eventos monitora métricas em tempo real. Quando as estatísticas atendem às condições especificadas, um alerta é disparado e uma regra de dimensionamento é executada.
Na página de detalhes do grupo de dimensionamento, clique na aba Scaling Rules and Event-triggered Tasks e, em seguida, na aba Event-triggered Task.
-
Na aba Event-triggered Tasks (System), clique em Create Event-Triggered Task, configure a tarefa e clique em OK.
NotaEste tópico utiliza métricas de sistema. Também é possível relatar métricas de negócio personalizadas para criar tarefas acionadas por eventos. Overview of event-triggered tasks.
As principais configurações estão descritas abaixo. Mantenha as configurações padrão para itens não mencionados. Configure an event-triggered task.
Item de Configuração
Descrição
Name
Insira um nome para a tarefa. Os requisitos de formato são exibidos no console.
Alert Condition
Selecione uma ou mais métricas definidas pelo sistema como condições de alerta. Para adicionar métricas, clique em Add Metric.
Itens de configuração:
Metric: Uma métrica de monitoramento do sistema. Por exemplo, (ECS) CPU Utilization monitora a utilização de CPU das instâncias ECS no grupo de dimensionamento.
Statistical Method: Determina se a métrica excede o limiar com base no valor médio, máximo ou mínimo. Por exemplo, Average >= 70% dispara um alerta quando a utilização média de CPU no grupo de dimensionamento atinge 70% ou mais.
Regra de resposta ao alerta
Selecione a regra de dimensionamento a ser executada após o disparo do alerta.
Repita esta etapa para criar tarefas acionadas por eventos tanto para as regras de expansão quanto para as de redução. Configurações de exemplo:
Tarefa Acionada por Eventos
Configuração de Exemplo
Expansão acionada por alerta
Name: alarm-add
Alert Condition: (ECS) CPU Utilization > Average > 70%
Rule to Execute: add
Redução acionada por alerta
Name: alarm-remove
Alert Condition: (ECS) CPU Utilization > Average < 20%
Post-alarm action: remove
Verificar o efeito do dimensionamento automático
Após a criação das tarefas acionadas por eventos, o sistema monitora as métricas em tempo real e inicia atividades de dimensionamento quando as condições são atendidas.
Resultados esperados:
Quando a utilização de CPU das instâncias ECS no grupo de dimensionamento for superior a 70%, uma instância ECS é adicionada automaticamente.
Quando a utilização de CPU das instâncias ECS no grupo de dimensionamento for inferior a 20%, uma instância ECS é removida automaticamente.
Utilize uma ferramenta de teste de estresse para verificar os resultados:
Enquanto uma tarefa acionada por eventos estiver em execução, acesse a página de detalhes do grupo de dimensionamento. Clique na aba Instances e depois na aba Auto Created para observar as alterações na contagem de instâncias.
Após a conclusão de uma tarefa acionada por eventos, acesse a página de detalhes do grupo de dimensionamento. Na aba Scaling Activities, verifique se a atividade de dimensionamento foi executada conforme esperado. Clique no ID da atividade para ver os detalhes.