Um erro 502 apareceu no painel. O Application Load Balancer respondeu, a aplicação também tem logs e, em algum lugar entre os dois, a requisição falhou. O problema raramente é falta de dado. É o tempo gasto atravessando buckets, consultas e formatos diferentes até descobrir quem gerou o 5xx.
A AWS passou a permitir a entrega direta dos logs do ALB ao CloudWatch Logs. Entram nesse caminho os logs de acesso, de conexão e de verificação de integridade, já em JSON estruturado. Para equipes que usavam S3, Athena ou algum ETL próprio apenas para tornar esses registros pesquisáveis, a mudança encurta bastante o circuito de investigação.
O ganho não é só tirar o S3 do meio
Guardar arquivo barato e consultar depois continua sendo uma arquitetura válida. O ganho do CloudWatch aparece quando o log precisa participar da operação corrente. O registro chega ao mesmo ambiente onde já vivem métricas, alarmes e painéis. Dá para consultar com Logs Insights, acompanhar eventos recentes com Live Tail e transformar padrões em métricas sem manter uma etapa de ingestão paralela.
O JSON estruturado também remove uma fonte de trabalho pouco glamourosa: manter parser de linha conforme o formato evolui. Em uma consulta de incidente, campos como código retornado pelo load balancer, código do alvo, tempo de processamento e rota ficam disponíveis sem uma expressão regular do tamanho de uma avenida.
Caçando a origem do 5xx
A primeira separação útil é entre falha produzida pelo ALB e falha devolvida pelo target. Se o código do balanceador é 502, mas não há resposta válida do alvo, a trilha aponta para conexão encerrada, resposta malformada ou timeout. Se o target devolveu 500, o balanceador apenas transportou o problema e a investigação deve seguir para a aplicação.
Depois vem o contexto. Agrupar por rota mostra se o erro se concentra em um endpoint. Cruzar latência do target e status ajuda a distinguir saturação de falha imediata. Os health check logs revelam quando uma instância deixou de receber tráfego e por qual motivo. Os connection logs completam a história em problemas de TLS e estabelecimento de conexão.
- Comece pela proporção de códigos do ALB e do target.
- Quebre o resultado por rota, target e zona de disponibilidade.
- Compare o instante do erro com mudanças de deploy e de saúde do target group.
- Transforme a consulta que resolveu o incidente em painel ou alarme quando ela representar um risco recorrente.
Centralizar não significa ligar tudo sem filtro
Entrega direta também muda custo e retenção. O CloudWatch cobra ingestão e armazenamento de vended logs conforme a região e a classe escolhida. Um ambiente de alto tráfego pode produzir um volume respeitável. Defina retenção, estime o tráfego e decida se todos os ambientes merecem o mesmo destino. S3 continua interessante para arquivo de longo prazo e análises ocasionais.
Há ainda um detalhe operacional: a AWS classifica a entrega dos logs do ALB como melhor esforço. Eles são valiosos para diagnóstico, mas não devem virar o único mecanismo de auditoria de uma obrigação que exige completude comprovável. Para eventos de negócio, registre também no sistema que é dono daquele evento.
A configuração pode ser aplicada por regras de habilitação do CloudWatch, inclusive cobrindo contas e recursos de uma organização. Isso é ótimo para padronizar observabilidade, desde que grupo, retenção e acesso sejam planejados antes. Centralizar dados sem organizar permissões só troca um labirinto por outro.
Um caminho de adoção sem susto
Eu começaria por um ALB de produção com incidentes recorrentes, manteria o destino antigo durante a comparação e mediria três coisas: atraso até o log aparecer, custo diário e tempo para responder às perguntas mais comuns. Em seguida, salvaria duas ou três consultas de investigação e criaria retenções diferentes para produção e homologação.
A novidade não torna a aplicação observável sozinha. Ela elimina encanamento. E, em incidente, alguns minutos a menos entre “temos um 502” e “este target encerrou a conexão nesta rota” valem mais que uma arquitetura de logs muito elegante desenhada num quadro.
