O susto da primeira fatura AWS
Existe um rito de passagem no mundo cloud: o desenvolvedor sobe sua primeira aplicação na AWS animado com a flexibilidade e a escalabilidade, e no fim do mês encontra uma fatura bem maior do que esperava.
Isso não acontece por mal-intenção da AWS — acontece porque o modelo de precificação tem dezenas de dimensões e a maioria das pessoas só considera o custo do servidor. Data transfer, requests de API, snapshots de banco, logs no CloudWatch, NAT Gateway... cada detalhe tem um preço.
Neste artigo vamos destrinchar os custos reais de uma aplicação típica na AWS em 2026, com números concretos — para você planejar sem surpresas.
O cenário de referência
Para tornar a análise concreta, vamos usar uma aplicação web B2B com o seguinte perfil:
- API backend em ASP.NET Core
- Banco de dados PostgreSQL gerenciado
- Armazenamento de arquivos (uploads de usuários)
- ~10.000 usuários ativos/mês, pico de 200 requisições/minuto
- Região: us-east-1 (Virginia) — a mais barata da AWS
Esse é um tamanho comum para startups em crescimento ou produtos B2B com PMEs como clientes.
Componente 1: Compute (EC2 / ECS)
A instância EC2 é geralmente o primeiro item que as pessoas pensam — e também onde costumam economizar errado, escolhendo instâncias pequenas demais e depois escalando manualmente.
Para nosso cenário, uma instância t3.medium (2 vCPUs, 4 GB RAM) é suficiente para o início:
t3.medium On-Demand: ~$0.0416/hora
Custo mensal (720h): ~$30/mês
Se você usar Reserved Instances com compromisso de 1 ano:
t3.medium Reserved (1 ano, sem upfront): ~$0.026/hora
Custo mensal: ~$19/mês
Economia vs On-Demand: ~37%
Se a aplicação rodar em containers (ECS Fargate), o custo é similar mas mais granular — você paga por vCPU e memória alocados, sem gerenciar instâncias EC2. Para 0.5 vCPU e 1 GB:
Fargate 0.5 vCPU + 1GB RAM: ~$18-22/mês
Ponto de atenção: em produção, você quase sempre vai querer pelo menos 2 instâncias para alta disponibilidade. Multiplique os números por 2 para um setup minimamente resiliente.
Componente 2: Banco de dados (RDS)
O RDS (banco gerenciado) é onde mora a maior surpresa de custo para quem vem do mundo de VPS.
Uma instância db.t3.micro com PostgreSQL (a menor disponível no RDS):
db.t3.micro (1 vCPU, 1 GB RAM): ~$0.016/hora
Custo mensal: ~$12/mês
Storage 20 GB gp3: ~$2.30/mês
Backup automático (7 dias, 20 GB): ~$0.50/mês
Total mínimo RDS: ~$15/mês
Para uma aplicação com tráfego real, o db.t3.small (2 GB RAM) é mais realista:
db.t3.small + 50 GB storage + backup: ~$35-40/mês
Se você precisar de Multi-AZ (alta disponibilidade com failover automático), dobre o preço — o RDS Multi-AZ mantém uma réplica síncrona em outra zona de disponibilidade.
Componente 3: Armazenamento (S3)
O S3 é um dos serviços mais baratos da AWS — até você começar a transferir muitos dados para fora.
Armazenamento: $0.023/GB/mês
PUT/POST/COPY: $0.005 por 1.000 requests
GET/SELECT: $0.0004 por 1.000 requests
Para 100 GB de arquivos com 50.000 uploads/mês e 200.000 downloads/mês:
Storage 100 GB: ~$2.30/mês
PUT requests (50k): ~$0.25/mês
GET requests (200k): ~$0.08/mês
Total S3 puro: ~$2.63/mês
Muito barato. O problema é o próximo item.
Componente 4: Data Transfer — o custo escondido
Transferência de dados para dentro da AWS é gratuita. Transferência para fora (para o usuário final ou outra região) custa caro:
Primeiros 10 TB/mês: $0.09/GB
Se sua aplicação serve 500 GB de dados por mês para usuários finais:
500 GB × $0.09 = $45/mês só em data transfer
Isso surpreende muita gente. Aplicações com muitas imagens, vídeos ou downloads pesados podem ter o data transfer como o maior item da fatura.
Solução: use CloudFront (CDN da AWS) na frente do S3. O data transfer entre S3 e CloudFront é gratuito, e o data transfer do CloudFront para usuários é mais barato ($0.0085/GB em média, vs $0.09 direto do S3).
Componente 5: Load Balancer
Se você vai rodar 2+ instâncias (o que deve fazer em produção), precisa de um Application Load Balancer:
ALB base: $0.008/hora = ~$5.76/mês
LCU (capacity units): ~$0.008/LCU/hora
Custo típico (baixo tráfego): ~$8-15/mês
Componente 6: Monitoramento (CloudWatch)
CloudWatch vem habilitado por padrão e gera custos que crescem com o volume de logs:
Ingestão de logs: $0.50/GB
Armazenamento logs: $0.03/GB/mês
Métricas customizadas: $0.30/métrica/mês (primeiras 10.000)
Para uma aplicação média com logs moderados: $5-20/mês.
Dica: configure retenção de logs para 30-90 dias. Logs acumulando indefinidamente é uma fonte silenciosa de custo.
Resumo: custo total estimado por cenário
╔═══════════════════════════════════════════════════════════╗
║ Cenário │ Setup │ Custo/mês ║
╠═══════════════════════════════════════════════════════════╣
║ Mínimo viável │ 1x t3.small │ ~$80-100 ║
║ (MVP/staging) │ db.t3.micro │ ║
║ │ S3 + CloudFront │ ║
╠═══════════════════════════════════════════════════════════╣
║ Produção básica │ 2x t3.medium │ ~$200-280 ║
║ (startup early) │ db.t3.small │ ║
║ │ ALB + S3 + CW │ ║
╠═══════════════════════════════════════════════════════════╣
║ Produção robusta │ 2x t3.large │ ~$450-650 ║
║ (produto maduro) │ db.t3.medium M-AZ │ ║
║ │ ALB + CDN + WAF │ ║
╚═══════════════════════════════════════════════════════════╝
5 maneiras de reduzir a fatura AWS
1. Reserved Instances para workloads estáveis
Se você sabe que vai precisar de pelo menos uma instância EC2 ou RDS por 1 ano, compre Reserved Instances. A economia é de 30-60% comparado com On-Demand, sem nenhuma mudança de arquitetura.
2. CloudFront na frente de tudo
O CDN da AWS reduz drasticamente os custos de data transfer e ainda melhora a performance para usuários em localizações diferentes. Configure CloudFront na frente do ALB e do S3.
3. Configure ciclo de vida no S3
Arquivos antigos podem ser movidos automaticamente para camadas mais baratas (S3-IA, S3 Glacier) ou deletados. Uma política de ciclo de vida bem configurada pode reduzir custos de armazenamento em 50-80% para dados históricos.
4. Defina retenção de logs
Logs sem política de retenção acumulam para sempre no CloudWatch. Defina 30 dias para logs de desenvolvimento e 90 dias para produção — e considere exportar logs críticos para S3 (muito mais barato para armazenamento longo).
5. Use o AWS Cost Explorer regularmente
O Cost Explorer (gratuito) mostra sua fatura por serviço, por tag, por região e por conta. Acesse pelo menos uma vez por semana no início — anomalias de custo são muito mais fáceis de conter cedo do que depois de um mês inteiro de gasto.
Conclusão
AWS não é caro — AWS mal configurada é cara. Com Reserved Instances, CloudFront, políticas de retenção e monitoramento ativo, é perfeitamente possível rodar uma aplicação de produção robusta por $200-300/mês.
Se você está avaliando migração para cloud ou quer uma revisão da sua infraestrutura AWS atual, a Neryx faz assessments de arquitetura e custos cloud gratuitamente. Podemos identificar onde você está pagando mais do que precisa.