Combine instâncias do Elastic Compute Service (ECS) de pagamento conforme o uso e spot para lidar automaticamente com picos de tráfego previsíveis, sem pagar por capacidade ociosa fora dos horários de pico.
Casos de uso
Essa abordagem é ideal para aplicações com as seguintes características:
Implantadas em um cluster com mais de um servidor
Tolerantes a falhas o suficiente para continuar em execução caso uma instância seja interrompida (por exemplo, um serviço de teste em uma instância spot)
Sujeitas a padrões de tráfego previsíveis, como um pico diário entre 17:00 e 22:00
Exemplo: Uma plataforma de educação online apresenta aumento de tráfego todas as noites, das 17:00 às 22:00. Sem dimensionamento automatizado, os engenheiros de operações e manutenção precisam superprovisionar a capacidade, que fica ociosa durante o dia, ou adicionar instâncias manualmente às pressas quando o tráfego aumenta.
Como funciona
A solução utiliza três níveis de recursos em conjunto:
Instâncias ECS por assinatura lidam com o tráfego base estável. Marque-as como Protegidas para evitar remoção durante eventos de redução de escala.
As Scheduled tasks adicionam instâncias antes do horário de pico e as liberam quando o tráfego diminui.
A Cost Optimization Policy atende à demanda do horário de pico combinando instâncias de pagamento conforme o uso e spot. Instâncias spot podem custar até 90% menos que o preço sob demanda. O Auto Scaling tenta provisionar novas instâncias spot de menor custo cinco minutos antes da liberação programada das existentes, mantendo a continuidade do serviço.
O Auto Scaling também mantém o balanceador de carga e o banco de dados sincronizados: ao adicionar novas instâncias, o sistema registra automaticamente seus endereços IP privados no grupo de servidores de backend da instância do Server Load Balancer (SLB) associada e os adiciona à lista de permissões de endereços IP da instância do ApsaraDB RDS associada.
Pré-requisitos
Antes de começar, certifique-se de ter:
Uma imagem personalizada criada a partir da instância ECS que executa sua aplicação. Para obter instruções, consulte Criar uma imagem personalizada a partir de uma instância
Uma Virtual Private Cloud (VPC) e pelo menos um vSwitch na região de destino
Etapa 1: Crie instâncias ECS por assinatura
Provisione um número fixo de instâncias ECS por assinatura a partir da imagem personalizada. Essas instâncias formam a capacidade base sempre disponível.
Acesse o console do ECS.
Acesse o console do ECS.
No painel de navegação à esquerda, escolha Instances & Images > Images.
Na barra de navegação superior, selecione a região e o grupo de recursos.

Localize a imagem personalizada e clique em Create Instance na coluna Actions.
-
Configure a instância: Para todos os outros parâmetros, consulte Criar uma instância na aba Custom Launch.
Defina o Billing Type como Subscription.
Os campos Region e Image já vêm preenchidos automaticamente.
Etapa 2: Crie e ative um grupo de dimensionamento
Crie um grupo de dimensionamento com a Cost Optimization Policy para que o Auto Scaling combine automaticamente instâncias de pagamento conforme o uso e spot, minimizando custos.
Acesse o console do Auto Scaling.
No painel de navegação à esquerda, clique em Scaling Groups.
Na barra de navegação superior, selecione uma região.
-
Clique em Create e configure os seguintes parâmetros:
Parâmetro
Valor
Observações
Scaling Group Name
testname(exemplo)Use um nome que identifique sua aplicação
Instance Configuration Source
Create from Scratch
Minimum Number of Instances
0
Maximum Number of Instances
10
Ajuste conforme a demanda de pico
Default Cooldown Time (Seconds)
300
Network Type
VPC
Scaling Policy
Cost Optimization Policy (recomendado)
Prioriza os tipos de instância de menor custo para cada evento de expansão
— Minimum Pay-as-you-go Instances
0
— Percentage of Pay-as-you-go Instances
30
Garante capacidade estável mesmo quando a oferta de instâncias spot é limitada
— Lowest Cost Instance Types
3
O Auto Scaling seleciona os 3 tipos de instância mais baratos por preço unitário de vCPU
— Enable Supplemental Spot Instances
ON
Substitui instâncias spot prestes a serem recuperadas com 5 minutos de antecedência
— Use Pay-as-you-go Instances to Supplement Spot Capacity
ON (padrão)
Recorre a instâncias de pagamento conforme o uso se não houver capacidade spot disponível
Instance Reclaim Mode
Release
Selecione a VPC e um ou mais vSwitches. Configure Associate CLB Instance, Associate ALB and NLB Server Groups e Associate ApsaraDB RDS Instance se sua aplicação utilizar esses serviços.
Clique em Details do novo grupo de dimensionamento.
-
Na aba Instance Configuration Sources, clique em Create Scaling Configuration e configure: Para todos os outros parâmetros, consulte Criar uma configuração de dimensionamento do tipo ECS.
Defina o Billing Method como Spot Instance.
Selecione os tipos de instância em Select Instance Type. Escolha pelo menos três tipos; selecionar uma variedade maior reduz o risco de interrupções simultâneas de instâncias spot, pois cada tipo provém de um pool de capacidade separado.
Selecione a imagem personalizada em Select Image.
Ative a configuração de dimensionamento e o grupo de dimensionamento.
Etapa 3: Adicionar instâncias por assinatura e configurar o dimensionamento agendado
Adicione as instâncias ECS por assinatura ao grupo de dimensionamento, proteja-as contra eventos de redução de escala e crie duas tarefas agendadas para acionar a expansão e a redução nos momentos adequados.
Na aba Instances, adicione as instâncias ECS por assinatura ao grupo de dimensionamento.
Defina cada instância por assinatura com o estado Protected para impedir que tarefas agendadas de redução de escala as removam.
-
Na aba Basic Information, atualize as contagens mínima e máxima de instâncias, se necessário.
-
Escolha Scaling Rules and Event-triggered Tasks > Scaling Rules e crie duas regras de dimensionamento simples: Para todos os outros parâmetros, consulte Configurar regras de dimensionamento.
Regra
Tipo de regra
Operação
Regra de Dimensionamento Simples 1
Simple Scaling Rule
Adicionar 5 instâncias ECS
Regra de Dimensionamento Simples 2
Simple Scaling Rule
Remover 5 instâncias ECS
-
Escolha Scaling Rules and Event-triggered Tasks > Scheduled Tasks e crie duas tarefas agendadas: Para todos os outros parâmetros, consulte Configurar uma tarefa agendada.
Tarefa
Executada em
Método de dimensionamento
Regra de dimensionamento
Tarefa Agendada 1
20 de nov. de 2024, 16:59
Select Existing Scaling Rule
Regra de Dimensionamento Simples 1 (expansão)
Tarefa Agendada 2
20 de nov. de 2024, 21:59
Select Existing Scaling Rule
Regra de Dimensionamento Simples 2 (redução)
Verifique o resultado
Acesse a aba Scaling Activities para verificar os detalhes da atividade de dimensionamento e confirme se o número esperado de instâncias ECS foi adicionado ou removido. Para obter instruções, consulte Visualize os detalhes de uma atividade de dimensionamento.
Após a execução das tarefas, verifique o seguinte:
As instâncias por assinatura permanecem Protegidas. Elas não são removidas durante a redução de escala, mantendo a capacidade base intacta. O status e o peso no grupo de servidores de backend do balanceador de carga permanecem inalterados.
As instâncias foram adicionadas antes do pico. Os logs de atividade de dimensionamento mostram que as instâncias foram provisionadas às 16:59 ou antes, com a Cost Optimization Policy selecionando a combinação de menor custo entre instâncias spot e de pagamento conforme o uso.
As instâncias foram liberadas após o pico. Os logs de atividade de dimensionamento indicam que as instâncias excedentes foram removidas às 21:59 ou depois.
Próximos passos
Para responder a picos de tráfego inesperados além da expansão agendada, adicione regras de dimensionamento acionadas por eventos (baseadas em alarmes). As tarefas agendadas e baseadas em alarmes funcionam de forma independente, permitindo que as regras de alarme adicionem mais capacidade caso o tráfego exceda o provisionamento agendado.
Para reduzir ainda mais os custos, revise a diversidade de tipos de instância na configuração de dimensionamento. Uma seleção mais ampla oferece ao Auto Scaling mais opções de baixo custo para escolher durante cada evento de expansão.