Pular para conteúdo

AWS Services

Serviços AWS utilizados na nossa arquitetura.

Compute

AWS Lambda

Propósito: Executar código backend sem gerenciar servidores

Uso: - Endpoints de API (via API Gateway) - Processadores de fila (SQS) - Processadores de eventos (SNS) - Jobs agendados (EventBridge)

Configuração: - Runtime: Python 3.11 - Memory: 512MB-1024MB (conforme necessidade) - Timeout: 30s (APIs), 5min (processors) - Environment variables via SSM/Secrets Manager

Networking

API Gateway

Propósito: Porta de entrada para APIs

Features: - REST APIs - Request/response transformation - Rate limiting - API keys - WAF integration - CloudWatch logging

Application Load Balancer (ALB)

Propósito: Distribuir tráfego entre Lambdas

Features: - Health checks - SSL termination - Path-based routing - Target groups

Storage

Amazon S3

Buckets:

  • app-uploads-staging - Uploads de usuários (staging)
  • app-uploads-prod - Uploads de usuários (production)
  • app-data-lake - Data analytics e exports
  • app-backups - Backups de banco e arquivos
  • app-static-assets - Assets estáticos do frontend

Features: - Versioning habilitado - Lifecycle policies (arquivar após 90 dias) - Server-side encryption - Public access bloqueado (exceto assets)

Amazon RDS (PostgreSQL)

Propósito: Banco de dados relacional

Configuração:

Staging: - Instância: db.t3.micro - Storage: 20GB GP2 - Backups: 7 dias - Multi-AZ: Não

Production: - Instância: db.t3.medium - Storage: 100GB GP3 - Backups: 30 dias - Multi-AZ: Sim - Read replicas: 1

Features: - Automated backups - Point-in-time recovery - Encryption at rest - VPC privada

Messaging

Amazon SQS

Queues:

  • user-events-queue - Eventos de usuários
  • payment-processing-queue - Processamento de pagamentos
  • notification-queue - Envio de notificações
  • report-generation-queue - Geração de relatórios

Configuração: - Visibility timeout: 30s - Message retention: 4 dias - Dead Letter Queue (DLQ) configurada - Max receive count: 3

Features: - At-least-once delivery - FIFO queues para ordem garantida - Batch operations - Long polling

Amazon SNS

Topics:

  • product-updates - Atualizações de produtos
  • order-events - Eventos de pedidos
  • system-alerts - Alertas críticos do sistema

Features: - Fan-out (1 → N) - Filtering por attributes - Delivery policies - Retry automático

Monitoring & Logging

CloudWatch

Logs: - Log groups por Lambda - Retention: 30 dias (staging), 90 dias (production) - Structured logging (JSON)

Metrics: - Lambda invocations, errors, duration - API Gateway requests, latency - SQS messages, age - Custom metrics (business KPIs)

Alarms: - Lambda error rate > 5% - API Gateway latency > 2s - SQS DLQ com mensagens - Database connections > 80%

AWS X-Ray

Propósito: Distributed tracing

Features: - Request tracing end-to-end - Service map visualization - Latency analysis - Error tracking

Security

IAM

Princípios: - Least privilege - Roles para Lambdas (não access keys) - Policies específicas por serviço - Service Control Policies (SCPs)

AWS Secrets Manager

Uso: - Database credentials - API keys de terceiros - Certificates

Features: - Auto-rotation - Versioning - Encryption at rest - Audit trail (CloudTrail)

Systems Manager (SSM) Parameter Store

Uso: - Configurações não-sensíveis - Feature flags - Endpoints de serviços

Types: - String: configurações simples - StringList: listas - SecureString: dados sensíveis (KMS encrypted)

CI/CD

AWS CodeBuild

Usado apenas para builds complexas. Preferimos GitHub Actions.

AWS SAM

Propósito: Framework serverless

Features: - Templates CloudFormation simplificados - Local testing (sam local) - Deployment (sam deploy) - Pipeline generation

Ver guia completo de SAM →

Others

Amazon EventBridge

Uso: - Cron jobs (scheduled events) - Event bus para integração entre serviços - Rules para routing de eventos

Examples:

# SAM template
Events:
  DailyReport:
    Type: Schedule
    Properties:
      Schedule: cron(0 9 * * ? *)  # 9h todos os dias
      Name: daily-report-trigger

Amazon SES

Propósito: Envio de emails transacionais

Uso: - Welcome emails - Password reset - Order confirmations - Notifications

Cost Optimization

Estratégias

  • Lambda: Provisioned concurrency apenas para critical paths
  • RDS: Usar read replicas apenas em production
  • S3: Lifecycle policies para arquivos antigos
  • CloudWatch: Log retention adequado (não forever)
  • API Gateway: Cache habilitado

Monitoring de Custos

  • AWS Cost Explorer
  • Budgets e Alerts
  • Tagging adequado de recursos

Referências