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
- Melhores Práticas AWS para Infraestrutura de TI
- Dia a Dia de um Arquiteto de Soluções AWS
- Documentação Auto Scaling
- Documentação Elastic Load Balancing
🚀 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