Escalabilidade na Prática: Como Configurar Auto Scaling e Load Balancer na AWS

Auto-scaling-load-balancer

Escalabilidade na Prática: Como Configurar Auto Scaling e Load Balancer na AWS

A escalabilidade automática é um dos maiores atrativos da computação em nuvem — e com a AWS (Amazon Web Services), isso se torna ainda mais acessível, flexível e eficiente. Neste guia prático, você vai aprender como configurar o Auto Scaling e o Elastic Load Balancer (ELB) com base em uma demonstração técnica apresentada por Leandro Porciuncula, durante uma live da Cloud Treinamentos.

Prepare-se para entender, na prática, como garantir alta disponibilidade, otimização de custos e resiliência para suas aplicações em nuvem. Vamos explorar cada componente, seu funcionamento e os passos para implementar essa arquitetura.

O que é o Auto Scaling da AWS?

O Auto Scaling é um serviço da AWS que ajusta automaticamente a quantidade de instâncias EC2 com base em métricas como uso de CPU, memória ou throughput de rede. Com ele, sua aplicação pode crescer (ou encolher) de forma inteligente conforme a demanda, mantendo o desempenho e controlando os custos.

  • Alta disponibilidade: sua aplicação permanece online mesmo em momentos de pico.
  • Redução de custos: paga apenas pelo que usar.
  • Resposta automatizada a variações de carga.
  • Resiliência contra falhas de instância.

O que é o Elastic Load Balancer (ELB)?

O Elastic Load Balancer (ELB) é o serviço responsável por distribuir automaticamente o tráfego de entrada entre suas instâncias EC2 em uma ou mais zonas de disponibilidade.

Tipos principais:

  • Application Load Balancer (ALB) – ideal para HTTP/HTTPS.
  • Network Load Balancer (NLB) – otimizado para baixa latência.
  • Gateway Load Balancer (GLB) – voltado para appliances virtuais.

Para este tutorial, utilizamos o ALB, o mais indicado para aplicações web modernas.

Arquitetura da Solução

A arquitetura demonstrada envolve:

  • Um Application Load Balancer distribuindo requisições.
  • Um Auto Scaling Group que escala instâncias com base em uso de CPU.
  • Uma aplicação PHP simples que mostra o ID da instância EC2.

Passo a Passo: Auto Scaling com Load Balancer na AWS

1. Criar uma Instância EC2

AMI: Ubuntu 24.04
Tipo: t2.micro

Instale o Apache e PHP:

sudo apt update
sudo apt install apache2 php -y
sudo systemctl start apache2
sudo systemctl enable apache2

2. Subir Aplicação para o S3

Crie um arquivo index.php com o conteúdo:

<?php echo "AutoScaling Cloud Treinamentos - ID: " . gethostname(); ?>

Suba o arquivo:

aws s3 cp s3://seu-bucket/index.php /var/www/html/index.php

3. Instalar o AWS CLI

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version

4. Criar o Load Balancer (ALB)

  • Acesse: EC2 > Load Balancers > Create Load Balancer
  • Tipo: Application Load Balancer
  • Modo: Internet-facing
  • Crie o Target Group com instâncias EC2

5. Criar o Auto Scaling Group

  • Crie um Launch Template baseado na EC2 já configurada.
  • Configure o grupo com:
    • Mínimo: 1 instância
    • Máximo: 3 instâncias
    • Política: CPU > 70% para escalar para cima

6. Testar Auto Scaling

Simule carga com Apache Benchmark:

ab -n 1000 -c 100 http://seu-load-balancer.amazonaws.com/

Monitore a escalabilidade com o Amazon CloudWatch.

7. Otimizando Custos com Saving Plans

Combine:

  • Saving Plans: ideais para uso constante.
  • Spot Instances: para cargas temporárias e tolerantes a falhas.

Casos de Uso do Mundo Real

Essa configuração é ideal para e-commerces, aplicativos móveis, APIs públicas ou landing pages com variação de tráfego. Imagine um site que recebe picos de visitas em dias de campanha: o Auto Scaling permite que a aplicação mantenha a performance sem precisar pagar por infraestrutura ociosa nos dias normais.

Boas Práticas Recomendadas

  • Use scripts de inicialização no Launch Template para padronizar o setup.
  • Configure health checks no Target Group para garantir integridade.
  • Monitore com Amazon CloudWatch e defina alarmes estratégicos.
  • Proteja com WAF + CloudFront para mitigar ataques e acelerar o acesso.
  • Utilize múltiplas zonas de disponibilidade no Auto Scaling Group.

Links Úteis e Materiais Recomendados

🚀 Participe da Mentoria Arquiteto AWS PRO

Quer dominar esses conceitos e ir além, com projetos reais, prática guiada e preparação de alto nível?

Leandro Porciuncula te acompanha passo a passo na Mentoria Arquiteto AWS PRO:

  • Treinamento completo (do zero à certificação)
  • Projetos reais em parceria com a UpperStack
  • Acompanhamento individual
  • Networking com especialistas

👉 Garanta sua vaga agora

Compartilhe:

Postes Relacionados