kb.erickguedes.com
AWS: Cloud Computing na Prática

Arquiteturas e Boas Práticas AWS

Aula 8 de 8

Well-Architected Framework

AWS define 6 pilares para arquiteturas de excelência:

1. Excelência Operacional

- Infraestrutura como código (CloudFormation/Terraform)
- Documentação runbook para incidentes
- Observabilidade (CloudWatch, X-Ray, Grafana)
- Deploy automatizado (CI/CD)
- Experimentação segura (canary deployments)

2. Segurança

- IAM com least privilege
- Encryption in-transit (TLS) e at-rest (KMS)
- VPC isolation (subnets privadas)
- Security Hub + GuardDuty + Inspector
- Secrets Manager (nunca hardcode secrets)
# AWS Secrets Manager — rotação automática
aws secretsmanager create-secret \
  --name rds-credentials \
  --secret-string '{"username":"admin","password":"Senha123!"}'

# Rotacionar a cada 30 dias
aws secretsmanager rotate-secret \
  --secret-id rds-credentials \
  --rotation-rules '{"AutomaticallyAfterDays": 30}'

3. Confiabilidade

- Multi-AZ em todos os serviços
- Auto Scaling Groups (mínimo 2 AZs)
- RDS Multi-AZ + backups automáticos
- Roteamento DNS com Route53 (health checks)
- Circuit breaker (Service Quotas, Throttling)

4. Performance

- Auto Scaling (horizontal, não vertical)
- Caching (CloudFront, ElastiCache)
- RDS Read Replicas
- Lambda Provisioned Concurrency
- Spot instances para workloads flexíveis

5. Otimização de Custos

- Reservar EC2/RDS por 1-3 anos (até 72% desconto)
- Spot instances (90% desconto)
- S3 Lifecycle Policies
- Compute Savings Plans
- AWS Budgets + alerts
# AWS Budget — alerta de gastos
aws budgets create-budget \
  --account-id 123456789012 \
  --budget file://budget.json

# budget.json
{
  "BudgetName": "Mensal-Dev",
  "BudgetLimit": {"Amount": "500", "Unit": "USD"},
  "TimeUnit": "MONTHLY",
  "BudgetType": "COST"
}

6. Sustentabilidade

- Regiões com energia renovável
- Instâncias Graviton (ARM) — menor consumo
- Desligar recursos fora do horário comercial
- Eliminar dados não usados (S3 lifecycle)
- Serverless (Lambda > EC2 ociosa)

Arquitetura Referência: App Web

CloudFront (CDN)
  └── WAF (Web ACL)
        └── ALB (Application Load Balancer)
              ├── EC2 Auto Scaling Group (múltiplas AZs)
              │     └── EFS (NFS compartilhado)
              └── RDS Multi-AZ + Read Replicas
                    └── ElastiCache (Redis)

Disaster Recovery (DR)

EstratégiaRPORTOCusto
Backup & Restore24h24h+Baixo
Pilot Light~15min~1hMédio
Warm Standby~5min~15minAlto
Multi-region Active<1min<1minMuito alto
# DR: S3 Cross-Region Replication
aws s3api put-bucket-replication \
  --bucket meu-bucket \
  --replication-configuration file://crr-config.json

# Failover Route53
aws route53 change-resource-record-sets \
  --hosted-zone-id ZONE_ID \
  --change-batch file://failover-r53.json

Checklist para Produção

  • Multi-AZ em todos os serviços críticos
  • Backup automático (RDS 7+ dias retention)
  • IAM roles (zero access keys em EC2)
  • CloudTrail ativo em todas as regiões
  • AWS Config + regras de compliance
  • VPC Flow Logs ativos
  • Budget + alerts financeiros
  • Auto Scaling configurado
  • WAF na frente do ALB/CloudFront
  • Deletion protection em RDS e S3

Well-Architected Framework é o guia. Sempre questione: "o que acontece se uma AZ cair?" Se a resposta for "quebra", sua arquitetura precisa de revisão.