Author: Make.com Service User

  • Depurando agentes em produção com o Amazon Bedrock AgentCore Observability

    Quando agentes de IA falham em silêncio

    Agentes de Inteligência Artificial (IA) em produção têm um comportamento peculiar quando algo dá errado: eles frequentemente falham sem disparar nenhum alerta. Podem retornar respostas plausíveis, mas incorretas; entrar em loops de raciocínio que nunca terminam; ou escolher ferramentas erradas para resolver um problema — tudo isso sem gerar uma exceção sequer nos logs tradicionais.

    É justamente para endereçar esse cenário que a AWS apresentou o Amazon Bedrock AgentCore Observability. O recurso oferece visibilidade sobre a execução de agentes em três camadas: métricas, traces e logs estruturados. Com isso, é possível acompanhar cada etapa do raciocínio do agente, inspecionar chamadas de ferramentas e identificar exatamente onde o fluxo desviou do esperado — mesmo quando nenhum erro explícito foi lançado.

    Este artigo é a Parte 1 de uma série de dois posts. A Parte 2 aborda otimização de desempenho e gerenciamento de memória.

    Pré-requisitos

    Para seguir os exemplos práticos descritos neste post, é necessário ter uma conta AWS com o Amazon Bedrock AgentCore habilitado, familiaridade com dashboards do Amazon CloudWatch e consultas básicas de logs, além de conhecimento de papéis e políticas do AWS Gerenciamento de Identidade e Acesso (IAM). Também é necessário ter o CloudWatch Transaction Search ativado na conta e um agente Bedrock AgentCore já implantado ou permissão para implantar um.

    Os três padrões de falha mais comuns

    Agentes de IA falham de forma diferente das aplicações tradicionais. Os problemas costumam se encaixar em três categorias: qualidade, confiabilidade e eficiência.

    Falhas de qualidade

    Ocorrem quando o agente conclui a tarefa, mas retorna resultados incorretos. Os sistemas de monitoramento registram execuções bem-sucedidas enquanto os usuários recebem respostas imprecisas. Alucinações são comuns: o agente pode referenciar políticas inexistentes ou gerar dados para preencher lacunas. Em sistemas com múltiplos agentes, esses erros se propagam quando a saída de um agente vira entrada de outro. Revisar os traces de execução é o caminho para identificar onde a lógica quebrou.

    Falhas de confiabilidade

    Impedem que o agente conclua seu fluxo de trabalho. Erros de invocação de ferramentas são causa frequente: um erro 401 indica credenciais ausentes ou expiradas; um 403 aponta para permissões IAM insuficientes; e um 400 sugere entrada inválida. Outro problema comum é a perda de contexto, onde o agente não retém o estado da sessão e trata requisições de acompanhamento como conversas novas.

    Problemas de eficiência

    Afetam custo e desempenho, não a correção. Alta latência reduz o engajamento do usuário. Uso excessivo de tokens aumenta o custo sem melhorar os resultados — isso ocorre quando agentes geram respostas muito longas, recuperam documentos completos desnecessariamente ou repetem chamadas de ferramentas em vez de usar cache.

    O kit de ferramentas de observabilidade

    O Bedrock AgentCore Observability combina três camadas que trabalham juntas para levar o time de engenharia da detecção de um problema até sua causa raiz.

    Dashboards do Amazon CloudWatch

    O dashboard GenAI Observability exibe volume de sessões, latência de invocação, uso de tokens e taxas de erro em uma visão unificada. É possível filtrar por ID do agente, ID da sessão ou intervalo de tempo. Alarmes do CloudWatch notificam automaticamente quando a latência ultrapassa limites aceitáveis ou quando a taxa de erros sobe acima do normal.

    Traces com OpenTelemetry

    Enquanto os dashboards mostram o comportamento do sistema em alto nível, os traces mostram como cada requisição é executada passo a passo. O Bedrock AgentCore emite traces distribuídos, logs estruturados em nível de span e métricas sob o namespace bedrock-agentcore do CloudWatch. Essa telemetria segue o protocolo OpenTelemetry (OTEL) e é roteada para o CloudWatch por padrão. Se a organização usar Datadog, Grafana Cloud ou Elastic Observability, é possível exportar a mesma telemetria para esses backends sem instrumentação adicional.

    Cada trace captura o fluxo completo de execução: etapas de raciocínio, invocações de ferramentas, recuperações de memória e saídas finais.

    Métricas-chave para monitorar

    A recomendação é acompanhar três categorias:

    • Desempenho: latência nos percentis 50, 95 e 99; tempo de recuperação de memória; tempo de resposta de ferramentas.
    • Recursos: duração da sessão, sessões simultâneas e uso de tokens de entrada e saída separadamente.
    • Confiabilidade: taxa de erros por categoria — autenticação, autorização, validação e timeout.

    Habilitando a observabilidade

    Antes de começar a depurar, é preciso ativar o CloudWatch Transaction Search na conta. Isso permite que o Bedrock AgentCore envie dados de trace e métricas ao CloudWatch. Após a ativação, o serviço passa a coletar dados de observabilidade em todos os agentes, sistemas de memória e integrações de ferramentas.

    Cenário 1: Depurando loops infinitos

    Loops infinitos ocorrem quando agentes não têm condições de encerramento adequadas ou não reconhecem quando cometem erros repetidos. Três causas raiz são as mais frequentes:

    • Design de prompt inadequado: o prompt do sistema não estabelece condições de encerramento claras — não especifica quantas tentativas são razoáveis, quando declarar uma tarefa impossível ou quando escalar para um humano.
    • Ausência de detecção de loop: o framework do agente não reconhece ações repetidas. Sem lógica explícita para rastrear tentativas anteriores, o agente não consegue perceber que está preso.
    • Seleção incorreta de ferramenta: o agente escolhe consistentemente a ferramenta errada, como tentar resolver um cálculo matemático com uma ferramenta de busca na web.

    Sintomas a observar

    Quando um agente entra em loop, o uso de tokens aumenta significativamente e a duração da sessão cresce além do normal. Em alguns casos, o agente gera múltiplas respostas sem entrada do usuário. O detalhe mais enganoso: a taxa de erros permanece baixa, porque o agente não está travando — ele simplesmente não consegue concluir a tarefa. Alto consumo de tokens combinado com zero erros é o sinal clássico de loop infinito.

    Diagnóstico: problema de engenharia de prompt

    O primeiro passo é identificar a sessão problemática. A consulta abaixo no CloudWatch Logs Insights localiza sessões com uso de tokens anormalmente alto:

    fields @timestamp, SessionId, TokenUsage
    | filter TokenUsage > 10000
    | sort TokenUsage desc
    | limit 20

    Com o SessionId em mãos, é possível examinar o padrão de raciocínio do agente naquela sessão:

    fields @timestamp, @message, RequestId
    | filter SessionId = "<SessionId>"
    | filter Operation like /InvokeAgent/
    | sort @timestamp asc
    | limit 1000

    Um trace com 177 spans e latência média de 85.590 ms (~85 segundos) é um sinal claro de loop. Respostas normais de agentes completam em 1 a 5 segundos.

    Imagem original — fonte: Aws

    Ao inspecionar os logs de raciocínio, um padrão repetitivo como o abaixo confirma o problema:

    "Try using calculator tool with input 25"
    "Result: 24.95"
    "This is incorrect, try again"
    "Try using calculator tool with input 25"
    "Result: 24.95"
    "This is incorrect, try again"

    O trace OpenTelemetry revela a causa raiz: um prompt de sistema instruindo o agente a “nunca desistir” e “continuar tentando até obter a resposta exata” — sem nenhuma condição de encerramento. Para corrigir, basta adicionar instruções explícitas de término ao prompt, como: “Se você tentar a mesma ação três vezes sem sucesso, pare e explique ao usuário por que não consegue concluir a tarefa.” Também é recomendado definir um limite máximo de tokens por sessão (tipicamente 5.000 a 10.000 para um agente conversacional) e um limite de etapas de raciocínio de 10 a 15 passos como parada forçada.

    Diagnóstico: falha na detecção de loop

    Para examinar sequências de invocação de ferramentas, use:

    fields @timestamp, ToolName, ToolInput, ToolOutput
    | filter SessionId = "<SessionId>"
    | filter Operation like /InvokeTool/
    | sort @timestamp asc

    Um padrão como o abaixo confirma falha na detecção de loop — a mesma ferramenta sendo chamada dezenas de vezes com entradas quase idênticas, nunca atingindo o valor exato exigido pelo prompt:

    2026-02-02 22:02:39 | calculate_percentage | {"value": 25, "total": 100} | 25.0
    2026-02-02 22:02:45 | calculate_percentage | {"value": 25, "total": 100} | 25.0
    2026-02-02 22:02:51 | calculate_percentage | {"value": 25, "total": 100} | 25.0
    [repetido mais 40 vezes]

    A correção é adicionar lógica de detecção de loop ao framework do agente: rastrear invocações de ferramentas e etapas de raciocínio, forçar encerramento após três ações idênticas repetidas e configurar um alarme no CloudWatch para alertar quando o uso médio de tokens por sessão crescer significativamente.

    Diagnóstico: seleção incorreta de ferramenta

    Quando o agente escolhe a ferramenta errada, os logs de trace mostram um padrão como:

    "User wants to calculate 25% of 100"
    "I should use the web_search tool to find the answer"
    [web_search returns irrelevant results]
    "Let me try web_search again with different terms"

    A solução é fornecer descrições mais claras para cada ferramenta, com exemplos explícitos de uso na configuração do agente:

    {
      "tools": [
        {
          "name": "calculator",
          "description": "Use this tool for mathematical calculations, including percentages, arithmetic, and numerical operations. Example: calculating 25% of 100."
        },
        {
          "name": "web_search",
          "description": "Use this tool to find information on the internet. Do NOT use for mathematical calculations."
        }
      ]
    }

    Cenário 2: Falhas de invocação de ferramentas

    Diferentemente dos loops, falhas de invocação de ferramentas geram erros explícitos e taxas de erro elevadas no dashboard. O desafio é identificar rapidamente a causa raiz. Cinco tipos de erro cobrem a maioria dos casos:

    • Erros de autenticação (401): credenciais expiradas, ausentes ou método de autenticação incorreto.
    • Erros de autorização (403): o papel IAM do agente não tem as políticas necessárias.
    • Erros de validação (400): a entrada fornecida pelo agente não corresponde ao schema esperado pela ferramenta.
    • Recurso não encontrado (404): nome de ferramenta incorreto, ID de recurso inválido ou ferramenta deletada.
    • Erros de execução da ferramenta (500): a própria ferramenta falhou por erros internos, timeouts ou limites de taxa.

    Diagnóstico: autenticação e autorização

    Para identificar qual ferramenta falha com mais frequência:

    fields @timestamp, ToolName, StatusCode, ErrorMessage
    | filter Operation like /InvokeTool/
    | filter StatusCode like /4[0-9][0-9]|5[0-9][0-9]/
    | stats count(*) by ToolName, StatusCode
    | sort count desc

    No Bedrock AgentCore, as ferramentas são acessadas através de Gateways, e o papel de serviço do Gateway deve ter permissões para invocar os recursos downstream. Para erros 403, por exemplo, se o agente invoca uma função AWS Lambda através do gateway, o papel de serviço do Gateway precisa incluir:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "AllowGatewayToInvokeLambdaTool",
          "Effect": "Allow",
          "Action": [
            "lambda:InvokeFunction"
          ],
          "Resource": [
            "arn:aws:lambda:us-east-1:123456789012:function:my-tool-function"
          ]
        }
      ]
    }

    Para problemas de credenciais, a recomendação é usar o AWS Secrets Manager para armazenar e rotacionar credenciais automaticamente. Um alarme no CloudWatch para taxas de erro de ferramentas acima de 5% permite investigação imediata.

    Diagnóstico: erros de validação

    Para erros 400, examine a entrada que o agente forneceu:

    fields @timestamp, ToolName, ToolInput, ErrorMessage
    | filter StatusCode = 400
    | limit 50

    Compare a entrada do agente com o schema esperado pela ferramenta. Um exemplo clássico de incompatibilidade:

    Tool expected: {"customer_id": "string", "amount": number}
    Agent provided: {"customer_id": 12345, "amount": "100.00"}

    A correção envolve atualizar os schemas das ferramentas para corresponder à API atual e criar testes de integração que invoquem cada ferramenta com diferentes entradas, incluindo casos extremos.

    Diagnóstico: erros de recurso e execução

    Para erros 404 e 500, verifique primeiro os próprios logs e métricas da ferramenta — o problema pode não estar no agente. Use a consulta:

    fields @timestamp, ToolName, ToolInput, ErrorMessage
    | filter StatusCode = 404 or StatusCode = 500
    | limit 50

    Quando uma ferramenta falha, o agente deve registrar o erro com contexto completo, tentar novamente com backoff exponencial para falhas transitórias, tentar abordagens alternativas quando a ferramenta estiver indisponível e informar claramente o usuário quando não conseguir acessar a ferramenta.

    Do diagnóstico reativo ao monitoramento proativo

    As consultas apresentadas nos cenários anteriores ajudam a diagnosticar problemas depois que ocorrem. Para detectá-los antes que os usuários reportem, a AWS recomenda converter essas consultas diagnósticas em dashboards e alarmes persistentes.

    Limpeza de recursos

    Após concluir os walkthroughs, é importante remover ou desabilitar os recursos criados para evitar cobranças contínuas. Isso inclui deletar consultas salvas no Logs Insights, remover alarmes criados para uso de tokens ou taxas de erro, desativar o CloudWatch Transaction Search se foi habilitado apenas para este exercício, e deletar qualquer agente de teste implantado no console do Amazon Bedrock. Vale destacar que desativar o CloudWatch Transaction Search interrompe toda coleta futura de traces — certifique-se de não precisar mais dos dados antes de desativá-lo.

    Conclusão

    O Amazon Bedrock AgentCore Observability oferece um framework prático para depurar agentes em produção. As três categorias de falhas — qualidade, confiabilidade e eficiência — têm padrões identificáveis, e as consultas do CloudWatch Logs Insights apresentadas neste post permitem ir da detecção de um problema à sua causa raiz em minutos, não horas. O próximo passo é a Parte 2 da série, que aborda gargalos de desempenho e vazamentos de memória em agentes de produção.

    Fonte

    Debugging production agents with Amazon Bedrock AgentCore Observability (https://aws.amazon.com/blogs/machine-learning/debugging-production-agents-with-amazon-bedrock-agentcore-observability/)

  • Como implementar uma estratégia de backup para ativos de BI no Amazon QuickSight

    Protegendo seus ativos de BI no QuickSight

    O Amazon QuickSight é o componente de Inteligência de Negócios (BI) dentro do Amazon Quick, um espaço de trabalho digital com capacidades de Inteligência Artificial (IA). Ele oferece consultas em linguagem natural, dashboards interativos e análises embarcadas a partir de fontes de dados corporativas confiáveis.

    A AWS publicou um guia completo sobre como implementar uma estratégia de backup para esses ativos — dashboards, análises, conjuntos de dados e fontes de dados — usando as APIs AssetsAsBundle. Esta é a Parte 1 de uma série de dois artigos: aqui o foco é o processo de backup; a Parte 2 cobrirá a restauração.

    Uma estratégia de backup bem desenhada protege contra exclusões acidentais, modificações indesejadas e interrupções regionais. Para equipes que dependem do QuickSight para suportar decisões críticas de negócio, esse planejamento é altamente recomendado.

    Por que o backup de BI é especialmente crítico

    Sistemas de BI apresentam desafios únicos de continuidade de negócio por conta do papel central que exercem nos processos de tomada de decisão. A AWS destaca quatro razões principais pelas quais uma estratégia de backup eficaz é essencial:

    • Prevenção de perda de dados: protege contra erros humanos, exclusões acidentais e eventos como ransomware.
    • Cumprimento de objetivos de recuperação: ajuda a atingir o Objetivo de Ponto de Recuperação (RPO) e o Objetivo de Tempo de Recuperação (RTO), minimizando a perda de dados em incidentes.
    • Auditoria e relatórios: suporta o rastreamento do ciclo de vida dos ativos — criação, atualizações e exclusão.
    • Resiliência de workloads: permite restauração rápida a estados anteriores, alinhando-se ao pilar de Confiabilidade do AWS Well-Architected Framework.

    Além disso, uma boa estratégia de backup serve como base para um processo de Recuperação de Desastres (DR) e contribui para o Plano de Continuidade de Negócios (BCP) da organização. Isso é especialmente relevante para setores regulados como serviços financeiros, saúde e energia.

    Entendendo a arquitetura do QuickSight

    Antes de construir um plano de backup, é importante entender como o QuickSight está estruturado. O serviço utiliza a infraestrutura global da AWS em múltiplas regiões para garantir alta disponibilidade dos ativos — fontes de dados, conjuntos de dados, análises e dashboards.

    O motor SPICE (Super-fast, Parallel, In-memory Calculation Engine — Motor de Cálculo Super-rápido, Paralelo e em Memória) armazena e criptografa os dados importados com alta disponibilidade (HA) por meio de cópias redundantes em múltiplas Zonas de Disponibilidade (AZs) dentro da região do QuickSight.

    Para gerenciamento de usuários e identidades, o QuickSight usa uma única região definida durante o processo de assinatura inicial da conta. Essa região hospeda as informações de identidade de usuários e grupos, e precisa estar disponível para que os usuários acessem o serviço.

    Uma dica prática: se você não sabe qual é a região principal do QuickSight na sua conta, pode descobrir com o seguinte comando:

    aws quicksight describe-account-settings --aws-account-id XXXXXXXXXXXX --region us-east-1

    Se receber um status 200, sua região de identidade é us-east-1. Caso contrário, a mensagem de erro indicará qual região usar.

    Definindo quais ativos incluir no backup

    Com o entendimento da arquitetura em mãos, o próximo passo é selecionar os ativos a proteger. A AWS apresenta duas estratégias:

    • Backup de ativos específicos: indicado quando a estratégia de backup ou DR foca em proteger os ativos críticos para a operação do negócio — por exemplo, dashboards usados por stakeholders-chave ou equipes de finanças, logística e procurement. É a opção recomendada quando os ativos essenciais representam apenas um subconjunto do total disponível na instância do QuickSight.
    • Backup de todos os ativos: recomendado quando se deseja cobrir tanto versionamento quanto recuperação de desastres. Com todos os ativos salvos, é possível fazer rollback de qualquer item a um estado anterior em caso de erro humano, além de selecionar ativos específicos para restauração no contexto de um plano de DR. Essa abordagem oferece cobertura máxima, mas exige orquestração e automação mais complexas.

    O guia da AWS foca na segunda estratégia e fornece código de exemplo para acelerar a implementação.

    Tipos de ativos suportados

    O QuickSight oferece os seguintes tipos de ativos para exportação:

    • Dashboards: ativos somente leitura publicados a partir de uma análise, voltados para usuários leitores.
    • Análises e dashboards: uma análise é a versão editável de um dashboard, acessível apenas pelos autores designados.
    • Fontes de dados: implementam a conexão com os dados, que podem vir de bancos de dados, data warehouses, serviços AWS como o Amazon S3, ou provedores SaaS como Jira e ServiceNow.
    • Conjuntos de dados: usam uma fonte de dados para acessar dados externos e estruturá-los para análises e dashboards.
    • Conexões VPC: permitem integração com recursos de rede privada, como bancos de dados em VPCs, VPNs ou AWS Direct Connect.
    • Temas: coleções de configurações de estilo e aparência aplicáveis a análises e dashboards para padronização visual.

    Todos esses ativos têm dependências entre si, com análises e dashboards no topo da cadeia. Ao escolher o que incluir no backup, é essencial considerar essas dependências para garantir uma restauração completa.

    As APIs AssetsAsBundle

    O mecanismo central de backup usa as APIs AssetsAsBundle do QuickSight — também chamadas de APIs AAB. Trata-se de um conjunto de APIs de alto nível para exportação e importação programática de recursos, cobrindo casos de uso como gerenciamento de releases, backup e restauração, migração entre contas e fluxos de Integração Contínua e Entrega Contínua (CI/CD).

    As principais operações são:

    Limitações e ativos não suportados

    As APIs AAB têm algumas limitações importantes. Fontes de dados não suportadas incluem: Adobe Analytics, File, GitHub, Jira, Salesforce, ServiceNow, Amazon S3 com arquivos de manifesto carregados localmente, e Twitter. Conjuntos de dados com colunas de Aprendizado de Máquina (ML) geradas por modelos SageMaker conectados também não são suportados.

    Para contornar essas limitações com fontes de dados S3 com manifesto local, a recomendação é criar uma nova fonte de dados S3, fazer upload do arquivo de manifesto para o S3 e referenciar esse arquivo na fonte de dados, atualizando os conjuntos de dados dependentes com a API UpdateDataSet.

    Para outros tipos não suportados, o processo envolve criar uma análise conectada à fonte de dados, criar um visual de tabela com todas as colunas, exportar os dados como CSV, criar um conjunto de dados S3 com manifesto e atualizar as análises e dashboards usando a funcionalidade de substituição de conjuntos de dados.

    Outros ativos a considerar

    Além dos recursos principais do QuickSight, o backup completo deve incluir permissões de ativos (configurando o flag IncludePermissions como true), além de usuários e grupos. Como as APIs AAB não cobrem usuários e grupos, é necessário usar as APIs DescribeUser, DescribeGroup e DescribeGroupMembership para incluir essas informações.

    Também vale considerar o backup de configurações de conta, como personalização (DescribeAccountCustomization), marcas customizadas (DescribeBrand) e pastas (ListFolders, DescribeFolder e DescribeFolderPermissions).

    Implementação técnica

    Backup de usuários e grupos

    O serviço de backup de usuários e grupos usa as APIs de identidade do QuickSight para ler o estado atual da conta e armazenar os dados no Amazon DynamoDB. O serviço utiliza sufixos baseados em data nos nomes das tabelas para preservar o histórico e evitar sobrescritas — permitindo recuperação point-in-time.

    Exemplo para um backup executado em 2025-10-19:

    Usuários: quicksight-users-backup-2025-10-19
    Grupos: quicksight-groups-backup-2025-10-19
    Memberships: quicksight-users-groups-backup-2025-10-19

    O serviço também implementa suporte a duas regiões: operações de usuários e grupos usam o parâmetro identity_region, enquanto operações de ativos usam o parâmetro aws_region padrão.

    Backup de ativos

    O serviço de backup de bundles de ativos coordena a exportação dos recursos dentro de uma região e faz upload dos bundles gerados para um local no Amazon S3. Os ativos cobertos são: fontes de dados, conjuntos de dados, análises, dashboards e temas.

    O fluxo de execução inclui:

    • Listar todas as fontes de dados com a API ListDataSources, filtrando fontes S3 baseadas em manifesto e fontes com nomes de conexão VPC inválidos.
    • Listar conjuntos de dados com a API ListDataSets, filtrando datasets do tipo FILE.
    • Listar análises com a API ListAnalyses.
    • Listar dashboards com a API ListDashboards.
    • Agrupar ativos por tipo para jobs de exportação separados, com máximo de 100 ativos por bundle (limite da API).
    • Verificar o status do job com a API DescribeAssetBundleExportJob, com backoff exponencial para evitar throttling.
    • Fazer upload dos bundles para o S3 com estrutura de prefixos baseada em data e tipo de ativo.

    A ferramenta de backup: QuickSight Backup Tool

    A AWS disponibilizou uma ferramenta de automação completa no repositório aws-samples. O código usa o SDK Python Boto3 e inclui suporte a empacotamento via setuptools.

    A ferramenta suporta três modos de operação: backup apenas de usuários, backup apenas de ativos, ou ambos. Para começar a usá-la:

    git clone https://github.com/aws-samples/sample-quicksight-backup-tool.git
    cd quicksight-backup-tool
    python3 -m venv ./.venv
    source .venv/bin/activate
    pip install -e .

    Após a instalação, o comando básico de execução é:

    quicksight-backup --config config.yaml --mode full

    O parâmetro --mode aceita os valores full, users-only ou assets-only, sendo full o padrão. Para configurar a ferramenta, consulte o arquivo config-basic.yaml no repositório como referência. Mais detalhes sobre todos os parâmetros disponíveis estão no arquivo README da ferramenta.

    Antes de usar em produção, a AWS recomenda revisar e adaptar o código às políticas de segurança e conformidade da organização, testar em ambiente não-produtivo, implementar controles de segurança adequados e validar os procedimentos de recuperação em relação aos RTO e RPO definidos. Um ponto de atenção importante: a ferramenta não foi projetada para execução paralela — múltiplas instâncias simultâneas na mesma conta AWS podem causar throttling nas APIs. Se múltiplas equipes precisarem usar a ferramenta, recomenda-se implementar um mecanismo de controle de concorrência, como uma tabela de lock no DynamoDB.

    Arquitetura para execução agendada

    Para uma estratégia de backup em nível de produção, a AWS descreve uma arquitetura serverless baseada em três serviços gerenciados:

    • Amazon EventBridge: atua como agendador, disparando o fluxo de backup em cadência definida (por exemplo, diariamente à meia-noite) via regras cron ou baseadas em taxa.
    • AWS Step Functions: é a camada de orquestração, coordenando os passos individuais de backup em sequência, com tratamento de erros, lógica de retry e histórico de execução.
    • AWS Lambda: implementa cada passo individual como uma função independente e stateless, contornando as restrições de tempo inerentes ao processo de exportação assíncrona.

    O fluxo de trabalho inclui: backup de usuários e grupos (pode rodar em paralelo com os demais), descoberta de ativos, geração de bundles e verificação de status. Para controlar o volume de chamadas de API — especialmente nas operações com limites de taxa baixos — é possível usar o campo MaxConcurrency do inline map state no Step Functions.

    Estimativa de custos

    Os custos da solução são mínimos. Bundles de ativos são arquivos ZIP comprimidos armazenados no S3, com média de aproximadamente 500 KB por bundle de até 100 ativos. Mesmo em implantações muito grandes do QuickSight com milhares de ativos, o custo mensal de armazenamento no S3 fica bem abaixo de US$ 0,01.

    Para o DynamoDB, onde ficam armazenados os metadados de usuários e grupos, o custo é igualmente baixo: para organizações de pequeno e médio porte, fica abaixo de US$ 0,10 por snapshot de backup. Mesmo para grandes organizações com dezenas de milhares de usuários, os custos permanecem na casa dos poucos dólares por snapshot.

    Para backups agendados com retenção de 90 dias, o custo total de armazenamento ainda fica na casa de poucos dólares para a maioria das implantações. O uso de políticas de ciclo de vida do S3 e a classe DynamoDB Standard-IA podem otimizar ainda mais os custos.

    Conclusão

    A AWS publicou um guia abrangente sobre como proteger os ativos de BI do Amazon QuickSight com uma estratégia de backup bem estruturada. A abordagem cobre desde a seleção de ativos e o uso das APIs AssetsAsBundle até uma ferramenta de automação pronta para uso que armazena bundles no S3 e metadados de usuários no DynamoDB.

    Para equipes que já usam o QuickSight em ambientes críticos, o ponto de partida recomendado é clonar a ferramenta do repositório AWS Samples, testá-la em ambiente não-produtivo e começar com uma configuração simples cobrindo os dashboards mais críticos. Para saber mais sobre o Amazon QuickSight, consulte o Guia do Usuário do Amazon QuickSight.

    Fonte

    Implement a backup strategy for Amazon Quick Sight BI assets (https://aws.amazon.com/blogs/machine-learning/implement-a-backup-strategy-for-amazon-quick-sight-bi-assets/)

  • AWS WAF passa a proteger o Amazon Bedrock AgentCore Gateway

    O que foi anunciado

    A AWS anunciou a disponibilidade geral do AWS WAF (Firewall de Aplicações Web) para o Amazon Bedrock AgentCore Gateway. Com isso, equipes de segurança e plataforma passam a contar com uma camada de proteção consistente e configurável para workloads de IA agêntica, diretamente no nível do Gateway.

    Por que essa novidade importa

    À medida que as empresas avançam com aplicações agênticas — saindo da fase de protótipos e indo para ambientes de produção — a necessidade de controles de segurança robustos cresce proporcionalmente. O AgentCore Gateway atua como ponto central de entrada para agentes, ferramentas e integrações, o que o torna um alvo natural para exploits e tráfego abusivo.

    Antes dessa integração, proteger cada componente downstream de forma individual era uma tarefa operacionalmente custosa. Agora, com o AWS WAF operando na camada do Gateway, uma única configuração cobre todos os alvos conectados a ele.

    O que é possível configurar

    Ao associar um pacote de proteção do AWS WAF ao AgentCore Gateway, as equipes podem aplicar:

    • Controles de acesso baseados em IP — para restringir ou permitir origens específicas;
    • Regras baseadas em taxa (rate-based rules) — para bloquear ou limitar tráfego abusivo automaticamente;
    • Grupos de Regras Gerenciadas da AWS (AWS Managed Rule Groups) — incluindo conjuntos de regras comuns, entradas maliciosas conhecidas e o Bot Control.

    Como funciona na prática

    A lógica de operação é direta: o pacote de proteção é configurado uma única vez no nível do Gateway, e o AWS WAF aplica essas regras de forma consistente a todos os alvos registrados atrás desse Gateway — sejam ferramentas, agentes ou integrações. Isso elimina a necessidade de configurações redundantes por componente e reduz a superfície de erro operacional.

    Disponibilidade

    O suporte ao AWS WAF no AgentCore Gateway está disponível em todas as Regiões AWS onde tanto o AWS WAF quanto o Amazon Bedrock AgentCore Gateway estiverem disponíveis.

    Saiba mais

    Para aprofundar o tema, a AWS disponibiliza o Guia do Desenvolvedor do AWS WAF e a documentação do Amazon Bedrock AgentCore.

    Fonte

    AWS WAF adds support for Amazon Bedrock AgentCore Gateway (https://aws.amazon.com/about-aws/whats-new/2026/06/aws-waf-amazon-bedrock-agentcore/)

  • Como combinar Amazon Nova 2 Lite com Claude para processar documentos com custo otimizado

    O problema: digitalizar documentos com fotos e nomes

    Imagine uma página de anuário escolar escaneada: 176 nomes impressos, 4 fotografias de retrato e zero estrutura legível por máquina que conecte um ao outro. Para digitalizar essa página de forma confiável, você precisa detectar as fotos com coordenadas precisas, extrair os nomes visíveis e, o mais difícil, descobrir qual nome pertence a qual rosto com base no layout da página.

    A AWS publicou um estudo técnico detalhado mostrando como resolver esse problema de forma eficiente usando dois modelos em sequência no Amazon Bedrock: o Amazon Nova 2 Lite e o Claude Sonnet 4.6 da Anthropic.

    A arquitetura: pipeline de dois estágios

    A solução divide o trabalho em dois estágios bem definidos, cada um usando o modelo mais adequado para sua tarefa específica.

    Imagem original — fonte: Aws

    Estágio 1 — Amazon Nova 2 Lite: recebe a imagem da página escaneada e, em uma única chamada à API Converse, realiza três tarefas simultaneamente: detecta as fotos com bounding boxes (caixas delimitadoras) e classificações, extrai os nomes visíveis na página com suas posições aproximadas, e retorna metadados da página como títulos e categorias.

    Estágio 2 — Claude Sonnet 4.6: recebe o resultado do Nova (nomes com posições e bounding boxes das fotos) e aplica raciocínio espacial para determinar qual nome corresponde a qual rosto, levando em conta a variabilidade de layouts de página.

    Uma decisão de projeto importante: o Nova 2 Lite é configurado para retornar apenas os nomes visíveis, não todo o texto da página. Isso mantém o custo do primeiro estágio baixo — cerca de 1.000 tokens de saída por página, em vez dos aproximados 4.500 tokens que uma passagem completa de OCR (Reconhecimento Óptico de Caracteres) produziria.

    Precificação fixa por imagem no Nova 2 Lite

    Um ponto técnico relevante destacado no estudo é a mudança na forma como o Amazon Nova 2 Lite cobra entradas de imagem: agora utiliza uma taxa fixa por imagem, independentemente da resolução ou tamanho do arquivo. Isso torna o custo por página previsível em escala.

    A quebra de custo por página no primeiro estágio fica assim:

    • Tokens de imagem (fixos): 230 tokens a $0,30/M → $0,000069/página
    • Tokens de prompt (estimado): 500 tokens a $0,30/M → $0,000150/página
    • Tokens de saída (estimado): 1.000 tokens a $2,50/M → $0,0025/página
    • Total do estágio 1: ~$0,0027/página

    Para consultar as taxas atuais, a AWS disponibiliza a página de preços do Amazon Bedrock.

    Raciocínio adaptativo do Claude para correspondência espacial

    O Claude Sonnet 4.6 no Amazon Bedrock suporta o que a Anthropic chama de adaptive thinking (raciocínio adaptativo): o modelo decide internamente quanto raciocínio aplicar com base na complexidade da entrada. Para ativá-lo, basta configurar type como adaptive no campo thinking da chamada à API Converse:

    response = bedrock_runtime.converse(
        modelId='us.anthropic.claude-sonnet-4-6',
        messages=[{
            'role': 'user',
            'content': [
                {'image': {'format': 'jpeg', 'source': {'bytes': image_bytes}}},
                {'text': spatial_reasoning_prompt}
            ]
        }],
        additionalModelRequestFields={
            'thinking': {
                'type': 'adaptive'
            }
        }
    )

    Na prática, uma grade de retratos com oito nomes organizados acima de oito rostos recebe uma resposta direta com raciocínio mínimo. Já uma página com três fotos de grupo compartilhando um bloco de legenda e nomes em uma coluna lateral dispara uma análise espacial passo a passo. No teste com 336 páginas, o Claude usou raciocínio estendido em todas as páginas, com traços de raciocínio variando de 544 a 1.658 caracteres.

    Atenção ao custo do raciocínio adaptativo: tokens de raciocínio são cobrados como tokens de saída à taxa padrão ($15,00/M tokens de saída para o Claude Sonnet 4.6 via inferência entre regiões). Os traços de raciocínio aparecem na resposta da API em um bloco separado (thinking), mas não são exibidos aos usuários finais. É recomendável monitorar inputTokens e outputTokens nos metadados da resposta.

    Implementação passo a passo

    O código-fonte completo, imagens de exemplo e notebook Jupyter estão disponíveis no repositório AWS Samples no GitHub.

    Pré-requisitos

    • Conta AWS com acesso ao Amazon Bedrock em uma região onde o Nova 2 Lite e o Claude Sonnet 4.6 estejam disponíveis
    • Acesso aos modelos us.amazon.nova-2-lite-v1:0 e us.anthropic.claude-sonnet-4-6 habilitado no console do Amazon Bedrock
    • Perfil do Gerenciamento de Identidade e Acesso (IAM) com permissão para bedrock:InvokeModel e bedrock:Converse nos dois modelos
    • Python 3.10 ou superior com o SDK boto3 instalado
    • Bibliotecas rapidfuzz (para correspondência fuzzy de nomes) e Pillow (para visualização)
    • Imagens escaneadas em formato JPEG ou PNG

    Estágio 1: detecção de fotos e extração de nomes com o Nova 2 Lite

    A chamada ao Nova 2 Lite usa a API Converse com raciocínio configurado no nível LOW (baixo), que se mostrou tão preciso quanto os níveis MEDIUM e HIGH para essa tarefa de extração estruturada, e é a opção mais barata:

    def extract_photos_and_names(image_bytes):
        """Detect photos and extract visible names with Amazon Nova 2 Lite."""
        # Using the Converse API consistently for all Bedrock calls
        response = bedrock_runtime.converse(
            modelId='us.amazon.nova-2-lite-v1:0',
            # Note: cross-region inference profile (us.amazon.nova-2-lite-v1:0)
            messages=[{
                'role': 'user',
                'content': [
                    {
                        'image': {
                            'format': 'jpeg',
                            'source': {'bytes': image_bytes}
                        }
                    },
                    {'text': PHOTO_AND_NAME_EXTRACTION_PROMPT}
                ]
            }],
            inferenceConfig={
                'maxTokens': 8000,
                'temperature': 0
            },
            additionalModelRequestFields={
                'reasoning_config': {
                    'type': 'enabled',
                    'level': 'LOW'
                }
            }
        )
        raw = response['output']['message']['content'][0]['text']
        return json.loads(raw)

    O modelo retorna um objeto JSON com fotos e nomes, todos usando a escala de coordenadas 0–1000:

    {
      "page_title": "Junior Class Officers",
      "photos": [
        {
          "bbox": [245, 180, 410, 520],
          "type": "portrait",
          "category": "class_officers",
          "summary": "Individual portrait photo"
        }
      ],
      "names": [
        {
          "text": "Cecilia Phillips",
          "bbox": [260, 540, 395, 570]
        },
        {
          "text": "John Kolander",
          "bbox": [420, 540, 555, 570]
        }
      ]
    }

    Os campos page_title e category também servem para indexação e filtragem — com uma única chamada à API, o Nova 2 Lite entrega detecção de fotos, nomes com posições e metadados estruturados.

    Estágio 2: correspondência nome-rosto com o Claude

    O Claude recebe o resultado do Nova (nomes e bounding boxes de fotos, ambos no mesmo espaço de coordenadas 0–1000) junto com a imagem original e realiza o raciocínio espacial:

    spatial_prompt = f"""Given these names with page coordinates:
    {json.dumps(ocr_tokens)}
    
    And these detected photos with bounding boxes:
    {json.dumps(photo_detections)}
    
    Match each person's name to their photo based on spatial position.
    Return JSON:
    {{"associations": [{{"name": str, "face_idx": int, "confidence": float, "reasoning": str}}]}}}"""
    
    response = bedrock_runtime.converse(
        modelId='us.anthropic.claude-sonnet-4-6',
        messages=[{
            'role': 'user',
            'content': [
                {'image': {'format': 'jpeg', 'source': {'bytes': image_bytes}}},
                {'text': spatial_prompt}
            ]
        }],
        additionalModelRequestFields={
            'thinking': {'type': 'adaptive'}
        }
    )

    Cada associação retornada inclui um campo reasoning que explica a lógica espacial usada — útil para depurar páginas onde a correspondência falha.

    Estágio 3: validação e montagem dos resultados

    O estágio final aplica limiares de confiança e correspondência fuzzy de nomes (usando rapidfuzz) para filtrar associações de baixa qualidade. O pipeline gera dois arquivos por página: um JSON com os dados de associação e uma imagem de visualização com linhas conectando nomes aos rostos correspondentes.

    Resultados do teste com 336 páginas

    O pipeline foi executado contra 336 páginas escaneadas de anuários escolares e produziu:

    • 3.122 associações nome-rosto no total
    • 93,3% das associações com confiança igual ou superior a 0,95
    • 6,5% com confiança entre 0,90 e 0,94
    • Apenas 0,3% abaixo do limiar de 0,90

    Páginas com grade de retratos (282 de 336) tiveram em média 10,9 associações por página e foram tratadas de forma confiável. Páginas somente com texto foram corretamente ignoradas. Páginas com layouts mistos (retratos e fotos de grupo) produziram associações parciais.

    Comparação de custos: dois modelos vs. modelo único

    A divisão em dois modelos custa aproximadamente dois terços a menos por página do que enviar tudo para o Claude em uma única chamada:

    • Pipeline de dois modelos: ~$0,033/página (~$3.300 por 100 mil páginas)
    • Claude único (OCR + detecção + raciocínio): ~$0,10/página (~$9.800 por 100 mil páginas)

    No teste real com 336 páginas, o custo total ficou em aproximadamente $10,99 ($0,91 para o Nova 2 Lite + $10,08 para o Claude).

    Otimizações adicionais de custo

    • Inferência em lote do Amazon Bedrock: desconto de 50% para workloads que podem ser processados de forma assíncrona. O custo do estágio Nova 2 Lite cai de ~$0,0027 para ~$0,0014 por página.
    • Cache de prompt: para pipelines que usam o mesmo prompt de detecção em milhares de páginas, o cache pode reduzir o custo dos tokens de prompt em até 90%.
    • Controle de orçamento de raciocínio: é possível definir um limite de budgetTokens no campo thinking do Claude para controlar o custo de raciocínio em páginas mais simples.

    Latência por página

    Cada página passa por duas chamadas de API sequenciais. No teste realizado, o estágio do Claude (raciocínio espacial com imagem) levou entre 20 e 30 segundos por página. O Nova 2 Lite completou em 2 a 5 segundos. Para processamento em lote, as páginas podem ser paralelizadas, pois cada uma é independente.

    Além dos anuários: aplicação do padrão

    O padrão descrito pela AWS vai além da digitalização de anuários escolares. Qualquer documento que combine fotos e texto associado — arquivos históricos, diretórios de pessoal, anúncios imobiliários, catálogos de produtos — precisa das mesmas capacidades: detectar elementos visuais, extrair o texto relevante e conectar os dois por meio de raciocínio espacial.

    Para saber mais sobre os serviços utilizados, a AWS disponibiliza a documentação do Amazon Nova no Amazon Bedrock e do raciocínio adaptativo com Claude no Amazon Bedrock. O notebook completo com exemplos está disponível no repositório AWS Samples no GitHub.

    Fonte

    Pair Nova 2 Lite with Claude for cost-optimized document processing (https://aws.amazon.com/blogs/machine-learning/pair-nova-2-lite-with-claude-for-cost-optimized-document-processing/)

  • CloudTroop Weekly #018 — 2026-w26





    CloudTroop Weekly #018 — 2026-w26

    28 de junho de 2026

    Resumo da Semana

    A semana foi dominada por IA agêntica em produção — e os desafios reais que vêm com ela: isolamento de código não confiável, governança de dados em pipelines autônomos e multi-tenancy seguro no Bedrock. Em paralelo, a AWS entregou mudanças que exigem ação imediata: o Network Firewall alterou seu comportamento padrão de drop, o Cognito ganhou suporte a chaves gerenciadas pelo cliente e o CloudWatch Logs passa a ingerir syslog sem agentes. Governança e segurança deixaram de ser etapa final — estão no centro de qualquer arquitetura cloud moderna.

    O que muda na prática

    • O AWS Network Firewall mudou a ação padrão de drop — configurações existentes em produção podem bloquear conexões TCP legítimas e tráfego com TLS pós-quântico sem que você perceba.
    • O Amazon Cognito agora suporta CMK para criptografia em repouso sem custo adicional, desbloqueando conformidade regulatória (LGPD, HIPAA, PCI) para quem usa os planos Essentials e Plus.
    • IA agêntica exige uma camada de segurança própria: RAG tradicional não é suficiente para agentes autônomos — controle de acesso granular com S3 Tables, S3 Vectors e AgentCore Gateway passa a ser requisito arquitetural, não opcional.

    Ações da semana

    • Revise agora as políticas do seu AWS Network Firewall em produção: valide se a mudança na ação padrão de drop está impactando conexões TCP de longa duração ou ambientes com criptografia PQC ativada.
    • Se você usa Amazon Cognito em ambiente regulado, habilite o suporte a CMK esta semana — o recurso está disponível sem custo extra e pode ser o item que falta para fechar um requisito de compliance.

    Top 10 da Semana

    1

    Prevenção de exfiltração de dados: controles de egress na AWS

    Guia arquitetural completo e incremental para proteger workloads cloud e sistemas de IA agêntica contra vazamento de dados, cobrindo desde Network Firewall até GuardDuty.

    Para quem: Arquitetos de segurança e engenheiros cloud responsáveis por compliance e proteção de dados em ambientes AWS.

    Segurança, Egress

    2

    AWS Lambda MicroVMs: isolamento VM para código de usuários e IA

    Nova primitiva serverless resolve o trilema isolamento-velocidade-estado para aplicações multi-tenant que executam código gerado por IA ou fornecido por usuários.

    Para quem: Engenheiros de plataforma e arquitetos que constroem SaaS multi-tenant ou ambientes de execução de código não confiável.

    Serverless, Isolamento

    3

    IA agêntica com data mesh: governança e segurança granular na AWS

    Mostra por que RAG tradicional é insuficiente para agentes autônomos e como aplicar controle de acesso em múltiplas camadas com S3 Tables, S3 Vectors e AgentCore Gateway.

    Para quem: Arquitetos de dados e engenheiros de IA que precisam garantir rastreabilidade e segurança em pipelines agênticos corporativos.

    IA Agêntica, Governança

    4

    Amazon Cognito agora suporta CMK para criptografia em repouso

    Permite que organizações com requisitos regulatórios controlem totalmente as chaves de criptografia dos dados de identidade dos usuários, sem custo adicional nos planos Essentials e Plus.

    Para quem: Engenheiros de segurança e times de compliance que gerenciam autenticação em setores regulados como saúde e financeiro.

    Segurança, IAM

    5

    EC2 AMI Watermarks: rastreabilidade e governança de imagens

    Permite rastrear a proveniência de AMIs e suas derivadas automaticamente entre regiões, reforçando políticas de governança sem custo adicional.

    Para quem: Times de plataforma e segurança que gerenciam pipelines de golden AMIs e precisam garantir conformidade de imagens em escala.

    Governança, EC2

    6

    Multi-tenancy com Bedrock AgentCore: isolamento sem abrir mão da eficiência

    Apresenta padrões concretos de isolamento de dados, rastreamento de custos por tenant e observabilidade granular para SaaS baseado em IA agêntica.

    Para quem: Arquitetos e engenheiros que constroem plataformas SaaS multi-tenant sobre Amazon Bedrock AgentCore.

    IA Agêntica, Multi-tenancy

    7

    Overlays agênticos: modernize APIs legadas sem reescrever código

    Abordagem prática para expor serviços REST existentes no protocolo A2A sem refatoração, acelerando a adoção de IA agêntica em ambientes corporativos com legado.

    Para quem: Engenheiros e arquitetos responsáveis por modernização de sistemas legados que precisam integrá-los a ecossistemas de agentes de IA.

    IA Agêntica, Modernização

    8

    Network Firewall muda ação padrão de drop — revise suas políticas

    A mudança no comportamento padrão pode impactar conexões TCP legítimas e ambientes com TLS pós-quântico fragmentado, exigindo revisão ativa de configurações existentes.

    Para quem: Engenheiros de rede e segurança que operam o AWS Network Firewall em produção, especialmente com criptografia PQC ou conexões de longa duração.

    Rede, Segurança

    9

    CloudWatch Logs agora ingere syslog nativo sem agentes

    Elimina a necessidade de agentes para coletar logs de dispositivos de rede e servidores Linux, simplificando a centralização de logs em ambientes híbridos e reduzindo overhead operacional.

    Para quem: Engenheiros de operações e SREs que gerenciam observabilidade de infraestrutura híbrida com dispositivos de rede e servidores Linux.

    Observabilidade, Operações

    10

    IAM Identity Center: cotas separadas para contas e aplicações

    Remove a limitação compartilhada entre contas AWS e aplicações no IAM Identity Center, desbloqueando crescimento independente em organizações de grande porte.

    Para quem: Administradores de identidade e times de plataforma que gerenciam ambientes AWS multi-account com muitas aplicações integradas ao SSO.

    IAM, Governança


  • AWS Network Firewall agora suporta regras gerenciadas de inteligência de ameaças da VisionHeight

    Novos grupos de regras gerenciadas chegam ao AWS Network Firewall

    A AWS expandiu as opções de regras gerenciadas disponíveis no AWS Network Firewall com a adição de dois novos grupos fornecidos pela VisionHeight, acessíveis por meio do AWS Marketplace. As novidades são o Zero-Day Threat Protection e o Noisy Scanners and Tor Protection, e chegam para reforçar a capacidade de defesa de equipes que gerenciam workloads expostos a ameaças direcionadas.

    Esses grupos de regras se somam às opções já disponíveis de outros fornecedores — como Check Point, Fortinet, Infoblox, Lumen, Rapid7, ThreatSTOP e Trend Micro — ampliando ainda mais o ecossistema de proteção gerenciada do serviço.

    O que cada grupo de regras oferece

    Zero-Day Threat Protection

    Este grupo é focado em bloqueio proativo de infraestrutura IP maliciosa — ou seja, ele age antes que os endereços suspeitos apareçam nas listas públicas de bloqueio. A inteligência por trás dessa proteção é alimentada pela telemetria Pulse, da própria VisionHeight, o que permite identificar ameaças emergentes com semanas de antecedência em relação às fontes públicas tradicionais.

    Para organizações que lidam com ataques direcionados, essa antecipação pode fazer uma diferença real: workloads ficam protegidos mesmo contra ameaças que ainda não foram catalogadas publicamente.

    Noisy Scanners and Tor Protection

    Já este grupo tem um objetivo diferente, mas igualmente valioso: reduzir o ruído operacional nos ambientes de segurança. Ele atua bloqueando a comunicação com nós de saída ativos da rede Tor e filtrando tráfego proveniente de fontes conhecidas por varreduras em alto volume.

    O diferencial aqui está na abordagem: o bloqueio acontece no primeiro pacote, antes mesmo que os eventos sejam gerados. Na prática, isso significa menos alertas no Centro de Operações de Segurança (SOC), menor custo de ingestão no Sistema de Gerenciamento de Informações e Eventos de Segurança (SIEM) e a eliminação da rede Tor como vetor de entrada ou saída do ambiente. Os grupos de regras são atualizados diariamente, mantendo a proteção sempre alinhada ao cenário de ameaças atual.

    Por que isso importa para equipes de segurança

    A disponibilidade de regras gerenciadas com inteligência proprietária é um avanço relevante para times que precisam de proteção eficaz sem necessariamente manter uma operação de threat intelligence própria. Com grupos de regras como esses, é possível incorporar inteligência de ameaças de fornecedores especializados diretamente na camada de firewall de rede, de forma gerenciada e com atualizações automáticas.

    Para verificar as regiões onde os novos grupos estão disponíveis, a AWS recomenda consultar a página de serviços regionais. Para começar a usar, o acesso pode ser feito pelo console do AWS Network Firewall ou navegando pelas regras disponíveis no AWS Marketplace. Mais detalhes estão na página do produto AWS Network Firewall e na documentação oficial do serviço.

    Fonte

    AWS Network Firewall now supports managed threat intelligence rules from VisionHeight (https://aws.amazon.com/about-aws/whats-new/2026/06/network-firewall-visionheight-managed-rules)

  • Implementando super resolução com SeedVR2 no Amazon SageMaker AI

    O problema: acervos de vídeo em baixa resolução num mundo de telas 4K

    À medida que as tecnologias de exibição avançam para resoluções cada vez mais altas, organizações de todos os tamanhos enfrentam um desafio em comum: seus acervos de vídeo existentes foram produzidos em resoluções menores e aparecem pixelados ou borrados em monitores modernos de alta definição. As abordagens tradicionais de upscaling costumam tropeçar em limitações computacionais, qualidade inconsistente e dificuldade de escalar quando o volume de conteúdo é grande. Além disso, muitas soluções não conseguem restaurar detalhes finos, afiar bordas ou reduzir artefatos de ruído de forma satisfatória.

    Para endereçar esse cenário, a AWS publicou um guia técnico demonstrando como implantar o SeedVR2 no Amazon SageMaker AI para realizar super resolução de vídeos de forma escalável e com controle de custos.

    O que é o SeedVR2?

    O SeedVR2 é um modelo open-source de restauração de vídeo desenvolvido pelo time Seed da ByteDance. Ele analisa as informações visuais quadro a quadro para reconstruir detalhes e melhorar a qualidade do vídeo, eliminando a necessidade de readquirir conteúdo em resoluções mais altas.

    Tecnicamente, o SeedVR2 combina modelos de difusão e Redes Adversariais Generativas (GANs) por meio de um processo chamado diffusion adversarial post-training (APT). A arquitetura base conta com 16 bilhões de parâmetros e opera em duas etapas:

    • Destilação progressiva: comprime 64 passos de inferência em apenas 1, tornando o processo muito mais eficiente.
    • Treinamento com dados reais: o modelo aprende a partir de vídeos reais em alta resolução, garantindo resultados mais naturais.

    A arquitetura usa um Swin Transformer para atenção adaptativa por janelas (adaptive window attention) e incorpora múltiplos mecanismos de estabilização: RpGAN relativístico (RpGAN), regularização R1/R2 e feature matching loss. A inovação central está em combinar a confiabilidade dos modelos de difusão com a eficiência das GANs, permitindo processar frames inteiros enquanto se ajusta dinamicamente às resoluções-alvo.

    Imagem original — fonte: Aws

    Casos de uso

    O upscaling de vídeo tem aplicações relevantes em diversos setores:

    • Preservação de patrimônio cultural: arquivos, museus e emissoras podem restaurar e digitalizar filmagens históricas em resoluções mais altas, tornando o conteúdo adequado para plataformas modernas.
    • Serviços de streaming: plataformas podem fazer upscaling de séries e filmes antigos para 4K ou resoluções superiores, melhorando a experiência dos assinantes sem precisar remasterizar todo o acervo.
    • Vídeos gerados por IA: um caso de uso emergente e valioso é o upscaling de vídeos sintéticos, que normalmente são gerados em resoluções menores por conta do alto custo computacional da geração direta em alta resolução. Com essa abordagem, criadores podem prototipar rapidamente em baixa resolução e depois aprimorar o resultado, reduzindo tempo e recursos no fluxo de produção de vídeo com IA.

    Arquitetura da solução

    A solução proposta pela AWS usa uma arquitetura de três camadas definida com o Kit de Desenvolvimento para Nuvem da AWS (AWS CDK) como infraestrutura como código. As três camadas são:

    SecurityStack — fundação de segurança

    Essa camada estabelece a base com configuração de Nuvem Privada Virtual da Amazon (Amazon VPC), funções de Gerenciamento de Identidade e Acesso da AWS (AWS IAM) com acesso de menor privilégio e chaves de criptografia do Serviço de Gerenciamento de Chaves da AWS (AWS KMS). Ela cria o perímetro de segurança que isola as cargas de trabalho de processamento de vídeo em sub-redes privadas, mantendo acesso seguro aos serviços AWS por meio de endpoints de VPC.

    DataStack — camada de armazenamento

    Implementa a camada de armazenamento com buckets do Serviço de Armazenamento Simples da Amazon (Amazon S3) com criptografia no servidor tanto para os vídeos de entrada quanto para os de saída. O bucket de entrada armazena os vídeos brutos; o de saída guarda os vídeos já processados. Ambos têm versionamento habilitado com políticas de ciclo de vida para gerenciamento de objetos.

    Pipeline de processamento

    O núcleo do processamento passa por uma função AWS Lambda que dispara um job de processamento do Amazon SageMaker AI. O job de processamento usa instâncias ml.g5.4xlarge que executam um container Docker customizado. Esse container empacota o modelo SeedVR2 para ComfyUI e oferece upscaling de vídeo de alta qualidade com parâmetros configuráveis de resolução e processamento em lote. O ComfyUI serve como framework de inferência, fornecendo execução otimizada para hardware.

    O fluxo começa quando um vídeo é enviado ao bucket S3 de entrada. A função Lambda então cria um job de processamento no SageMaker, que puxa o container customizado do Registro de Containers Elástico da Amazon (Amazon ECR), monta os buckets S3 de entrada e saída, e executa o algoritmo de upscaling na infraestrutura com GPU. Os vídeos processados são salvos no bucket de saída. O Amazon CloudWatch fornece logs para monitoramento e resolução de problemas em todo o pipeline.

    Como implantar a solução

    Pré-requisitos

    Antes de começar, é necessário ter instalados e configurados: Python 3.13 ou superior, a Interface de Linha de Comando da AWS (AWS CLI), Docker, AWS CDK v2, uma conta AWS com as permissões adequadas e uma solicitação de cota de serviço para ml.g5.4xlarge em jobs de processamento do SageMaker.

    Passo 1: clonar o projeto e configurar o ambiente

    git clone https://github.com/aws-samples/sample-sagemaker-video-upscaler.git
    cd sample-sagemaker-video-upscaler
    cp .env.example .env

    Edite o arquivo .env com os dados da sua conta AWS:

    AWS_ACCOUNT_ID=<AWS Account ID>
    REGION=<AWS Region>

    Passo 2: instalar dependências e inicializar o AWS CDK

    curl -LsSf https://astral.sh/uv/install.sh | sh
    uv venv --python 3.13 and source .venv/bin/activate
    uv sync

    Em seguida, faça o bootstrap do CDK na sua conta (etapa única). Se encontrar erros de permissão, verifique suas credenciais com aws sts get-caller-identity.

    cdk bootstrap aws://<AWS_ACCOUNT_ID>/<REGION>

    Passo 3: autenticar com o Amazon ECR

    Autentique o Docker no registro ECR de containers de aprendizado profundo da AWS na região us-east-1. Isso é necessário para baixar a imagem base do PyTorch durante o build local do Docker, independentemente da região de implantação.

    aws ecr get-login-password --region us-east-1 | \
    docker login --username AWS --password-stdin \
    763104351884.dkr.ecr.us-east-1.amazonaws.com

    Passo 4: implantar a infraestrutura

    Um único comando cria toda a infraestrutura: VPC, buckets S3, função Lambda, definição do job de processamento do SageMaker e repositório no ECR. O processo leva entre 15 e 20 minutos, dependendo da capacidade de computação e da velocidade de rede.

    cdk deploy --all --require-approval never

    Passo 5: testar o pipeline

    Envie um vídeo de teste para o bucket S3 de entrada:

    aws s3 cp your-video.mp4 s3://<account-id>-<region>-datastack-input-bucket/

    Dispare a função Lambda para iniciar o job de processamento:

    aws lambda invoke \
      --function-name SeedVrStack-ProcessingJob-Trigger-SeedVr-trigger-Lambda \
      --payload '{}' \
      output.json

    O progresso pode ser acompanhado pelos logs do CloudWatch para a execução da Lambda, pelo console do SageMaker para o status do job de processamento e pelo console do S3 para verificar o vídeo aprimorado na saída. Se o job falhar, revise os logs do CloudWatch em /aws/sagemaker/ProcessingJobs.

    Ajuste de performance e custos

    Os parâmetros de processamento podem ser personalizados no arquivo config/config.yaml:

    InstanceType: ml.g5.4xlarge # Minimum resolution: "540" # Output quality batch_size: "81" # Processing efficiency model: "seedvr2_ema_3b_fp8_e4m3fn.safetensors"

    Para a lista completa de modelos disponíveis, consulte os modelos SeedVR2 para ComfyUI no Hugging Face.

    Em relação a custos, a instância ml.g5.4xlarge custa aproximadamente USD 1,20 por hora (valor no momento da publicação, podendo variar por região), e a cobrança ocorre apenas pelo tempo de uso da instância. Os custos de armazenamento no S3 são mínimos para a maioria dos casos de uso.

    Para conjuntos de dados maiores, é possível escalar com múltiplas instâncias paralelas alterando o parâmetro S3DataDistributionType para ShardedByS3Key na chamada boto3 de create_processing_job. Mais detalhes estão disponíveis na referência da API ProcessingS3Input.

    Comparativo de qualidade: o que muda na prática

    O artigo original apresenta três estágios de comparação para ilustrar os ganhos de qualidade:

    Vídeo original (240p)

    O material de origem é um clipe em resolução 240p. A pixelação é visível, especialmente nas bordas, e há pouco detalhe e clareza — algo que se torna ainda mais evidente em telas de alta resolução modernas.

    Imagem original — fonte: Aws

    Upscaling bicúbico (540p)

    Ao aplicar o método tradicional de upscaling bicúbico para atingir 540p, há pequenas melhorias de nitidez geral. No entanto, as limitações da interpolação matemática ficam evidentes: a imagem fica maior, mas surgem artefatos como suavização excessiva de texturas. O algoritmo não consegue recriar detalhes autênticos, produzindo resultados com aparência artificial.

    Upscaling com SeedVR2 (540p)

    O resultado do SeedVR2 demonstra melhora visual significativa ao atingir 540p. O aprimoramento baseado em IA reconstrói detalhes finos mantendo texturas com aparência natural — melhor clareza em texturas, consistência de cores e definição de bordas. O resultado tem uma qualidade mais cinematográfica em comparação aos métodos tradicionais.

    Limpeza dos recursos

    Para evitar cobranças desnecessárias após os testes, o artigo recomenda seguir quatro etapas de limpeza:

    Passo 1: esvaziar os buckets S3

    aws s3 rm s3://<seedvr-input-bucket> --recursive
    aws s3 rm s3://<seedvr-output-bucket> --recursive

    Passo 2: destruir as stacks do AWS CDK

    cdk destroy --all --force

    Passo 3: limpar arquivos locais

    rm -rf cdk.out/ .cdk.staging/
    find . -type d -name "__pycache__" -delete

    Passo 4: verificar a limpeza

    aws cloudformation list-stacks --stack-status-filter DELETE_COMPLETE
    aws s3 ls | grep seedvr
    aws sagemaker list-processing-jobs --max-results 5

    Conclusão

    A combinação do SeedVR2 com a infraestrutura gerenciada do Amazon SageMaker AI oferece uma abordagem custo-eficiente para aprimoramento de vídeo em escala. A arquitetura sob demanda suporta uso eficiente de recursos, e o fluxo automatizado reduz intervenção manual — tornando o aprimoramento de vídeo de alta qualidade acessível a organizações de todos os tamanhos.

    À medida que o conteúdo em vídeo cresce e as tecnologias de exibição avançam, soluções de upscaling eficientes se tornam cada vez mais relevantes. Essa implementação mostra como a arquitetura em nuvem pode democratizar o acesso ao processamento avançado de vídeo sem exigir grandes investimentos em infraestrutura própria.

    Para começar, explore o repositório sample-sagemaker-video-upscaler no GitHub e implante a solução para o seu caso de uso. Contribuições via pull requests e abertura de issues para melhorias e correções também são bem-vindas.

    Fonte

    Implementing super resolution by deploying SeedVR2 on Amazon SageMaker AI (https://aws.amazon.com/blogs/machine-learning/implementing-super-resolution-by-deploying-seedvr2-on-amazon-sagemaker-ai/)

  • Construindo aplicações de IA agêntica com data mesh na AWS

    O problema que RAG não resolve para agentes autônomos

    Quando um agente de atendimento ao cliente precisa consultar bancos de dados de pedidos, recuperar políticas de devolução e sintetizar uma resposta completa de forma autônoma, ele está acessando múltiplas fontes de dados ao mesmo tempo. E cada um desses acessos precisa ser governado de forma independente.

    A AWS publicou um artigo técnico aprofundado mostrando por que o modelo de governança pensado para Geração Aumentada por Recuperação (RAG) não é suficiente para esse cenário — e como construir uma fundação de dados segura, escalável e serverless para agentes de IA em produção.

    Em um post anterior sobre aplicações RAG seguras com data lakes serverless, a AWS demonstrou como aplicar controle de acesso refinado filtrando resultados de busca vetorial com metadados como domínio de negócio e classificação de segurança. Essa abordagem funciona bem para RAG porque o fluxo de dados é simples: recuperar trechos de um índice vetorial pré-construído, filtrar por metadados e apresentar os resultados.

    Com IA agêntica, o cenário muda. O agente descobre quais tabelas existem, entende esquemas, constrói consultas SQL, busca em bases de conhecimento vetorial e sintetiza tudo isso em múltiplas etapas. Um único filtro de metadados na borda da recuperação não consegue governar essa cadeia de cinco passos. Além disso, bancos de dados vetoriais sincronizam permissões periodicamente — o que significa que revogações de acesso não são refletidas imediatamente, uma lacuna inaceitável quando um agente age de forma autônoma sobre dados sensíveis.

    A arquitetura de data mesh governado

    A solução proposta pela AWS organiza a arquitetura em quatro camadas distintas, cada uma com seus próprios controles de autorização:

    • Camada do Agente: o AgentCore Runtime hospeda o agente em microVMs isolados com isolamento de sessão. O agente opera dentro do framework LangGraph, que se integra às ferramentas via MCPClient.
    • Camada do Gateway: o AgentCore Gateway inclui um interceptador de requisições (validação de token JWT e aplicação de escopos), um interceptador de respostas (filtragem de ferramentas, redação de dados e log de auditoria) e a AgentCore Policy com Amazon Bedrock Guardrails, que avalia entradas e saídas de cada invocação de ferramenta em tempo real.
    • Camada de Ferramentas: quatro ferramentas MCP com suporte Lambda (get_user_tables, get_schema, run_query e kb_search) fornecem acesso governado aos dados.
    • Data Mesh Governado: Amazon S3 Tables (Iceberg) registradas no AWS Glue Data Catalog, Amazon Athena com controles de custo por workgroup, AWS Lake Formation aplicando segurança em nível de linha, coluna e célula, e Amazon S3 Vectors alimentando as Knowledge Bases do Amazon Bedrock.

    A ideia central é que nenhuma camada sozinha é responsável pela segurança. A defesa em profundidade garante que uma falha em um único controle não exponha dados não autorizados.

    Três mudanças-chave em relação à arquitetura anterior

    A arquitetura descrita no artigo evolui o modelo RAG anterior com três substituições importantes:

    • Substituição do Amazon OpenSearch Serverless pelo Amazon S3 Vectors para bases de conhecimento com custo otimizado — com potencial de reduzir custos de armazenamento e consulta vetorial em até 90% em cargas de trabalho com frequência moderada de consultas.
    • Substituição do Amazon S3 de uso geral pelo Amazon S3 Tables com suporte nativo ao Apache Iceberg, governado pelo AWS Lake Formation — entregando até 10 vezes mais transações por segundo em comparação com tabelas Iceberg autogerenciadas, com segurança granular em nível de linha, coluna e célula.
    • Exposição do data mesh como ferramentas do Protocolo de Contexto de Modelo (MCP) via AgentCore Gateway com interceptadores Lambda para controle de acesso determinístico em cada invocação agente-ferramenta.

    Dados transacionais: S3 Tables com Apache Iceberg

    Para dados estruturados como registros de pedidos e perfis de clientes, a AWS utiliza o Amazon S3 Tables, descrito como o primeiro object store em nuvem com suporte nativo ao Apache Iceberg. O serviço gerencia automaticamente compactação, snapshots e remoção de arquivos não referenciados.

    O S3 Tables se integra ao Amazon SageMaker Lakehouse, que popula o AWS Glue Data Catalog e federa o acesso via Lake Formation. Os três produtos de dados do exemplo (customer_orders, customer_profiles e interaction_history) são consultáveis via Amazon Athena, governados por permissões do Lake Formation e compactados automaticamente pelo S3 Tables.

    Os filtros de dados do Lake Formation aplicam segurança em nível de linha: um filtro com a expressão customer_id = :customer_id restringe todas as consultas aos registros do cliente autenticado, independentemente de como o agente construiu o SQL. A segurança em nível de coluna oculta campos sensíveis como payment_method e billing_address completamente dos resultados.

    Base de conhecimento vetorial: Amazon S3 Vectors

    Para dados não estruturados como manuais de produtos, políticas de devolução e perguntas frequentes, a arquitetura usa o Amazon S3 Vectors, um serviço totalmente serverless com suporte nativo a armazenamento e consulta vetorial. O serviço suporta até 2 bilhões de vetores por índice e oferece consistência forte de escrita — vetores recém-adicionados são imediatamente consultáveis.

    Clientes que usam o recurso de Knowledge Base no Amazon Bedrock podem selecionar o S3 Vectors como vector store, com potencial de redução de custos de até 90% em cargas de trabalho com frequência moderada de consultas. Para cargas de trabalho de alto volume de consultas por segundo (QPS) que exigem latência de milissegundos de um dígito, o Amazon OpenSearch Serverless ainda é a melhor opção. A AWS oferece exportação em etapa única do S3 Vectors para coleções do OpenSearch Serverless para cargas que superem o perfil de desempenho do S3 Vectors.

    O S3 Vectors suporta metadados filtráveis (tipos string, número, booleano e lista, com operadores como $eq, $ne, $gt, $in, $and, $or). No exemplo do artigo, documentos são armazenados com chaves de metadados filtráveis como product_category e document_type. O filtro a seguir recupera apenas políticas de devolução de eletrônicos:

    {"$and": [{"product_category": {"$eq": "electronics"}}, {"document_type": {"$eq": "return_policy"}}]}

    AgentCore Gateway: expondo o data mesh com segurança

    O AgentCore Gateway é a camada centralizada que gerencia como os agentes de IA se conectam às ferramentas. Ele consolida autenticação, observabilidade e aplicação de políticas em um único endpoint, convertendo funções Lambda, APIs e servidores MCP existentes em ferramentas compatíveis com MCP.

    As quatro ferramentas MCP do exemplo têm funções bem definidas:

    • get_user_tables: consulta o AWS Glue Data Catalog filtrado pelas permissões do Lake Formation para retornar tabelas autorizadas.
    • get_schema: recupera nomes de colunas, tipos e descrições de uma tabela especificada.
    • run_query: valida SQL contra uma lista de permissões somente leitura, injeta a identidade do cliente para filtragem em nível de linha e executa via Athena com limites de custo por bytes escaneados.
    • kb_search: realiza busca semântica com filtros de metadados contra as Knowledge Bases no Amazon Bedrock.

    O esquema de registro da ferramenta run_query no Gateway é definido da seguinte forma:

    {
      "name": "run_query",
      "description": "Executes a read-only SQL query against governed Iceberg tables via Amazon Athena with byte-scan limits and Lake Formation row-level security.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sql": {"type": "string", "description": "A read-only SQL SELECT statement."},
          "database": {"type": "string", "description": "The Glue Data Catalog database name."}
        },
        "required": ["sql", "database"]
      }
    }

    Interceptadores: controle de acesso determinístico

    Os interceptadores do AgentCore Gateway são funções Lambda personalizadas que aplicam autorização em dois momentos do ciclo de vida da requisição: antes de o Gateway chamar a Lambda de destino (interceptador de requisição) e depois que o destino responde mas antes de os resultados chegarem ao chamador (interceptador de resposta).

    O artigo descreve três padrões principais de interceptação:

    • Controle de invocação por escopo JWT: o interceptador de requisição decodifica o campo de escopo do token e bloqueia invocações de ferramentas não autorizadas.
    • Filtragem dinâmica de ferramentas: o interceptador de resposta remove ferramentas não autorizadas da resposta tools/list com base nos escopos por usuário.
    • Propagação de identidade act-on-behalf: cada hop recebe um token separado com escopo reduzido (por exemplo, a ferramenta de pedidos recebe apenas order:read; a ferramenta de KB recebe apenas kb:search), evitando escalada de privilégios e o problema do confused deputy.

    O código do interceptador de resposta para filtragem dinâmica de ferramentas é o seguinte:

    def lambda_handler(event, context):
        gateway_response = event['mcp']['gatewayResponse']
        auth_header = gateway_response['headers'].get('Authorization', '')
        token = auth_header.replace('Bearer ', '')
        claims = decode_jwt_payload(token)
        scopes = claims.get('scope', '').split()
        tools = gateway_response['body']['result'].get('tools', [])
        filtered_tools = [t for t in tools if check_tool_authorization(
            scopes, t['name'].split('___')[1], t['name'].split('___')[0])]
        return {
            "interceptorOutputVersion": "1.0",
            "mcp": {
                "transformedGatewayResponse": {
                    "statusCode": 200,
                    "headers": {"Authorization": auth_header},
                    "body": {"result": {"tools": filtered_tools}}
                }
            }
        }

    O fluxo completo: cenário de atendimento ao cliente

    O artigo usa um cenário prático para ilustrar a arquitetura em ação. Um cliente entra em contato com o suporte e pergunta: “Onde está meu pedido #12345, e ainda posso devolver os fones de ouvido que comprei semana passada?”

    O fluxo passa por cada camada de governança:

    1. Descoberta de ferramentas: o agente chama o endpoint tools/list do Gateway. O interceptador de resposta filtra a lista com base nos escopos JWT do atendente, retornando quatro ferramentas autorizadas.
    2. Descoberta de tabelas: get_user_tables é invocado. O interceptador de requisição valida o JWT e confirma o escopo order:read. Retorna três tabelas: customer_orders, customer_profiles e interaction_history.
    3. Descoberta de esquema: get_schema em customer_orders revela colunas como order_id, status, ship_date e product_name. A segurança em nível de coluna do Lake Formation exclui payment_method e billing_address — invisíveis para o agente.
    4. Execução da consulta: a query SELECT order_id, status, ship_date, estimated_delivery FROM customer_orders WHERE order_id = '12345' é submetida via run_query, que injeta a identidade do cliente autenticado para resolver o filtro de linha do Lake Formation. O workgroup do Athena aplica o limite BytesScannedCutoffPerQuery. Resultado: pedido #12345 enviado em 20 de março, entrega estimada para 25 de março.
    5. Recuperação da base de conhecimento: simultaneamente, kb_search é executado com a query “return policy for electronics” e filtro de metadados {"product_category": {"$eq": "electronics"}}. A política retornada indica: eletrônicos podem ser devolvidos em até 30 dias da compra na embalagem original.
    6. Síntese da resposta: o agente combina os dois resultados em uma resposta coerente ao cliente.

    Cinco camadas de governança de consultas

    O artigo detalha cinco camadas sobrepostas de proteção que limitam o que o agente pode consultar, quanto dado pode escanear e quais informações chegam ao modelo:

    1. Controles de custo do workgroup do Athena: limite BytesScannedCutoffPerQuery cancela automaticamente consultas que excedam o threshold. A configuração EnforceWorkGroupConfiguration impede o agente de contornar esses limites.
    2. Prevenção de DDL via políticas IAM somente leitura: a role de execução da Lambda possui deny explícito para ações mutantes no Glue Data Catalog (glue:CreateTable, glue:DeleteTable, glue:UpdateTable).
    3. Acesso refinado do Lake Formation: políticas de segurança em cinco níveis de granularidade (banco de dados, tabela, coluna, linha e célula) aplicadas nativamente no Athena, Redshift Spectrum, AWS Glue ETL e Amazon EMR sem custo adicional. Mais detalhes em Lake Formation data filtering.
    4. Interceptadores do Gateway: interceptadores de requisição aplicam autorização baseada em escopo JWT antes da execução da ferramenta; interceptadores de resposta filtram listas de ferramentas e redigem dados sensíveis.
    5. Amazon Bedrock Guardrails via AgentCore Policy: controles de segurança de conteúdo integrados diretamente ao Policy Engine do AgentCore, avaliando entradas e saídas de cada ação do agente em tempo real — bloqueando injeção de prompt, conteúdo prejudicial e exposição de informações sensíveis antes que cheguem a sistemas downstream.

    O artigo explica por que aplicar guardrails exclusivamente na fronteira de inferência do modelo é insuficiente para arquiteturas agênticas: em RAG, o modelo é o único componente que sintetiza informações, então filtrar sua saída captura todas as violações. Em IA agêntica, o agente invoca múltiplas ferramentas e constrói consultas em vários hops antes de qualquer resposta do modelo ser gerada. Um guardrail que avalia apenas a saída final do modelo não pode impedir que uma entrada maliciosa ou manipulada chegue a uma invocação de ferramenta intermediária.

    Pré-requisitos para implementação

    Para implementar essa arquitetura, a AWS lista os seguintes requisitos:

    Deploy das ferramentas MCP e interceptadores

    O processo de deploy descrito no artigo envolve clonar o repositório de exemplos de interceptadores do AgentCore Gateway e criar cada função Lambda via AWS CLI:

    aws lambda create-function --function-name get_user_tables \
      --runtime python3.12 --handler lambda_function.lambda_handler \
      --role arn:aws:iam::ACCOUNT_ID:role/mcp-tool-role \
      --zip-file fileb://function.zip

    Em seguida, as políticas IAM do diretório policies/ do repositório são anexadas a cada role de execução. As funções Lambda são registradas como targets de ferramentas MCP no AgentCore Gateway e os interceptadores de requisição e resposta são anexados ao gateway. O código-fonte completo das quatro ferramentas MCP, as políticas IAM e as instruções de deploy estão disponíveis nos exemplos de interceptadores do AgentCore Gateway.

    Limpeza dos recursos

    Para evitar cobranças contínuas após explorar a arquitetura, a AWS recomenda excluir os seguintes recursos:

    Próximos passos

    Para começar a construir sua própria arquitetura de agente governado, a AWS sugere as seguintes ações:

    Fonte

    Building agentic AI applications with a modern data mesh strategy on AWS (https://aws.amazon.com/blogs/machine-learning/building-agentic-ai-applications-with-a-modern-data-mesh-strategy-on-aws/)

  • Como construir análises autônomas do AWS Health com agentes de IA e Amazon Bedrock

    O problema: gerenciar eventos de saúde de forma reativa

    Imagine uma segunda-feira típica para uma equipe de operações em nuvem: chegam múltiplas notificações do AWS Health sobre fim de vida do Amazon Linux 2, depreciações de versões do RDS e aposentadorias de instâncias EC2 — tudo isso espalhado por mais de 50 contas. Sem uma forma eficiente de análise centralizada, a equipe fica sem resposta para perguntas simples: quais eventos afetam sistemas em produção? O que exige ação imediata versus planejamento de longo prazo? Qual é o impacto real de cada categoria?

    Para piorar, as equipes ficam dependentes dos Gerentes de Conta Técnica (TAMs — Technical Account Managers) para interpretar esses eventos, criando gargalos em decisões operacionais críticas. O resultado é tempo gasto em combate a incêndios reativos, em vez de inovação.

    Foi para resolver exatamente esse problema que a AWS publicou um guia mostrando como construir o Chaplin — sigla para Customer Health and Planned Lifecycle Intelligence Nexus — uma solução open source que usa agentes de IA para entregar análises de eventos de saúde de forma autônoma e conversacional.

    O que é o Chaplin e como ele funciona

    O Chaplin implementa análises autônomas de eventos de saúde usando IA agêntica com o Amazon Bedrock, entregues por meio do Protocolo de Contexto de Modelo (MCP — Model Context Protocol). Em vez de dashboards com esquemas predefinidos, o Chaplin expõe ferramentas com IA que clientes compatíveis com MCP podem consumir diretamente.

    Na prática, equipes interagem com o Chaplin a partir de assistentes de IA como o Claude Code ou o Kiro CLI, fazendo perguntas em linguagem natural. Por exemplo:

    • Quais eventos de ciclo de vida do RDS vencem nos próximos 60 dias?
    • Resuma os eventos EC2 abertos, priorizados por urgência
    • Quais patches de segurança afetam ambientes de produção?
    • Quais janelas de manutenção podem impactar aplicações de alta prioridade?

    As instruções completas de implantação estão disponíveis no repositório GitHub do Chaplin AWS Health Agentic Assistant.

    Por que agentes de IA, e não RAG tradicional?

    Sistemas tradicionais de Geração Aumentada por Recuperação (RAG — Retrieval-Augmented Generation) têm uma limitação crítica: são inerentemente não determinísticos quando lidam com operações numéricas e agregações. A busca por similaridade vetorial recupera conteúdo semanticamente similar, mas não garante precisão matemática. Quando perguntados para contar, somar ou agregar dados, sistemas baseados em RAG podem alucinar resultados — por exemplo, reportar 190 eventos de fim de vida quando o número real é 958.

    Os eventos do AWS Health apresentam exatamente esse desafio: cada evento contém metadados estruturados (tipo de evento, serviço, recursos afetados, timestamps, severidade, IDs de conta) que exigem filtragem e agregação precisas, além de descrições não estruturadas em linguagem natural que exigem compreensão semântica e análise contextual.

    Arquitetura em três camadas

    A arquitetura do Chaplin é composta por três camadas principais que trabalham juntas para entregar análises inteligentes de eventos de saúde.

    Camada 1 — Coleta de dados (multi-conta)

    Em cada conta membro, a API do AWS Health serve como fonte dos eventos. O Amazon EventBridge fornece gatilhos orientados a eventos para captura em tempo real, e funções AWS Lambda coletam os eventos usando funções IAM cross-account com acesso de privilégio mínimo. Esses eventos fluem para uma conta de gerenciamento centralizada, onde um data lake no Amazon S3 armazena os eventos com particionamento inteligente por conta, data e tipo de evento. Quando novos eventos chegam, notificações de eventos do S3 disparam uma função Lambda que processa os eventos em formato JSON e os carrega no Amazon DynamoDB para consultas rápidas.

    Essa arquitetura multi-conta suporta dois modelos de implantação: via API do AWS Organizations para implantação centralizada e automatizada, ou via implantações individuais por conta para organizações com restrições de segurança.

    Camada 2 — Servidor MCP e camada de inteligência

    É aqui que os dados brutos dos eventos são transformados em inteligência acionável. O Amazon DynamoDB serve como armazenamento primário para metadados estruturados, com índices otimizados por tipo de evento, severidade, data e conta.

    O processamento inteligente de consultas acontece por meio de três componentes especializados:

    • Agente de Linguagem Natural para Consulta Estruturada: converte perguntas em português simples em consultas precisas contra os metadados dos eventos de saúde, entendendo campos como event_type, affected_accounts e start_time.
    • Agente de Análise de Impacto Contextual: processa as descrições não estruturadas dos eventos combinadas com metadados do cliente — ambientes de produção vs. não produção, unidades de negócio, tiers de aplicação e informações de ownership.
    • Motor de Classificação Baseado em Padrões: categoriza eventos usando correspondência de padrões por regras, eliminando custos de processamento de IA para categorizações rotineiras.

    O motor de análise com IA usa o framework Strands Agents — um framework agêntico open source desenvolvido pela AWS — com o Claude 4.5 Sonnet como modelo de linguagem padrão, podendo ser substituído por outro modelo de preferência. A solução é agnóstica de LLM, suportando Amazon Bedrock, OpenAI, Anthropic ou modelos locais como Ollama.

    Camada 3 — Integração com assistente de IA (cliente MCP)

    A camada de apresentação consiste em um assistente de IA compatível com MCP, como Claude Code ou Kiro CLI. Em vez de uma interface customizada, o Chaplin expõe suas capacidades como ferramentas MCP que esses clientes consomem nativamente. Os usuários interagem por linguagem natural no seu ambiente de desenvolvimento existente, e o assistente de IA orquestra chamadas ao servidor MCP do Chaplin para recuperar dados, executar análises e apresentar resultados contextualizados.

    A segurança é baseada no AWS Identity and Access Management (IAM), com credenciais montadas como somente leitura. Os dados são criptografados com TLS 1.2+ em trânsito e AES-256 em repouso, e o AWS CloudTrail fornece logs de auditoria para chamadas de API.

    Capacidades principais do Chaplin

    Ferramentas de inteligência de saúde via MCP

    O Chaplin expõe ferramentas MCP organizadas em três categorias: ferramentas de resumo (que consultam o DynamoDB diretamente e retornam instantaneamente contagens por serviço, status, categoria e região), ferramentas de detalhamento (para aprofundar em categorias específicas de eventos) e ferramentas de análise com IA (que usam o Strands Agents com Amazon Bedrock para interpretar consultas em linguagem natural e gerar insights contextuais).

    Pipeline de dados multi-conta

    O pipeline de dados é composto por funções Lambda para ingestão automatizada de eventos, agendadores do Amazon EventBridge com frequência configurável (diária ou por hora), funções IAM cross-account para coleta segura multi-conta, um data lake no Amazon S3 com particionamento para consultas eficientes e gerenciamento de ciclo de vida com políticas de retenção configuráveis.

    Processamento analítico preciso

    Para dados estruturados, o Chaplin entrega resultados numéricos exatos: contagens de eventos, análise de linha do tempo com detecção de tendências, agregações multidimensionais por conta, serviço e severidade, e breakdowns categóricos com percentuais precisos. Para dados não estruturados, fornece insights contextuais como avaliação de impacto, identificação de deficiências arquiteturais, correlação de riscos entre eventos relacionados e ações recomendadas.

    Exemplo prático: análise de eventos recorrentes

    Para ilustrar o poder da solução, considere a pergunta: “Quais contas têm mais notificações recorrentes de saúde e quais problemas arquiteturais estão causando isso?”

    O agente de IA orquestra chamadas a múltiplas ferramentas MCP — get_health_summary, get_event_categories, get_estimated_blast_radius e get_event_type_stats — para produzir uma resposta abrangente. No exemplo com dados de amostra, o resultado revela que o ElastiCache representa 45% de todos os eventos (2.145 eventos em 140 contas), com um backlog de patches acumulado desde setembro de 2024. O VPN representa 14% dos eventos, todos relacionados a perda de redundância de túnel. O EC2 representa 7%, dominado por aposentadorias e manutenções de instâncias.

    Com base nesses padrões, o Chaplin recomenda ações arquiteturais concretas: habilitar atualização automática de versão menor no ElastiCache, corrigir arquiteturas VPN com túnel único migrando para o AWS Transit Gateway, e mover cargas de trabalho sem estado para ECS no AWS Fargate ou EKS para eliminar uma classe inteira de eventos de manutenção.

    Otimização de custos de IA

    O Chaplin implementa otimização inteligente de custos por meio de uma abordagem de processamento que prioriza padrões: a classificação baseada em regras processa a maioria dos eventos sem incorrer em custos de IA. Visões pré-construídas e resumidas para janelas de 30, 60 e 120 dias ajudam equipes a identificar rapidamente alertas críticos. O cache inteligente reduz o processamento redundante de IA, e a precisão de consultas estruturadas usa o esquema da API do AWS Health para análise numérica exata sem custos de inferência de LLM.

    Opções de implantação

    O Chaplin oferece duas opções de implantação. A Opção A (instalação local) executa o servidor MCP na máquina do desenvolvedor, conectando-se diretamente ao DynamoDB e ao Bedrock usando credenciais AWS locais — ideal para avaliação individual ou rápida. Botões de instalação com um clique estão disponíveis no repositório para Kiro IDE, Cursor e VS Code. A Opção B (deploy remoto via Lambda) implanta o servidor MCP como uma função Lambda na conta AWS, com membros da equipe conectando-se via um proxy local leve — ideal para adoção em toda a equipe.

    As instruções passo a passo de implantação e configuração do pipeline de dados estão disponíveis no repositório GitHub do Chaplin.

    Visão de futuro: de análises autônomas a operações autônomas

    A visão de longo prazo do Chaplin vai além das análises conversacionais. Como a solução é construída sobre MCP, ela se integra naturalmente com o AWS DevOps Agent — um agente de fronteira que investiga incidentes de forma autônoma, identifica causas raiz e fornece planos detalhados de mitigação. Ao registrar o servidor MCP do Chaplin como provedor de capacidades em um AWS DevOps Agent Space, as equipes de operações ganham inteligência de eventos de saúde diretamente nos fluxos de resposta a incidentes.

    Essa integração cria um ciclo de feedback poderoso: quando o AWS DevOps Agent investiga um incidente, pode consultar o Chaplin para determinar se um evento de saúde relacionado — como uma aposentadoria de instância ou depreciação de serviço — está contribuindo para o problema. Melhorias futuras incluem manutenção preditiva por análise de padrões de eventos e fluxos de remediação guiada com capacidades de rollback.

    Benefícios e impacto

    Organizações que implementam o Chaplin podem esperar melhorias em três dimensões. Em eficiência operacional, a identificação antecipada de migrações e depreciações com 60 a 90 dias de antecedência reduz o combate a incêndios de emergência, e a categorização automatizada reduz a carga de triagem manual. Em otimização de custos, manter-se atualizado com mudanças de ciclo de vida evita migrações de emergência caras e taxas de suporte estendido. Em mitigação de riscos, a identificação proativa de patches de segurança e vulnerabilidades antes de serem explorados, combinada com análise contextual de impacto em sistemas de produção, previne interrupções.

    Próximos passos

    Fonte

    Build self-service AWS Health analytics to find actionable health insights with AI agents powered by Amazon Bedrock (https://aws.amazon.com/blogs/machine-learning/build-self-service-aws-health-analytics-to-find-actionable-health-insights-with-ai-agents-powered-by-amazon-bedrock/)

  • Kiro obtém autorização FedRAMP High e DoD IL-4/5 no AWS GovCloud (US)

    Kiro agora autorizado para ambientes governamentais de alta segurança

    A AWS anunciou que o Kiro — seu Ambiente de Desenvolvimento Integrado (IDE) agêntico — conquistou as autorizações FedRAMP High e DoD CC SRG IL-4/5 (Guia de Requisitos de Segurança de Computação em Nuvem do Departamento de Defesa dos EUA, Níveis de Impacto 4 e 5) nas regiões AWS GovCloud (US).

    Na prática, isso significa que agências federais americanas, organizações do setor público e empresas com requisitos rigorosos de conformidade podem agora utilizar o Kiro como parceiro de desenvolvimento agêntico, com a garantia de que a ferramenta atende aos padrões de segurança exigidos para cargas de trabalho sensíveis.

    O que é o Kiro?

    Para quem ainda não conhece, o Kiro é uma ferramenta de IA agêntica que integra um IDE e uma Interface de Linha de Comando (CLI). Seu diferencial está na abordagem de desenvolvimento orientado por especificações: em vez de simplesmente gerar código solto, o Kiro transforma prompts em especificações detalhadas e, a partir delas, produz código funcional, documentação e testes — tudo alinhado ao que foi definido desde o início.

    O fluxo cobre desde tarefas simples até projetos complexos, acompanhando o desenvolvedor do protótipo até a produção. O resultado final é um produto pronto para ser compartilhado com o time, sem surpresas no caminho.

    Integração com o ecossistema via MCP

    Um ponto técnico relevante é o suporte nativo ao Protocolo de Contexto de Modelo (MCP). Por meio dele, o Kiro consegue se conectar a documentações, bancos de dados, APIs e outros recursos corporativos — o que amplia bastante sua capacidade de atuar em fluxos de desenvolvimento críticos para a missão da organização.

    Por que essa certificação importa?

    As certificações FedRAMP High e DoD IL-4/5 são referências de conformidade exigidas pelo governo federal dos Estados Unidos para sistemas que lidam com informações controladas não classificadas e dados sensíveis de defesa. Ao obtê-las, o Kiro passa a ser uma opção viável — e auditável — para ambientes onde a segurança não é negociável.

    Para equipes de desenvolvimento que já operam no AWS GovCloud (US), essa novidade elimina uma barreira importante: agora é possível contar com um assistente de IA agêntico sem abrir mão das exigências de conformidade do setor público.

    Saiba mais

    Para detalhes sobre o uso do Kiro no AWS GovCloud (US), consulte a documentação oficial do GovCloud ou entre em contato com o time de conta da AWS. Para conhecer melhor o produto, acesse a página oficial do Kiro.

    Fonte

    Kiro achieves FedRAMP High and DoD IL-4/5 authorization in AWS GovCloud (US) (https://aws.amazon.com/about-aws/whats-new/2026/06/kiro-fedramp-high-dod-il-4-5-govcloud-us/)