Arquitetura
Componentes
Istio Service Mesh
O Istio atua como malha de serviço dentro do cluster GKE. Responsabilidades:- Roteamento de tráfego: distribui requisições aos microsserviços conforme regras de VirtualService
- mTLS interno: comunicação criptografada entre serviços dentro do cluster
- Observabilidade: métricas, logs e rastreamento distribuído de cada hop interno
- Circuit breaking: proteção automática contra falhas em cascata entre serviços
Google Cloud Armor
Camada de segurança WAF (Web Application Firewall) na borda:- Proteção contra SQL Injection e XSS
- Bloqueio de IPs maliciosos e ranges suspeitos
- Rate limiting configurável por secretaria e por cliente
- Regras personalizadas para padrões de tráfego municipal
Certificados TLS Gerenciados
O GKE gerencia certificados TLS automaticamente via Google-managed certificates:- Renovação automática antes do vencimento
- Cobertura de todos os subdomínios
*.dados.rioe*.app.dados.rio - Zero manutenção manual de certificados
- HTTPS obrigatório — HTTP é redirecionado automaticamente
DNS e Endereços IP Globais
Cada serviço municipal recebe um subdomínio dedicado:| Ambiente | Padrão de URL |
|---|---|
| Produção | https://services.app.dados.rio/<servico>/ |
| Staging | https://services.staging.app.dados.rio/<servico>/ |
Roteamento
O Istio VirtualService define as regras de roteamento. Exemplo de configuração para um serviço municipal:Autenticação no Gateway
O gateway integra com o Identidade Carioca (Keycloak) para validar tokens JWT em todas as requisições:- Cliente envia requisição com
Authorization: Bearer <jwt> - Istio intercepta e valida o token contra o Keycloak
- Claims do token são propagadas como headers internos para o serviço de destino
- Serviço processa a requisição com o contexto de identidade já validado
Monitoramento
O gateway expõe métricas para o Prometheus e logs estruturados para o Cloud Logging:- Latência por serviço: percentis p50, p95, p99
- Taxa de erros: 4xx e 5xx por endpoint
- Throughput: requisições por segundo por secretaria
- Saúde dos serviços: health checks automáticos via Istio
#alertas-infra.