Blog

  • P-EAGLE: Inferência de LLM Mais Rápida com Decodificação Especulativa Paralela no vLLM

    O Desafio da Decodificação Especulativa em LLMs

    EAGLE estabeleceu-se como o método de referência para decodificação especulativa na inferência de modelos de linguagem de grande escala (LLM). Sua abordagem inovadora permite gerar múltiplos tokens especulados simultaneamente, reduzindo a latência de forma significativa. Porém, sua estratégia de geração autorregressiva esconde um gargalo crítico: quanto mais tokens são especulados, mais passagens sequenciais pela rede neural o modelo auxiliar precisa realizar. Eventualmente, esse overhead consome os ganhos conquistados.

    A AWS identificou essa limitação e desenvolveu P-EAGLE, uma evolução que remove esse teto de desempenho ao gerar todos os K tokens de rascunho em uma única passagem pela rede. O resultado? Até 1,69× de aceleração em relação ao EAGLE-3 vanilla em cenários reais utilizando GPUs NVIDIA B200.

    Para começar, basta fazer o download (ou treinar) de uma cabeça de modelo auxiliar compatível com paralelismo e adicionar "parallel_drafting": true à sua configuração de pipeline no vLLM. Modelos P-EAGLE pré-treinados já estão disponíveis no HuggingFace para GPT-OSS 120B, GPT-OSS 20B e Qwen3-Coder 30B.

    Como P-EAGLE Funciona

    Eliminando o Gargalo Sequencial

    EAGLE consegue acelerações de 2–3× sobre decodificação autorregressiva padrão e está amplamente implementado em estruturas de inferência em produção, incluindo vLLM, SGLang e TensorRT-LLM. No entanto, sua abordagem gera tokens especulados de forma sequencial — para produzir K tokens de rascunho, são necessárias K passagens completas pela rede do modelo auxiliar. À medida que esses modelos melhoram sua capacidade de geração, o overhead dessa abordagem se torna cada vez mais significativo: a latência do modelo auxiliar escala linearmente com a profundidade de especulação, limitando agressividade possível.

    A Abordagem P-EAGLE

    P-EAGLE transforma EAGLE de geração de rascunho autorregressiva para paralela. Em GPUs B200, o método alcança 1,05×–1,69× de aceleração em relação ao EAGLE-3 vanilla no GPT-OSS 20B, testado em MT-Bench, HumanEval e SpeedBench. Agora integrado ao vLLM desde a versão 0.16.0, está pronto para acelerar implantações no mundo real.

    Arquitetura P-EAGLE: Prefenchimento do modelo alvo e construção paralela de entrada para predição de múltiplos tokens
    Imagem original — fonte: Aws

    Dois Passos Fundamentais

    Passo 1: Prefenchimento. O modelo alvo processa o prompt e gera um novo token, como faria durante inferência normal. Durante esse processo, P-EAGLE captura os estados ocultos internos do modelo: h_prompt para cada posição do prompt e h_context para o token recém-gerado. Esses estados codificam o que o modelo alvo “compreende” em cada posição e guiam as predições do modelo auxiliar. Este passo é idêntico ao EAGLE autorregressivo.

    Passo 2: Modelo Auxiliar P-EAGLE. O modelo auxiliar constrói entradas para cada posição em paralelo. Cada entrada consiste em um embedding de token concatenado a um estado oculto. Para posições do prompt, cada embedding de token do prompt (emb(p)) é pareado com seu correspondente h_prompt do modelo alvo. Seguindo a mesma convenção do EAGLE autorregressivo, as posições são deslocadas por uma unidade: a posição i recebe o token e estado oculto da posição i-1, permitindo que ela prediga o token na posição i.

    Para a posição 1 (Predição do Próximo Token — NTP), a entrada pareia o embedding do token recém-gerado (emb(new)) com h_context. Essa posição funciona de forma idêntica ao EAGLE autorregressivo padrão.

    Para as posições 2 a K (Predição de Múltiplos Tokens — MTP), as entradas necessárias — embedding de token e estado oculto — ainda não existem. P-EAGLE preenche esses espaços com dois parâmetros treináveis: um embedding de máscara compartilhado (emb(mask)) e um estado oculto compartilhado (h_shared). Esses são vetores fixos aprendidos durante o treinamento que atuam como placeholders neutros. Todas as posições passam simultaneamente por N camadas de transformador e, em seguida, pela cabeça do modelo de linguagem para predizer tokens de rascunho t1, t2, t3 e t4 em uma única passagem.

    Treinamento em Sequências Longas

    Modelos de raciocínio moderno geram saídas extensas. No conjunto de dados UltraChat, GPT-OSS 120B produz sequências (incluindo prompts) com comprimento mediano de 3.891 tokens e percentil 90 de 10.800 tokens. Modelos auxiliares devem ser treinados em comprimentos de contexto correspondentes para serem efetivos na inferência.

    Um desafio-chave é que a decodificação especulativa paralela amplifica requisitos de memória durante o treinamento. Treinar K grupos paralelos em uma sequência de comprimento N cria N × K posições totais. Com N = 8.192 e K = 8, um único exemplo de treinamento contém 65.536 posições. Atenção requer que cada posição atenda a todas as posições válidas — 65K × 65K significa mais de 4 bilhões de elementos, consumindo 8GB em bf16.

    Amostragem de posições reduz memória saltando aleatoriamente posições, mas pular de forma muito agressiva degrada a qualidade do rascunho. Acumulação de gradientes é a solução padrão para treinamento com memória limitada, mas divide entre diferentes exemplos de treinamento. Quando uma sequência única excede a memória disponível, não há nada para dividir.

    P-EAGLE introduz um algoritmo de particionamento de sequência para divisão intra-sequência. O algoritmo divide a sequência de posições N × K em pedaços contíguos, mantém dependências de atenção corretas através das fronteiras dos pedaços e acumula gradientes através de pedaços da mesma sequência. Para detalhes técnicos, consulte o paper de P-EAGLE.

    Integração no vLLM

    Desafios da Decodificação Especulativa Paralela

    Em muitas configurações de decodificação especulativa, rascunho e verificação compartilham o mesmo layout de token por requisição. Isso é geralmente verdadeiro para EAGLE: o modelo auxiliar consome uma janela que já corresponde ao que o verificador checará — K tokens especulados e um token adicional amostrado.

    Decodificação paralela quebra essa consistência. Para predizer K tokens em uma passagem do modelo auxiliar, placeholders de MÁSCARA são anexados (por exemplo, [token, MÁSCARA, MÁSCARA, …]). Essas posições extras existem apenas para rascunho, então a forma do lote de rascunho não corresponde mais à forma do lote de verificação. Como metadados de verificação não podem ser reutilizados, o metadata do lote deve ser reconstruído. Os IDs de token de entrada, estados ocultos e posições são expandidos para inserir espaços para tokens/embeddings de máscara, posições por requisição são incrementadas, então o mapeamento de slot e índices de início por requisição são recomputados a partir das posições atualizadas.

    Kernel Triton Otimizado

    Para compensar o overhead da reconstrução de metadata do lote, um kernel Triton fundido popula o lote de entrada do modelo auxiliar na GPU copiando e expandindo o lote do modelo alvo. Em uma única passagem, o kernel copia os IDs de token e posições anteriores do lote alvo para novos slots de destino, insere o token bônus por requisição amostrado pelo modelo alvo e preenche os slots adicionais de decodificação paralela com um ID de token MÁSCARA especial. Por fim, gera metadata leve: máscara de token rejeitado, máscara de token mascarado para slots de decodificação paralela, índices de novo-token para amostragem de tokens de rascunho e mapeamento de estado oculto. Essa lógica, de outra forma, demandaria muitas operações GPU (cópia/espalhamento + inserção + preenchimento + máscara + remapeamento). Fundindo em um kernel único reduz overhead de lançamento e tráfego extra de memória, mantendo a configuração de rascunho eficiente.

    Gestão de Estados Ocultos

    Para métodos baseados em EAGLE que passam estados ocultos ao modelo auxiliar, decodificação paralela trata esse preenchimento separadamente. Como estados ocultos são significativamente maiores que o resto do lote de entrada, o trabalho é dividido: o kernel Triton produz um mapeamento, e um kernel de cópia dedicado transmite o placeholder de estado oculto aprendido para slots de token mascarado.

    # Copiar estados ocultos alvo para suas novas posições
    self.hidden_states[out_hidden_state_mapping] = target_hidden_states
    
    # Preencher posições mascaradas com o estado oculto aprendido de Decodificação Paralela
    mask = self.is_masked_token_mask[:total_num_output_tokens]
    torch.where(
        mask.unsqueeze(1),
        self.parallel_drafting_hidden_state_tensor,
        self.hidden_states[:total_num_output_tokens],
        out=self.hidden_states[:total_num_output_tokens],
    )

    O parallel_drafting_hidden_state_tensor é carregado do buffer mask_hidden do modelo, uma representação aprendida que informa ao modelo que essas posições devem predizer tokens futuros. Para mapeamento de slot de cache KV, tokens válidos recebem atribuição de slot normal enquanto tokens rejeitados são mapeados para PADDING_SLOT_ID (-1) para evitar escritas spurias em cache. Para grafos CUDA, o intervalo de captura é estendido por K × max_num_seqs para acomodar o lote de rascunho maior introduzido pela decodificação paralela.

    Resultados de Benchmark

    P-EAGLE foi treinado em GPT-OSS-20B e avaliado em três benchmarks: MT-Bench para instrução multi-turno, SPEED-Bench para geração de código longo e HumanEval para síntese de código em nível de função. P-EAGLE entrega 55–69% de throughput superior em baixa concorrência (c=1), com ganhos de 5–25% sustentados em alta concorrência (c=64), comparado ao checkpoint público vanilla EAGLE-3.

    Throughput MT-Bench: P-EAGLE versus EAGLE-3 em diferentes níveis de concorrência
    Imagem original — fonte: Aws

    O modelo auxiliar P-EAGLE é um modelo leve de 4 camadas treinado para predizer até 10 tokens em paralelo. Para avaliação de desempenho, profundidades de especulação K ∈ {3, 5, 7} foram testadas em níveis de concorrência C ∈ {1, 2, 4, 8, 16, 32, 64}. P-EAGLE alcança TPS (Tokens Por Segundo) máximo em K=7 em todos os níveis de concorrência. Em contraste, EAGLE-3 vanilla atinge seu TPS máximo em K=3, com profundidade melhorada ocasionalmente deslocando para valores maiores dependendo da concorrência. Esse padrão reflete a vantagem fundamental da decodificação paralela.

    Throughput HumanEval: comparação de desempenho entre métodos
    Imagem original — fonte: Aws

    P-EAGLE gera todos os K tokens de rascunho em uma única passagem, permitindo que se beneficie de especulação mais profunda sem incorrer em overhead sequencial adicional. Rascunhadores autorregressivos, por contraste, devem gerar tokens especulativos passo a passo, o que limita sua capacidade de escalar eficientemente para K maiores.

    Throughput Speed-Bench: desempenho em geração de código longo
    Imagem original — fonte: Aws

    Comprimento de Aceitação Aprimorado

    Além de reduzir overhead de rascunho, ganhos de throughput do P-EAGLE também são impulsionados por melhor comprimento de aceitação (AL — do inglês Acceptance Length) — a média de tokens de rascunho aceitos pelo verificador por rodada de especulação. AL maior significa mais do trabalho de rascunho se transforma em saída real, o que impulsiona diretamente OTPS/TPS (Tokens de Saída Por Segundo / Tokens Por Segundo) efetivo.

    P-EAGLE alcança consistentemente AL superior ao EAGLE-3 na mesma profundidade de especulação K. Em K=7, P-EAGLE supera EAGLE-3 por 30% em HumanEval (3,94 vs 3,03), 31% em SPEED-Bench (3,38 vs 2,59) e 13% em MT-Bench (3,70 vs 3,27). Notavelmente, P-EAGLE se beneficia mais de especulação mais profunda. De K=3 para K=7, AL do P-EAGLE aumenta 0,92 em HumanEval (3,02 para 3,94), enquanto EAGLE-3 ganha apenas 0,38 (2,65 para 3,03). Essa lacuna crescente em K maior é consistente com decodificação especulativa paralela de passagem única do P-EAGLE, que não incorre em custo adicional de especulação mais profunda.

    Como Começar

    Configuração Básica

    P-EAGLE pode ser ativado com uma mudança simples de configuração na classe SpeculativeConfig:

    # vllm/config/speculative.py
    parallel_drafting: bool = True

    Aqui está um comando de exemplo no vLLM para ativar decodificação paralela com P-EAGLE como modelo auxiliar:

    vllm serve openai/gpt-oss-20b \
      --speculative-config '{"method": "eagle3", "model": "amazon/gpt-oss-20b-p-eagle", "num_speculative_tokens": 5, "parallel_drafting": true}'

    Executando Benchmarks

    Após lançar o servidor, execute benchmarks com vllm bench serve:

    #MT-Bench
    export MODEL="openai/gpt-oss-20b"
    export BASE_URL="http://localhost:8000"
    vllm bench serve \
      --dataset-name hf \
      --dataset-path philschmid/mt-bench \
      --num-prompts 80 \
      --max-concurrency 1 \
      --model $MODEL \
      --base-url $BASE_URL \
      --temperature 0.0 \
      --hf-output-len 2048
    
    #HumanEval
    # Baixar dataset HumanEval openai/openai_humaneval
    vllm bench serve \
      --dataset-name custom \
      --dataset-path  \
      --num-prompts 164 \
      --max-concurrency 1 \
      --model $MODEL \
      --base-url $BASE_URL \
      --temperature 0.0 \
      --custom-output-len 2048

    Nota Importante: Servir GPT-OSS-20B com rascunhadores EAGLE atualmente requer um patch vLLM de uma linha (PR#36684). Aplique-o antes de lançar. Essa correção deve chegar em uma versão próxima do vLLM.

    Recursos Disponíveis

    Para explorar P-EAGLE, a AWS disponibilizou:

    Conclusão

    P-EAGLE remove o gargalo sequencial da decodificação especulativa, entregando até 1,69× de aceleração em relação ao EAGLE-3 vanilla em cargas reais. Ao desacoplar contagem de rascunho de contagem de passagens diretas, agora é possível explorar arquiteturas de rascunho maiores, que podem até permitir taxas de aceitação aumentadas comparadas a baselines de camada única.

    A implementação lida com cuidado com complexidades de preparação de entrada, gerenciamento de metadata de atenção e mapeamento de slot de cache KV através de kernels fundidos escritos manualmente. Embora requeira modelos especialmente treinados, os benefícios de desempenho a tornam uma adição valiosa às capacidades de decodificação especulativa do vLLM. Conforme mais modelos treinados em paralelo se tornem disponíveis, espera-se que essa abordagem se torne a escolha preferida para implantações de LLM em produção.

    Para começar agora: baixe uma cabeça P-EAGLE pré-treinada do HuggingFace, configure "parallel_drafting": true em seu config vLLM para qualquer um dos modelos suportados e veja a aceleração em ação.

    Fonte

    P-EAGLE: Faster LLM inference with Parallel Speculative Decoding in vLLM (https://aws.amazon.com/blogs/machine-learning/p-eagle-faster-llm-inference-with-parallel-speculative-decoding-in-vllm/)

  • Acelerando o desenvolvimento serverless com o novo SAM Kiro Power

    Uma nova abordagem para desenvolvimento serverless

    A AWS anunciou o lançamento do SAM Kiro Power, uma extensão que traz expertise em desenvolvimento serverless para o ambiente de desenvolvimento assistido por inteligência artificial do Kiro. Essa ferramenta permite que desenvolvedores construam, implantem e gerenciem aplicações serverless com assistência de agente de IA, tudo diretamente no ambiente local.

    O Serverless Application Model (SAM) é um framework de código aberto que simplifica a criação de aplicações serverless na AWS. Com essa integração, o SAM Kiro Power carrega dinamicamente orientações e expertise específicas que o agente de IA precisa para construir essas aplicações, tornando o processo mais intuitivo e guiado.

    Capacidades e funcionalidades

    O SAM Kiro Power oferece suporte completo ao ciclo de vida do desenvolvimento serverless. Ele auxilia na inicialização de projetos SAM, no build e deploy de aplicações para a AWS, além de permitir testes locais de funções Lambda com feedback em tempo real.

    A ferramenta suporta padrões dirigidos por eventos, incluindo integração com Amazon EventBridge, Amazon Managed Streaming para Apache Kafka (MSK), Amazon Kinesis, Amazon DynamoDB Streams e Amazon Simple Queue Service (SQS). Além disso, ela aborda boas práticas de segurança, com orientações sobre políticas IAM.

    Boas práticas desde o início

    Uma característica importante do SAM Kiro Power é que ele impõe automaticamente o uso de recursos SAM e Powertools para AWS Lambda, garantindo observabilidade e logging estruturado por padrão. Essa abordagem elimina a necessidade de retrofit de boas práticas, pois elas já estão incorporadas desde o início do desenvolvimento.

    Essa orientação integrada acelera a jornada desde o conceito até a produção, independentemente do tipo de aplicação: desde websites estáticos com backends de API, passando por microsserviços dirigidos por eventos, até aplicações full-stack completas.

    Acesso e documentação

    O SAM Kiro Power está disponível hoje com instalação em um clique tanto na IDE do Kiro quanto na página de Poderes do Kiro. Desenvolvedores interessados podem explorar o código-fonte no repositório GitHub ou consultar o guia do desenvolvedor para aprender mais detalhes sobre o SAM.

    Fonte

    Accelerate serverless application development with new SAM Kiro power (https://aws.amazon.com/about-aws/whats-new/2026/03/aws-sam-kiro-power/)

  • Visibilidade Operacional para Cargas de Inferência no Amazon Bedrock com Novas Métricas do CloudWatch

    Monitorando Cargas de IA Generativa em Escala

    À medida que organizações expandem suas cargas de trabalho de inteligência artificial generativa no Amazon Bedrock, compreender o desempenho da inferência e o consumo de recursos torna-se essencial para manter a confiabilidade operacional. Equipes que executam aplicações sensíveis à latência precisam entender com que rapidez os modelos começam a gerar respostas. Aquelas que gerenciam cargas de alto throughput precisam acompanhar como suas requisições consomem quota para evitar limitações inesperadas.

    Até então, obter essa visibilidade exigia instrumentação customizada no lado do cliente ou investigação reativa após problemas ocorrerem. A AWS anunciou duas novas métricas do CloudWatch para o Amazon Bedrock: TimeToFirstToken e EstimatedTPMQuotaUsage. Essas métricas oferecem visibilidade no lado do servidor sobre latência de streaming e consumo de quota, são emitidas automaticamente para cada requisição de inferência bem-sucedida, não geram custos adicionais, não requerem mudanças nas APIs e estão disponíveis agora no namespace AWS/Bedrock do CloudWatch.

    O Fundamento: Métricas Existentes do Bedrock

    O Amazon Bedrock já fornecia um conjunto de métricas do CloudWatch para monitorar cargas de inferência. O namespace AWS/Bedrock incluía métricas como Invocations, InvocationLatency, InvocationClientErrors, InvocationThrottles, InputTokenCount e OutputTokenCount. Essas métricas ofereciam visibilidade sobre volume de requisições, latência fim-a-fim, taxas de erro e uso de tokens. Estavam disponíveis nas APIs Converse, ConverseStream, InvokeModel e InvokeModelWithResponseStream, podendo ser filtradas pela dimensão ModelId.

    Embora essas métricas fornecessem uma base operacional sólida, deixavam duas lacunas importantes: não capturavam a rapidez com que uma resposta em streaming começava (tempo até o primeiro token) e não refletiam a quota efetivamente consumida por uma requisição após considerar os multiplicadores de redução de token.

    Observabilidade de Aplicações de Inferência em Produção

    Em aplicações de inferência com streaming, como chatbots, assistentes de codificação ou geração de conteúdo em tempo real, o tempo que o modelo leva para retornar seu primeiro token afeta diretamente a responsividade percebida pela aplicação. Um atraso no primeiro token impacta a experiência do usuário, mesmo quando o throughput geral permanece dentro de intervalos aceitáveis.

    Medir essa métrica no lado do servidor anteriormente exigia instrumentar o código da aplicação para capturar timestamps ao redor das chamadas de API. Isso adicionava complexidade e poderia introduzir imprecisões que não refletiam o comportamento real do lado do serviço.

    A gestão de quota apresenta um desafio diferente, mas igualmente crítico. O Amazon Bedrock aplica multiplicadores de redução de token para certos modelos. Isso significa que a quota efetivamente consumida por uma requisição pode diferir dos contadores brutos de tokens vistos nas métricas de faturamento. Por exemplo, modelos Anthropic Claude, incluindo Claude Sonnet 4.6, Claude Opus 4.6, Claude Sonnet 4.5 e Claude Opus 4.5, aplicam um multiplicador de 5x em tokens de saída para fins de quota. Uma requisição que produz 100 tokens de saída consome efetivamente 500 tokens de sua quota de Tokens Por Minuto (TPM). O faturamento ocorre apenas sobre o uso real de tokens.

    Sem visibilidade nesse cálculo, a limitação de taxa pode parecer imprevisível, dificultando a definição de alarmes apropriados ou planejamento de aumentos de capacidade antecipadamente. Para clientes usando inferência entre regiões, esses desafios se multiplicam porque é necessária visibilidade por perfil de inferência para compreender desempenho e consumo entre configurações geográficas e globais.

    As Novas Métricas: TimeToFirstToken e EstimatedTPMQuotaUsage

    TimeToFirstToken: Medindo Latência de Streaming

    A métrica TimeToFirstToken mede a latência, em milissegundos, do momento em que o Amazon Bedrock recebe sua requisição de streaming até quando o serviço gera o primeiro token de resposta. É emitida para as APIs de streaming: ConverseStream e InvokeModelWithResponseStream. Por ser medida no lado do servidor, reflete a latência real do serviço sem ruído das condições de rede ou processamento no cliente.

    Com essa métrica, é possível:

    • Definir alarmes de latência — Criar alarmes do CloudWatch que notifiquem quando o tempo até o primeiro token ultrapassa limites aceitáveis, detectando degradação de desempenho antes que afete usuários.
    • Estabelecer baselines de SLA — Analisar dados históricos de TimeToFirstToken entre modelos para definir baselines informados de desempenho para as aplicações.
    • Diagnosticar problemas de desempenho — Correlacionar TimeToFirstToken com outras métricas do Amazon Bedrock, como InvocationLatency (Tempo até Último Token), isolando se questões de latência originam-se do tempo de resposta inicial do modelo ou do processamento geral da requisição.

    A métrica é publicada com a dimensão ModelId e, opcionalmente, com dimensões ServiceTier e ResolvedServiceTier. Para perfis de inferência entre regiões, o ModelId corresponde ao identificador do seu perfil de inferência (por exemplo, us.anthropic.claude-sonnet-4-5-v1), permitindo monitorar TimeToFirstToken separadamente para cada perfil. É emitida apenas para requisições de streaming completadas com sucesso.

    Figura 1: Como o Amazon Bedrock mede TimeToFirstToken e EstimatedTPMQuotaUsage durante uma requisição de streaming — Fonte: Aws

    EstimatedTPMQuotaUsage: Entendendo Consumo Real de Quota

    A métrica EstimatedTPMQuotaUsage acompanha a quota estimada de Tokens Por Minuto (TPM) consumida por suas requisições. Diferentemente dos contadores brutos de tokens, essa métrica leva em conta os fatores que o Amazon Bedrock considera ao avaliar consumo de quota, incluindo tokens de escrita em cache e multiplicadores de redução de tokens de saída. O nome da métrica inclui “Estimated” para refletir que fornece uma aproximação próxima do consumo de quota para fins de monitoramento e planejamento de capacidade.

    As decisões internas de limitação do Amazon Bedrock baseiam-se em cálculos em tempo real que podem diferir ligeiramente dessa métrica, mas EstimatedTPMQuotaUsage foi projetada para fornecer um sinal confiável e acionável. Deve ser precisa o suficiente para definir alarmes, rastrear tendências de consumo e planejar aumentos de quota com confiança. É emitida em todas as APIs de inferência: Converse, InvokeModel, ConverseStream e InvokeModelWithResponseStream.

    Fórmulas de Cálculo de Quota

    O cálculo da quota estimada depende de seu tipo de throughput:

    Para inferência sob demanda:

    EstimatedTPMQuotaUsage = InputTokenCount + CacheWriteInputTokens + (OutputTokenCount × burndown_rate)

    A taxa de redução varia por modelo. Para a lista completa de modelos e suas respectivas taxas, consulte a documentação sobre multiplicadores de redução de token para gestão de quota. Para inferência sob demanda, tokens de leitura em cache não contam para a quota.

    Como exemplo, Claude Sonnet 4.5 aplica uma taxa de redução de 5x em tokens de saída. Uma requisição sob demanda com 1.000 tokens de entrada, 200 tokens de escrita em cache e 100 tokens de saída consome 1.000 + 200 + (100 × 5) = 1.700 tokens de quota. Isso é 400 tokens a mais do que se estimasse apenas a partir dos contadores brutos.

    Para Throughput Provisionado (camada reservada):

    EstimatedTPMQuotaUsage = InputTokenCount + (CacheWriteInputTokens × 1.25) + (CacheReadInputTokens × 0.1) + OutputTokenCount

    No Throughput Provisionado, o multiplicador de redução em tokens de saída não se aplica. Contudo, tokens de leitura em cache contribuem com taxa 0.1 e tokens de escrita em cache são ponderados em 1.25. Note que faturamento difere de uso de quota — você é faturado pelo uso real de tokens, não pelos valores ajustados ou ponderados. Para mais detalhes, consulte multiplicadores de redução de token para gestão de quota.

    Com essa métrica, é possível:

    • Definir alarmes proativos de quota — Criar alarmes do CloudWatch que disparem quando o uso de quota estimado se aproxima do limite de TPM, permitindo agir antes que requisições sejam limitadas.
    • Rastrear consumo entre modelos — Comparar uso de quota entre diferentes modelos para entender quais cargas consumem mais capacidade e otimizar adequadamente.
    • Planejar aumentos de quota — Usar tendências históricas de consumo para solicitar aumentos de quota através das quotas de serviço da AWS antes que o crescimento de uso cause limitação.

    Dimensões e Filtragem de Métricas

    Ambas as métricas compartilham as seguintes características:

    • Incluem dimensões como ModelId, permitindo filtrar e agregar dados por modelo.
    • Ao usar um perfil de inferência entre regiões, seja geográfico (por exemplo, us.anthropic.claude-sonnet-4-5-v1) ou global (por exemplo, global.anthropic.claude-sonnet-4-5-v1), a dimensão ModelId corresponde ao identificador do seu perfil de inferência.
    • Isso oferece visibilidade granular sobre desempenho e consumo entre suas configurações de inferência, permitindo visualizar métricas separadas para cada combinação de perfil de inferência entre regiões e modelo.
    • Isso é consistente com métricas CloudWatch existentes do Amazon Bedrock como Invocations, InvocationLatency e métricas de contagem de tokens.
    Atributo TimeToFirstToken EstimatedTPMQuotaUsage
    Namespace CloudWatch AWS/Bedrock AWS/Bedrock
    Unidade Milissegundos Contagem
    APIs Suportadas ConverseStream, InvokeModelWithResponseStream Converse, InvokeModel, ConverseStream, InvokeModelWithResponseStream
    Frequência de Atualização Agregação de 1 minuto Agregação de 1 minuto
    Escopo Requisições de streaming completadas com sucesso Requisições completadas com sucesso
    Dimensão Principal ModelId ModelId
    Dimensões Opcionais ServiceTier, ResolvedServiceTier ServiceTier, ResolvedServiceTier, ContextWindow (para contextos de entrada superiores a 200K tokens)
    Tipos de Inferência Suportados Inferência entre regiões (geográfica e global), inferência na mesma região Inferência entre regiões (geográfica e global), inferência na mesma região

    Começando a Usar as Novas Métricas

    Essas métricas já estão disponíveis em seu dashboard do CloudWatch. Quando sua aplicação chama uma API de inferência do Amazon Bedrock, o serviço processa a requisição, invoca o modelo e publica todas as métricas aplicáveis — incluindo TimeToFirstToken e EstimatedTPMQuotaUsage — no namespace AWS/Bedrock em sua conta CloudWatch. Você pode então usar dashboards, alarmes e matemática de métricas do CloudWatch para monitorar, alertar e analisar essas métricas.

    Para começar:

    1. Abra a console do Amazon CloudWatch e navegue para Métricas > Todas as métricas.
    2. Selecione o namespace AWS/Bedrock.
    3. Encontre as métricas TimeToFirstToken ou EstimatedTPMQuotaUsage e filtre por ModelId para visualizar dados de modelos específicos.
    4. Crie alarmes para receber notificações sobre degradação de latência ou consumo de quota aproximando-se de seus limites.

    Exemplos Práticos

    Gerando Dados de Métrica com Requisições de Inferência

    Para gerar pontos de dados de métrica, faça requisições de inferência contra o Amazon Bedrock. Os exemplos a seguir usam o AWS SDK para Python (Boto3) para demonstrar uma requisição sem streaming (que emite EstimatedTPMQuotaUsage) e uma com streaming (que emite TimeToFirstToken e EstimatedTPMQuotaUsage). Nesses exemplos, usamos us-east-1 como a Região AWS e us.anthropic.claude-sonnet-4-6-v1 como um perfil de inferência entre regiões. Substitua pelos seus próprios valores.

    Converse (sem streaming):

    import boto3
    
    bedrock = boto3.client('bedrock-runtime', region_name='us-east-1')
    
    response = bedrock.converse(
        modelId='us.anthropic.claude-sonnet-4-6-v1',
        messages=[
            {
                'role': 'user',
                'content': [{'text': 'What is the capital of France?'}]
            }
        ]
    )
    
    print(response['output']['message']['content'][0]['text'])
    print(f"Input tokens: {response['usage']['inputTokens']}")
    print(f"Output tokens: {response['usage']['outputTokens']}")

    ConverseStream (com streaming):

    import boto3
    
    bedrock = boto3.client('bedrock-runtime', region_name='us-east-1')
    
    response = bedrock.converse_stream(
        modelId='us.anthropic.claude-sonnet-4-6-v1',
        messages=[
            {
                'role': 'user',
                'content': [{'text': 'What is the capital of France?'}]
            }
        ]
    )
    
    for event in response['stream']:
        if 'contentBlockDelta' in event:
            print(event['contentBlockDelta']['delta']['text'], end='')
    
    print()

    As mesmas métricas são emitidas para as APIs InvokeModel (sem streaming) e InvokeModelWithResponseStream (com streaming). A tabela abaixo resume quais métricas cada API emite:

    API Métricas Emitidas
    Converse EstimatedTPMQuotaUsage
    ConverseStream EstimatedTPMQuotaUsage, TimeToFirstToken
    InvokeModel EstimatedTPMQuotaUsage
    InvokeModelWithResponseStream EstimatedTPMQuotaUsage, TimeToFirstToken

    Após fazer essas requisições, aguarde aproximadamente 1 a 2 minutos para que as métricas apareçam. Então navegue até a console CloudWatch em Métricas > Todas as métricas > AWS/Bedrock para verificar que os pontos de dados estão presentes para seu modelo.

    Consultando Métricas Usando a AWS CLI

    Você pode usar a AWS CLI para verificar que as novas métricas estão disponíveis e recuperar seus valores. Primeiro, confirme que as métricas estão sendo publicadas para seu modelo:

    # Listar métricas disponíveis de TimeToFirstToken
    aws cloudwatch list-metrics --namespace AWS/Bedrock --metric-name TimeToFirstToken
    
    # Listar métricas disponíveis de EstimatedTPMQuotaUsage
    aws cloudwatch list-metrics --namespace AWS/Bedrock --metric-name EstimatedTPMQuotaUsage

    Conclusão

    Com as novas métricas TimeToFirstToken e EstimatedTPMQuotaUsage do CloudWatch, o Amazon Bedrock oferece a observabilidade necessária para executar cargas de trabalho de inteligência artificial generativa em produção com confiança.

    Pontos principais:

    • Medir latência de streaming no lado do servidor — TimeToFirstToken fornece medição precisa de latência no lado do servidor para APIs de streaming sem exigir nenhuma instrumentação no cliente.
    • Compreender o verdadeiro consumo de quota — EstimatedTPMQuotaUsage reflete o impacto estimado de quota de suas requisições, incluindo multiplicadores de redução, permitindo prever e prevenir limitação.
    • Nenhuma ação necessária para começar — Ambas as métricas são emitidas automaticamente sem custo adicional. Abra seu dashboard do CloudWatch para começar a usá-las.
    • Definir alarmes proativos — Use essas métricas para criar alarmes que detectem problemas de desempenho e pressão de quota antes que afetem suas aplicações.

    Abra sua console do Amazon CloudWatch hoje mesmo para explorar essas novas métricas e configurar alarmes adaptados aos requisitos de sua carga de trabalho.

    Referências

    Fonte

    Improve operational visibility for inference workloads on Amazon Bedrock with new CloudWatch metrics for TTFT and Estimated Quota Consumption (https://aws.amazon.com/blogs/machine-learning/improve-operational-visibility-for-inference-workloads-on-amazon-bedrock-with-new-cloudwatch-metrics-for-ttft-and-estimated-quota-consumption/)

  • Agentes de IA Seguros com Políticas no Amazon Bedrock AgentCore

    O Desafio de Segurança em Agentes de IA

    Implantar agentes de inteligência artificial com segurança em indústrias reguladas representa um dos maiores desafios da computação moderna. Sem limites bem definidos, um agente capaz de acessar dados sensíveis ou executar transações financeiras se torna um vetor de risco significativo.

    O que torna os agentes de IA tão poderosos é justamente aquilo que os torna arriscados: sua autonomia. Diferentemente de software tradicional que segue um fluxo predeterminado, um agente de IA seleciona ações para atingir um objetivo, invocando ferramentas, acessando dados e adaptando seu raciocínio com base em informações do ambiente e do usuário. Essa flexibilidade é essencial para sua efetividade, mas exige controles de segurança rigorosos.

    Um modelo mental útil para compreender a segurança de agentes é imaginar “muros” ao seu redor que definem exatamente o que o agente pode acessar, com o que pode interagir e que efeitos pode ter no mundo externo. Sem esses muros bem definidos, um agente autorizado a enviar emails, consultar bancos de dados, executar código ou disparar transações financeiras representa um risco real de exfiltração de dados, acesso não intencional a infraestrutura ou ataques de injeção de prompts.

    Por Que Agentes Precisam de Enforcement Externo de Políticas

    Proteger agentes de IA é mais complexo que proteger software tradicional. As características que os tornam poderosos — raciocínio aberto, uso flexível de ferramentas e adaptabilidade a novas situações — também criam comportamentos imprevisíveis e difíceis de controlar com segurança.

    Agentes dependem de inferência com Grandes Modelos de Linguagem (LLM), que podem alucinar e carecem de separação clara entre instruções confiáveis e texto incidental. Isso os torna vulneráveis a ataques adversariais como injeção de prompts, que exploram essas fraquezas para contornar salvaguardas.

    Historicamente, essas vulnerabilidades são gerenciadas através de restrições programadas no código da aplicação. Esse método funciona, mas com custos ocultos: o comportamento seguro depende da corretude do código wrapper, que se torna uma fronteira de segurança implícita. Auditar se as políticas corretas estão em lugar requer análise cuidadosa de potencialmente grande base de código. Equipes de segurança precisam revisar código de aplicação em vez de ter uma definição de política clara e auditável.

    A AWS introduziu uma abordagem diferente: movendo a política completamente para fora do agente. Agora o enforcement ocorre antes da invocação da ferramenta, através do AgentCore Gateway. Isso significa que a política é enforçada independentemente do que o agente faz, como é manipulado ou que bugs possam existir no código do agente. Com essa separação, equipes podem focar em capacidade sem tratar cada linha de código como uma fronteira de segurança.

    Cedar: Linguagem para Enforcement Determinístico de Políticas

    Para tornar o enforcement externo de política prático, é necessária uma linguagem que seja simultaneamente eficiente para máquinas e auditável para humanos. Cedar é a linguagem de autorização utilizada no Policy do Amazon Bedrock AgentCore, projetada especificamente para ser tanto uma linguagem de autorização prática quanto um alvo para análise matemática automatizada.

    Cada política Cedar especifica um principal (quem), uma ação (o que) e um recurso (onde), com condições opcionais na cláusula when. Um exemplo simples mostra como permitir que apenas Alice visualize uma foto:

    permit(
      principal == User::"alice",
      action == Action::"view",
      resource == Photo::"VacationPhoto94.jpg"
    );

    Além de atributos em principals, recursos e ações, Cedar permite passar um objeto de contexto com atributos que podem ser referenciados em políticas para condicionar decisões a informações de tempo de execução. Isso permite criar políticas sofisticadas que combinam identidade, função, contexto e dados da requisição.

    A semântica de Cedar — incluindo negação como padrão, “forbid vence permit” e avaliação independente de ordem — torna razoável raciocinar sobre políticas de forma composicional. A latência de avaliação é mínima graças à estrutura sem loops. Politicas Cedar não têm efeitos colaterais como acesso a sistema de arquivos ou chamadas de rede, permitindo avaliação segura sem sandboxing mesmo quando escritas por autores não confiáveis.

    Policy no Amazon Bedrock AgentCore

    O Policy no Amazon Bedrock AgentCore fornece o mecanismo concreto que avalia cada requisição agente-para-ferramenta contra políticas Cedar explicitamente definidas. Um motor de política é uma coleção de políticas expressas em Cedar.

    Para tornar a autoria de políticas acessível, elas podem ser criadas de duas maneiras: authored diretamente como Cedar para controle programático fino-granular, ou geradas a partir de enunciados em linguagem natural que são automaticamente formalizados em Cedar. A partir de linguagem natural, o serviço gera código Cedar sintaticamente correto, valida contra o schema do gateway e analisa para identificar políticas excessivamente permissivas, restritivas ou problemáticas antes da aplicação.

    Uma vez definidas, as políticas no Policy no AgentCore interceptam tráfego do agente através dos Gateways do Amazon Bedrock AgentCore, avaliando cada requisição agente-para-ferramenta contra as políticas do motor antes de conceder ou negar acesso à ferramenta.

    Imagem original — fonte: Aws

    Caso de Uso: Agente de Agendamento de Consultas em Saúde

    Para concretizar esses conceitos, consideremos um agente de agendamento de consultas que funciona em um ambiente de saúde. Este sistema de IA ajuda a verificar status de imunização, consulta slots disponíveis e agenda consultas. O objetivo é proteger o sistema usando Policy para prevenir acesso não autorizado a registros de pacientes, exposição inadvertida de informações de saúde protegidas (PHI) ou cancelamento de consultas por pacientes não autorizados.

    O Policy no Amazon Bedrock AgentCore adota postura de negação por padrão: se nenhuma política de permissão coincide com uma requisição, ela é bloqueada. Combinado com o princípio de que “forbid vence permit”, essas duas semânticas estabelecem uma base sólida para construir um conjunto coeso de regras Cedar legíveis e auditáveis que melhorem a segurança do agente em produção.

    Ferramentas do Agente de Saúde

    O agente de agendamento possui as seguintes ferramentas:

    • getPatient: GET /get_patient_emr — Obtém um registro de paciente pelo parâmetro de query obrigatório patient_id (string)
    • searchImmunization: POST /search_immunization_emr — Procura registros de imunização com parâmetro obrigatório search_value (string; ID do paciente)
    • bookAppointment: POST /book_appointment — Agenda uma consulta fornecendo date_string (string; formato “YYYY-MM-DD HH:MM”)
    • getSlots: GET /get_available_slots — Obtém slots disponíveis pelo parâmetro de query obrigatório date_string (string; “YYYY-MM-DD”)

    Políticas Baseadas em Identidade

    Uma regra fundamental em um agente de saúde é que pacientes devem conseguir agir apenas em seus próprios registros. Criar uma política que permita um paciente ler seus próprios registros de paciente e imunização requer que o parâmetro da ferramenta (patient_id para getPatient, search_value para searchImmunization) coincida com o ID autenticado do usuário.

    Separação de Leitura e Escrita

    Um padrão comum em sistemas de saúde é permitir acesso amplo de leitura enquanto restringe firmemente operações de escrita. Uma exemplo de política seria permitir leituras apenas para usuários autenticados com escopo apropriado (por exemplo, fhir:read) e manter escritas sob controle separado. Similar, um escopo appointment:write pode ser usado para controlar acesso a operações de escrita.

    Controles de Risco em Agendamento

    Além de controle de acesso, Policy pode enforçar regras de negócio ou padrões perigosos que ajudam a prevenir abuso. Ao usar “forbid” explícitos para barrar padrões de entrada perigosos nas ferramentas, é possível proteger a aplicação mesmo que o agente seja comprometido.

    Por exemplo, criar uma política que bloqueie a exibição de slots de consulta fora de horários limitados. Uma declaração em linguagem natural como “Permitir que usuários vejam slots apenas entre 9h e 21h UTC” pode ser convertida em uma política Cedar que garante isso automaticamente.

    Imagem original — fonte: Aws

    Começando a Usar

    Para experimentar esse exemplo, comece clonando o repositório de amostras do Amazon Bedrock AgentCore e navegando até a pasta do agente de consultas médicas:

    git clone https://github.com/awslabs/amazon-bedrock-agentcore-samples.git
    cd amazon-bedrock-agentcore-samples/02-use-cases/healthcare-appointment-agent

    A partir daí, siga as instruções de configuração e implantação no README para configurar seu ambiente AWS, implantar a stack de exemplo e invocar o agente end-to-end.

    Pré-requisitos

    Para usar Policy no Amazon Bedrock AgentCore com sua aplicação de agentes, verifique se atende aos seguintes pré-requisitos:

    • Uma conta AWS ativa
    • Confirmação das regiões AWS onde Policy no AgentCore está disponível
    • Permissões IAM apropriadas para criar, testar e anexar motor de política ao seu AgentCore Gateway

    Para produção, limpe os ARNs de recurso para IDs específicos de motor de política e gateway em vez de usar wildcards. Para o conjunto completo de permissões incluindo configuração do execution role do Gateway, consulte as permissões IAM do AgentCore Gateway e Policy.

    Testando Enforcement de Políticas

    Dois casos de teste ilustram como políticas de acesso escopo-identidade funcionam quando o agente invoca a ferramenta getPatient em nome de um usuário. Em ambos os casos, o usuário autenticado é patient adult-patient-001.

    Caso 1: PERMITIR — Paciente acessando seu próprio registro

    O agente envia uma requisição tools/call ao gateway para invocar getPatient com o parâmetro patient_id definido como adult-patient-001. Como o patient_id na entrada da ferramenta coincide com o patient_id autenticado do usuário, a política Cedar permite a requisição:

    Prompt: "Get my patient information for patient ID adult-patient-001"
    Policy decision: ALLOW
    Result: Patient record returned successfully

    Caso 2: NEGAR — Paciente tentando acessar registro de outro paciente

    Agora o agente envia a mesma requisição tools/call para getPatient, mas com patient_id definido como pediatric-patient-001. A política Cedar compara a entrada contra o patient_id autenticado do usuário, encontra uma desconexão e nega a requisição porque não há política de permissão coincidente:

    Prompt: "Get patient information for patient ID pediatric-patient-001"
    Policy decision: DENY
    Result: Tool execution denied by policy enforcement

    O mesmo código do agente, o mesmo modelo e a mesma ferramenta são usados em ambos os casos. A única diferença é a avaliação de política na fronteira do gateway. A ferramenta é protegida da requisição negada porque o gateway intercepta antes da execução.

    Um segundo padrão de enforcement demonstra uma regra “forbid” que bloqueia operações de agendamento fora de horários permitidos. Se o agente fizer a mesma requisição mas às 3h UTC, a regra “forbid” coincide porque a hora está abaixo de nove, e como “forbid vence permit” em Cedar, a requisição é bloqueada independentemente de outras políticas de permissão:

    Prompt: "Show me available appointment slots for 2025-08-15" (requested at 03:00 UTC)
    Policy decision: DENY
    Result: Tool execution denied by policy enforcement

    Próximos Passos

    Pronto para adicionar enforcement determinístico de política aos seus próprios agentes? Estes recursos ajudarão você a começar rapidamente:

    • O Policy Developer Guide cobre autoria de política Cedar, formalização de linguagem natural para Cedar, criptografia com AWS KMS e construtos CDK para implantações Infrastructure as Code (IaC)
    • O workshop Getting Started do AgentCore guia você através da construção e proteção de um agente end-to-end, incluindo integração de Policy com AgentCore Gateway
    • Dúvidas sobre implementar essas políticas em seu caso de uso específico? Compartilhe seus pensamentos na comunidade de fóruns AWS

    Conclusão

    Agentes de IA são tão confiáveis quanto os limites que os contêm. Esses limites devem ser enforçados de forma determinística, não deixados à mercê do raciocínio interno do modelo. O Policy no Amazon Bedrock AgentCore oferece um caminho principiado para definir esses limites e enforçá-los na camada de gateway em cada requisição agente-para-ferramenta. Essas políticas são enforçadas independentemente do raciocínio do agente e são auditáveis por qualquer membro da equipe de segurança.

    Para empresas implantando agentes em indústrias reguladas, essa separação entre capacidade e enforcement é o fundamento que torna possível sistemas agentic de nível produção. Ao combinar flexibilidade de IA com controles determinísticos, organizações podem inovar com confiança.

    Fonte

    Secure AI agents with Policy in Amazon Bedrock AgentCore (https://aws.amazon.com/blogs/machine-learning/secure-ai-agents-with-policy-in-amazon-bedrock-agentcore/)

  • Busca multimodal em escala: um data lake de IA para conteúdo de mídia e entretenimento

    Buscando além das palavras-chave tradicionais

    A busca em repositórios de vídeo costuma depender de etiquetagem manual ou palavras-chave predefinidas. A AWS apresenta uma alternativa que vai além: uma arquitetura escalável para busca multimodal em vídeos, capaz de processar consultas em linguagem natural e encontrar conteúdo relevante não apenas pelas tags, mas pela compreensão semântica do que realmente acontece no vídeo.

    A solução integra os modelos Amazon Nova com o Amazon OpenSearch Service, gerando embeddings que capturam informações visuais e de áudio simultaneamente. O resultado é um sistema que entende o contexto do conteúdo videográfico de forma muito mais rica que abordagens tradicionais.

    Processando escala em volume real

    Para demonstrar a viabilidade dessa abordagem, a AWS processou 792.270 vídeos de dois conjuntos de dados públicos: Multimedia Commons (787.479 vídeos com média de 37 segundos) e MEVA (4.791 vídeos com média de 5 minutos). No total, foram processadas 8.480 horas de conteúdo em 41 horas de computação.

    Os custos ficaram em torno de R$ 27 mil no primeiro ano (utilizando OpenSearch sob demanda) ou R$ 23 mil com instâncias reservadas. A ingestão única custou aproximadamente R$ 18 mil, enquanto a assinatura anual do OpenSearch ficou entre R$ 5,5 mil e R$ 9,2 mil, dependendo do modelo de pagamento escolhido.

    Arquitetura em duas camadas: ingestão e busca

    A solução é organizada em dois fluxos de trabalho principais que trabalham em conjunto.

    O pipeline de ingestão de vídeos

    O processamento utiliza quatro instâncias Amazon EC2 do tipo c7i.48xlarge, cada uma executando 600 trabalhadores paralelos para processar aproximadamente 19.400 vídeos por hora. A API assíncrona de embeddings multimodais permite que o sistema segmente vídeos em trechos de 15 segundos (otimizados para capturar mudanças de cena) e gere embeddings de 1.024 dimensões.

    A escolha por embeddings de 1.024 dimensões em vez de 3.072 dimensões resultou em economia de três vezes no armazenamento, com impacto mínimo na precisão. O processamento responde pela maior parte do custo: aproximadamente R$ 17 mil dos R$ 18 mil da ingestão.

    Além dos embeddings, o sistema utiliza Amazon Nova Pro (ou Amazon Nova 2 Lite para melhor custo-benefício) para gerar entre 10 e 15 etiquetas descritivas por vídeo a partir de uma taxonomia predefinida, facilitando buscas por palavras-chave complementares.

    Pipeline de ingestão de vídeos mostrando o fluxo de armazenamento no S3 através dos modelos Nova até os índices do OpenSearch — fonte: Aws

    Armazenamento em índices especializados

    Os embeddings são indexados em um índice k-NN do OpenSearch para buscas semânticas vetoriais, enquanto as etiquetas de metadados ficam em um índice de texto separado para correspondências por palavras-chave. Essa arquitetura dual permite otimizar cada tipo de busca independentemente.

    Três formas de buscar: texto, vídeo e híbrida

    A arquitetura suporta três modos de consulta distintos, cada um atendendo a casos de uso diferentes.

    Busca por texto em vídeos

    O usuário digita uma consulta em linguagem natural. O sistema converte essa consulta em um embedding utilizando a API síncrona do Amazon Nova Multimodal Embeddings e realiza uma busca de similaridade vetorial (k-NN) contra todos os segmentos indexados. Uma consulta como “pessoa caminhando na praia ao pôr do sol” encontra segmentos de vídeo com significado semelhante, não necessariamente com essas palavras exatas.

    Busca vídeo a vídeo

    A busca por similaridade também funciona ao contrário: seleciona-se um segmento de um vídeo já indexado e encontram-se segmentos similares de toda a biblioteca. Não há necessidade de invocar o modelo novamente — o embedding já existe no OpenSearch.

    Busca híbrida

    A abordagem mais robusta combina os dois métodos: busca vetorial por similaridade (70% do peso) com busca textual por palavras-chave (30% do peso). Segmentos que aparecem em ambas as consultas recebem uma pontuação combinada, entregando resultados mais precisos quando a qualidade das etiquetas é elevada.

    Arquitetura de busca de vídeos mostrando os três modos de consulta — fonte: Aws

    Performance em escala de produção

    Depois de indexar mais de 792 mil vídeos, o sistema foi testado em relação à velocidade de resposta:

    • Busca semântica k-NN: ~76 ms (utilizando algoritmo HNSW com complexidade logarítmica)
    • Busca textual BM25: ~30 ms
    • Busca híbrida: ~106 ms

    O armazenamento total necessário foi de 29,8 GB — 28,8 GB para o índice vetorial e 1 GB para o índice de texto. Todas as três modalidades de busca mantêm latências abaixo de 200 ms mesmo em escala de centenas de milhares de vídeos, atendendo aos requisitos típicos de aplicações interativas.

    Implementando a solução na prática

    Pré-requisitos

    Para começar, é necessário ter acesso a uma conta AWS com Amazon Bedrock na região us-east-1, Python 3.9 ou superior, AWS CLI configurada, um domínio do OpenSearch Service com instâncias r6g.large ou maiores, um bucket Amazon S3 para armazenar vídeos e embeddings, e permissões apropriadas de Controle de Acesso à Identidade (IAM).

    Configurando permissões

    O primeiro passo é criar uma função IAM com permissões para invocar modelos do Amazon Bedrock, escrever em índices do OpenSearch e ler/escrever objetos no S3. A política deve permitir as ações específicas de invocação de modelos Nova, operações no OpenSearch e acesso aos buckets de vídeos e embeddings.

    Criando índices no OpenSearch

    É necessário criar dois índices do OpenSearch Service: um para embeddings vetoriais (k-NN) e outro para metadados de texto. O primeiro deve habilitar a funcionalidade k-NN com dimensão de 1.024 e usar o algoritmo HNSW com similitude de cosseno. O segundo segue a estrutura padrão de índice de texto com dois campos: identificador do vídeo, índice do segmento, e etiquetas.

    Processando vídeos com Nova

    A API assíncrona do Amazon Bedrock processa vídeos e gera embeddings. O sistema segmenta vídeos em trechos de 15 segundos, combina informações visuais e de áudio, e retorna os embeddings via S3. Como há um limite de 30 trabalhos simultâneos por conta, a implementação inclui uma fila de trabalhos com polling — submeter jobs até o limite, aguardar conclusão e submeter novos conforme slots ficam disponíveis.

    Gerando etiquetas com Nova Pro

    Após gerar embeddings, o sistema utiliza Nova Pro (ou Nova Lite para melhor custo-benefício) para extrair etiquetas descritivas de uma taxonomia predefinida. Isso enriquece a capacidade de busca por palavras-chave e melhora significativamente os resultados da busca híbrida.

    Indexando dados no OpenSearch

    Os embeddings e etiquetas são carregados no OpenSearch usando indexação em massa para eficiência. Cada segmento de vídeo gera uma entrada no índice vetorial com sua dimensão de 1.024 componentes, e outra entrada no índice de texto com suas etiquetas associadas.

    Executando buscas

    Após a ingestão, o sistema está pronto para receber consultas. Para buscas por texto em vídeos, o sistema converte a consulta em embedding usando a API síncrona do Amazon Nova e realiza uma busca de similaridade no índice k-NN. Para buscas vídeo a vídeo, recupera-se o embedding de um segmento de referência e realiza-se a mesma busca de similaridade. Buscas híbridas combinam os dois métodos, agregando pontuações ponderadas de ambos os índices.

    Escalando para produção

    Conforme o volume de vídeos cresce, recomenda-se utilizar AWS Batch para processar lotes de vídeos em paralelo em múltiplas instâncias, particionando o dataset entre diferentes trabalhadores. O monitoramento da saúde do cluster OpenSearch Service é importante para escalar nós de dados conforme o índice cresce. A arquitetura de dois índices escala bem porque buscas vetoriais e textuais podem ser otimizadas independentemente.

    Os pesos da busca híbrida (70% vetor, 30% texto) podem ser ajustados conforme o caso de uso. Se as etiquetas forem de alta qualidade, aumentar o peso textual para 50% pode melhorar resultados para consultas específicas.

    Considerações de custo e desempenho

    O tempo de processamento de um vídeo depende de sua duração. Um vídeo de 45 segundos leva aproximadamente 70 segundos para ser totalmente processado pela API assíncrona. Escolher embeddings de 1.024 dimensões em vez de 3.072 reduz custos de armazenamento em três vezes com mínimo impacto em precisão.

    A cobrança pelos embeddings ocorre por segundo de vídeo processado (R$ 0,00056 por segundo no modo de lote), então a duração total do vídeo é o fator determinante, não a dimensão dos embeddings. A API assíncrona é significativamente mais econômica que processar vídeos quadro a quadro.

    Para o OpenSearch Service, instâncias r6g oferecem melhor relação preço-desempenho que gerações anteriores, e é possível implementar estratificação de dados para mover conteúdo frio para S3 e economizar ainda mais.

    Limpeza de recursos

    Ao finalizar os testes, para evitar cobranças contínuas, é importante deletar o domínio do OpenSearch Service, limpar e remover os buckets S3 usados para vídeos e embeddings, e remover qualquer função IAM criada especificamente para a solução. Cobranças pelo Amazon Bedrock baseiam-se em uso real, portanto nenhuma limpeza adicional é necessária para os modelos.

    Abrindo caminhos para novos casos de uso

    A solução apresentada oferece uma base sólida para buscas inteligentes em repositórios de vídeo em escala. A combinação de processamento multimodal com índices vetoriais mantém custos gerenciáveis mesmo com centenas de milhares de vídeos, enquanto entrega experiências de busca muito superiores aos métodos tradicionais.

    Para aprofundar nos detalhes técnicos, consulte a documentação de Amazon Nova Multimodal Embeddings e Busca Híbrida com Amazon OpenSearch Service.

    Fonte

    Multimodal embeddings at scale: AI data lake for media and entertainment workloads (https://aws.amazon.com/blogs/machine-learning/multimodal-embeddings-at-scale-ai-data-lake-for-media-and-entertainment-workloads/)

  • AWS CDK Mixins agora está disponível para uso em produção

    O que é CDK Mixins

    A AWS anunciou a disponibilidade geral do CDK Mixins, um novo recurso do Kit de Desenvolvimento em Nuvem (AWS CDK – Cloud Development Kit) que oferece uma forma inovadora de trabalhar com construtos de infraestrutura. Esse recurso permite que você adicione abstrações compostas e reutilizáveis a qualquer construto AWS—sejam construtos de nível 1 (L1), nível 2 (L2) ou construtos personalizados—sem necessidade de reconstruir seu código de infraestrutura existente.

    O CDK Mixins fica disponível através do pacote aws-cdk-lib e funciona de forma compatível com todos os tipos de construtos, oferecendo a flexibilidade de aplicar as abstrações corretas exatamente onde e quando você precisa delas.

    Por que CDK Mixins resolve um problema real

    Historicamente, as equipes de infraestrutura enfrentavam uma escolha difícil: utilizar construtos L1 para ter acesso imediato aos novos recursos da AWS, ou optar pela conveniência das abstrações de nível mais alto oferecidas pelos construtos L2. Essa decisão frequentemente resultava em trabalho significativo para atender a requisitos de segurança, conformidade ou operacionais.

    O CDK Mixins simplifica a manutenção de bibliotecas de construtos personalizadas, eliminando essa falsa dicotomia.

    Capacidades práticas do CDK Mixins

    O novo recurso permite aplicar funcionalidades como exclusão automática, criptografia de buckets, versionamento e bloqueio de acesso público diretamente aos construtos usando uma sintaxe simples de .with(). Você também pode combinar múltiplos Mixins em construtos L2 customizados e aplicar políticas de conformidade em um escopo inteiro de infraestrutura.

    Para casos mais avançados, desenvolvedores podem usar Mixins.of() para realizar filtragem sofisticada por tipo de recurso ou padrão de caminho.

    Benefícios para equipes corporativas

    Equipes empresariais agora conseguem implementar e aplicar políticas de segurança e conformidade reutilizáveis em toda a sua infraestrutura, mantendo simultaneamente acesso ao dia um com novos recursos da AWS. Essa combinação oferece maior flexibilidade operacional sem comprometer a segurança ou os padrões regulatórios exigidos pelas organizações.

    Disponibilidade e próximos passos

    O CDK Mixins está disponível em todas as regiões da AWS onde o AWS CloudFormation é suportado. Para começar a usar o CDK Mixins, você pode consultar a documentação da AWS completa com exemplos e guias de implementação.

    Fonte

    AWS CDK Mixins is now generally available (https://aws.amazon.com/about-aws/whats-new/2026/03/aws-cdk-mixins/)

  • OpenSearch UI agora permite acesso a dados em múltiplas contas AWS

    Novo recurso de acesso entre contas no OpenSearch

    A AWS anunciou um novo recurso no Amazon OpenSearch Service que facilita significativamente o trabalho com dados distribuídos em múltiplas contas: o suporte nativo para acesso entre contas. Esse recurso permite que os usuários acessem domínios OpenSearch hospedados em diferentes contas AWS diretamente de uma única interface de aplicação, sem necessidade de trocar de endpoint ou replicar dados.

    Como funciona o acesso entre contas

    Com essa funcionalidade, é possível executar consultas e construir dashboards utilizando dados provenientes de domínios OpenSearch espalhados por diferentes contas na mesma região geográfica. Tudo isso permanecendo dentro do mesmo aplicativo OpenSearch UI, o que simplifica bastante o fluxo de trabalho.

    Configurações suportadas

    O recurso de acesso entre contas funciona tanto em domínios OpenSearch hospedados em configurações públicas quanto em Virtual Private Cloud (VPC), oferecendo flexibilidade para diferentes arquiteturas de segurança.

    Benefícios para equipes e organizações

    Antes desse recurso, equipes precisavam consolidar todos os dados em uma única conta ou manter pipelines de dados custosos e complexos para viabilizar análises unificadas que cruzassem fronteiras organizacionais. Agora, com o acesso entre contas, os dados permanecem exatamente onde estão, cada conta mantendo seu próprio controle de acesso, enquanto análises centralizadas tornam-se possíveis.

    Casos de uso principais

    Esse recurso é especialmente valioso para implementar fluxos de trabalho centralizados de observabilidade, busca e análise de segurança que abrangem múltiplas contas AWS, mantendo a segurança e a governança de dados intactas em cada uma delas.

    Autenticação e acesso

    O acesso entre contas no OpenSearch suporta dois mecanismos de autenticação para usuários finais: IAM (incluindo SAML via federação IAM) e IAM Identity Center (IdC). Isso garante que as organizações possam manter seus modelos de autenticação e governança existentes.

    Disponibilidade

    O recurso de acesso entre contas para domínios OpenSearch está disponível em todas as regiões AWS onde o OpenSearch UI é oferecido. Para informações técnicas detalhadas e instruções de configuração, consulte a documentação disponível em acesso entre contas para domínios OpenSearch no guia de desenvolvimento do Amazon OpenSearch Service.

    Fonte

    OpenSearch UI supports Cross Account Data Access to OpenSearch domains (https://aws.amazon.com/about-aws/whats-new/2026/03/opensearch-ui-cross-account-data-access-domains/)

  • Amazon Bedrock AgentCore Memory: Notificações em Tempo Real para Memória de Longo Prazo

    Notificações em Tempo Real para Memória de Longo Prazo

    A AWS anunciou um novo recurso para o Bedrock AgentCore Memory que muda a forma como os desenvolvedores trabalham com memória de longo prazo em aplicações de inteligência artificial. Agora é possível receber notificações em tempo real sempre que registros de memória são criados ou modificados, eliminando completamente a necessidade de implementar lógica de sondagem constante.

    Como Funciona a Memória de Longo Prazo

    A memória de longo prazo é um componente fundamental do AgentCore Memory que extrai insights das interações dos agentes de IA. Esses insights permitem que o agente entregue experiências personalizadas em interações futuras com o mesmo usuário ou contexto. Quando bem configurada, essa memória transforma a qualidade da experiência do usuário ao longo do tempo.

    O Novo Sistema de Notificações por Streaming

    Com essa atualização, os desenvolvedores não precisam mais implementar mecanismos de polling. As atualizações são transmitidas diretamente para o Amazon Kinesis (Fluxo de Dados em Tempo Real) cada vez que um registro de memória é criado ou modificado. Isso oferece várias vantagens práticas:

    • Acionamento automático de fluxos de trabalho downstream sem intervenção manual
    • Atualização do estado da aplicação em tempo real
    • Auditoria automática de mudanças na memória
    • Eliminação da necessidade de gerenciar intervalos de atualização

    Disponibilidade Global

    Este recurso está disponível em 15 regiões AWS, cobrindo as principais geografias: US East (N. Virginia), US East (Ohio), US West (Oregon), Europe (Frankfurt), Europe (Ireland), Europe (London), Europe (Paris), Europe (Stockholm), Asia Pacific (Mumbai), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Seoul), Canada (Central), e South America (São Paulo).

    Próximos Passos

    Os desenvolvedores interessados em integrar notificações em tempo real no AgentCore Memory podem consultar a documentação completa sobre como implementar o recurso de streaming de notificações em seus projetos.

    Fonte

    Amazon Bedrock AgentCore Memory announces streaming notifications for long-term memory (https://aws.amazon.com/about-aws/whats-new/2026/03/agentcore-memory-streaming-ltm/)

  • AWS Private CA Connector para SCEP agora suporta AWS PrivateLink

    Conectividade Privada para Certificados via SCEP

    A AWS anunciou em março de 2026 uma atualização significativa no seu AWS Private CA Connector para SCEP: suporte a AWS PrivateLink. Essa expansão permite que os clientes solicitem certificados a partir de dentro de sua Amazon Virtual Private Cloud (VPC) sem precisar atravessar a internet pública.

    Com esse novo recurso, é possível criar endpoints de VPC para conectar-se ao conector SCEP de forma privada, mantendo todo o tráfego dentro da rede AWS. Essa abordagem elimina a necessidade de internet gateways, dispositivos NAT ou conexões VPN para acessar os endpoints do conector SCEP.

    O que é o AWS Private CA Connector para SCEP?

    O AWS Private CA Connector para SCEP é um conector gerenciado que permite usar o Simple Certificate Enrollment Protocol (SCEP) para emitir certificados a partir da AWS Private Certificate Authority (CA).

    O SCEP é amplamente adotado para automação de inscrição e renovação de certificados em diversos tipos de dispositivos, incluindo:

    • Dispositivos móveis
    • Equipamentos de rede
    • Dispositivos IoT (Internet das Coisas)

    Benefícios da Integração com PrivateLink

    O suporte a AWS PrivateLink traz vantagens significativas para organizações que precisam gerenciar certificados em ambientes altamente seguros:

    • Simplificação da conectividade de rede: elimina a necessidade de configurações complexas com internet gateways, NAT ou VPN
    • Conformidade regulatória: atende requisitos que mandatam conectividade privada para gerenciamento de certificados
    • Redução de superfície de ataque: mantém todo o tráfego dentro da rede AWS, sem exposição à internet pública
    • Facilidade operacional: simplifica a arquitetura de rede para ambientes complexos

    Disponibilidade Geográfica

    O suporte a AWS PrivateLink para AWS Private CA Connector para SCEP está disponível em todas as regiões AWS onde o conector está presente. Para verificar a disponibilidade regional específica, consulte a AWS Region Table.

    Próximos Passos

    Para começar a utilizar essa nova funcionalidade, os usuários podem acessar a documentação do AWS Private CA Connector para SCEP com instruções detalhadas de implementação. Informações adicionais sobre PrivateLink podem ser encontradas na documentação do AWS PrivateLink.

    Fonte

    AWS Private CA Connector for SCEP now supports AWS PrivateLink (https://aws.amazon.com/about-aws/whats-new/2026/03/aws-private-ca-connector-scep-privatelink/)

  • Como gerenciar o ciclo de vida de Amazon Machine Images usando AMI Lineage na AWS

    O desafio do gerenciamento de AMIs em escala

    Conforme as organizações expandem suas infraestruturas na nuvem, o gerenciamento adequado do ciclo de vida das Amazon Machine Images (AMIs) torna-se um componente crítico para segurança e gestão de riscos. As AMIs fornecem informações essenciais para lançar instâncias do Amazon Elastic Compute Cloud (Amazon EC2), mas apresentam desafios significativos de segurança e conformidade quando não são rastreadas e gerenciadas adequadamente ao longo de seu ciclo de vida.

    O principal desafio reside em manter visibilidade sobre as vulnerabilidades potenciais distribuídas pelas AMIs em todo o ambiente AWS. Sem uma forma clara de rastrear a origem e as derivações das imagens, as equipes de segurança enfrentam dificuldades para responder perguntas críticas: qual é o impacto de uma vulnerabilidade específica? Quais instâncias precisam de atualização urgente? As AMIs em uso são provenientes de fontes aprovadas?

    O anúncio do suporte a linhagem de AMIs

    No final de 2024, a AWS anunciou suporte a rastreamento de linhagem para Amazon EC2, disponibilizando detalhes sobre a origem das AMIs. Com essa informação de linhagem, é possível rastrear AMIs copiadas ou derivadas até sua fonte original.

    Os dados de origem estão disponíveis para AMIs criadas usando comandos API específicos como CreateImage, CopyImage e CreateRestoreImageTask. Porém, quando uma AMI é criada através de um comando API diferente, o ID e a região AWS da AMI de origem não aparecem, criando lacunas de visibilidade que podem impactar os esforços de segurança e conformidade.

    Uma solução integrada de governança

    Para preencher essas lacunas e oferecer governança abrangente de AMIs, as organizações precisam construir capacidades adicionais. Uma solução bem projetada deve rastrear a origem das AMIs, validar que recursos implantados provêm de imagens douradas aprovadas, responder a investigações de auditoria com uma cadeia de custódia clara, e fazer cumprir padrões aprovados de criação de AMIs em todas as contas e regiões da AWS.

    A solução apresentada utiliza Amazon Neptune, um banco de dados em grafo de alta performance, juntamente com serviços de segurança nativos da AWS para manter uma visão abrangente das relações entre AMIs e permitir monitoramento proativo de segurança. Com essa solução, é possível implementar controles sobre a origem de AMIs, validar imagens do marketplace por meio de políticas de controle de serviço, e manter conformidade com requisitos organizacionais e regulatórios.

    Componentes principais da arquitetura

    A solução de governança de AMI Lineage integra serviços essenciais da AWS em uma arquitetura de múltiplas contas. O Neptune funciona como banco de dados em grafo especializado, armazenando e gerenciando os dados de relacionamentos entre AMIs de forma segura.

    Funções do AWS Lambda atuam como motor de processamento, captando eventos do ciclo de vida das AMIs (como CreateImage, CopyImage e DeregisterImage), avaliando-os contra regras de conformidade e atualizando o banco de dados em grafo. Essas funções são configuradas com permissões de AWS Identity and Access Management (IAM) com privilégios mínimos para aumentar a segurança.

    O Amazon API Gateway oferece endpoints REST seguros para consultas de linhagem e avaliações de segurança. A autenticação combina chaves de API e papéis de IAM para garantir que apenas usuários e sistemas autorizados possam acessar os dados.

    Imagem original — fonte: Aws

    Arquitetura multi-conta e fluxo de trabalho

    A solução segue as melhores práticas de segurança da AWS com uma arquitetura de múltiplas contas dividida em três tipos principais: conta de gerenciamento da organização, conta centralizada de ferramentas de segurança e múltiplas contas membros.

    A abordagem trabalha da seguinte forma: a AWS Organizations é usada para fazer cumprir políticas de controle de serviço que previnem ações não conformes em AMIs. Quando um evento de ciclo de vida de AMI ocorre em uma conta membro, uma regra local do Amazon EventBridge o captura e encaminha com segurança para o EventBridge central na conta de ferramentas de segurança.

    Uma função Lambda na conta de ferramentas de segurança processa o evento, analisa conformidade e atualiza o banco de dados em grafo do Neptune. O AWS Security Hub e o Amazon GuardDuty recebem e analisam descobertas de todas as contas. As equipes de segurança consultam os dados através de um endpoint seguro do API Gateway para visualizar hierarquias de AMI, investigar descobertas de segurança e avaliar o impacto de uma AMI específica.

    Capacidades de monitoramento e conformidade

    A solução oferece validação abrangente de origem de AMI, garantindo que as imagens provenham de fontes aprovadas, incluindo validação de AMIs do AWS Marketplace em relação a uma lista de fornecedores confiáveis. Capacidades de gerenciamento de ciclo de vida fazem cumprir políticas de retenção de AMIs e processos de descontinuação.

    O monitoramento contínuo rastreia conformidade com requisitos organizacionais e regulatórios. Uma trilha de auditoria detalhada mantém um histórico completo de criação, modificação e padrões de uso de AMIs. Quando vulnerabilidades são descobertas, a solução permite avaliação rápida do escopo de impacto, identificando quais recursos foram afetados.

    Integrando segurança em toda a solução

    O IAM gerencia controle de acesso com privilégios mínimos em todos os componentes. O AWS CloudTrail registra atividades de API para trilhas de auditoria e relatórios de conformidade. O Security Hub centraliza descobertas de segurança e status de conformidade em todo o patrimônio de AMIs. O GuardDuty oferece detecção de ameaças para atividades relacionadas a AMIs.

    Políticas de controle de serviço fazem cumprir controles em nível organizacional sobre criação e uso de AMIs. O AWS Config rastreia mudanças de configuração de AMIs e avalia regras de conformidade contínuas.

    Preparação para implementação

    Antes de implementar a solução, é necessário estabelecer a base apropriada de segurança e governança. A conta de gerenciamento das AWS Organizations requer permissões administrativas e deve estar habilitada com todos os recursos para suportar as políticas utilizadas.

    Uma conta dedicada de ferramentas de segurança é necessária para hospedar os componentes principais da solução, com papéis de IAM de múltiplas contas configurados para permitir acesso seguro. Serviços essenciais de segurança devem ser configurados no nível organizacional, incluindo Security Hub, trilhas CloudTrail organizacionais para registros de auditoria, e chaves de criptografia usando o AWS Key Management Service (AWS KMS) para proteção de dados.

    Tecnicamente, é necessário ter Python 3.8 ou posterior instalado e a AWS Command Line Interface (AWS CLI) versão 2 configurada com credenciais de segurança apropriadas. Um bucket do Amazon Simple Storage Service (Amazon S3) é necessário para artefatos de implantação, criptografado usando SSE-KMS com uma chave gerenciada pelo cliente.

    Fases de implementação

    O processo de implantação segue uma abordagem de cinco fases que constrói capacidades de segurança e conformidade progressivamente.

    Fase 1 – Estabelecimento de fundações de segurança: Configurar os serviços de segurança do AWS Organizations, habilitando Security Hub com a conta de ferramentas de segurança como administrador delegado, habilitando GuardDuty com a conta de ferramentas de segurança como administrador delegado, e habilitando uma trilha CloudTrail em nível organizacional.

    Fase 2 – Controles de segurança: Implantar controles de segurança base através de políticas de controle de serviço em nível organizacional que fazem cumprir controles de governança de AMI.

    Fase 3 – Regras de EventBridge: Implantar regras de EventBridge em nível organizacional da conta de gerenciamento para capturar eventos de AMI em contas membros e encaminhá-los à conta de ferramentas de segurança.

    Fase 4 – Infraestrutura central: Implantar componentes de processamento e armazenamento na conta de ferramentas de segurança, seguindo as melhores práticas de segurança centralizando operações sensíveis em uma conta dedicada.

    Fase 5 – Conformidade e monitoramento: Estabelecer capacidades abrangentes de conformidade e monitoramento em contas membros, com regras do AWS Config para monitoramento contínuo de conformidade de AMIs.

    A solução completa está disponível como código aberto no repositório de exemplos da AWS. É possível clonar o repositório e seguir as instruções de implantação, que incluem templates do AWS CloudFormation, funções Lambda e scripts de implantação.

    Operando a solução de AMI Lineage

    Quando implantada, a solução oferece capacidades de operações de segurança e monitoramento de conformidade através de sua API hospedada na conta de ferramentas de segurança. As equipes de segurança podem consultar e receber relacionamentos completos de segurança de AMIs para entender o contexto total das imagens no ambiente.

    Durante investigações, a solução fornece contexto de segurança detalhado incluindo informações de validação de origem confirmando se as AMIs provêm de fontes do marketplace ou contas confiáveis, status de conformidade mostrando níveis de patch e conformidade com políticas, status de vulnerabilidade com descobertas de CVE (Vulnerabilidades e Exposições Comuns) e resultados de verificação, e dados completos de linhagem mostrando a cadeia completa de relacionamentos e histórico de aprovação.

    Para avaliações de impacto de segurança, quando novas CVEs são descobertas, a solução permite que equipes de segurança determinem rapidamente cada recurso afetado em toda a organização que se originou de uma AMI comprometida ou vulnerável. Com essa informação, é possível compreender o escopo total da exposição e iniciar a remediação.

    Monitoramento contínuo e automação

    O monitoramento de conformidade opera continuamente através de capacidades automatizadas de avaliação que avaliam o patrimônio de AMIs em relação às políticas organizacionais e requisitos regulatórios. As equipes podem gerar relatórios completos de conformidade mostrando aderência aos padrões de segurança em toda a infraestrutura.

    A solução oferece capacidades robustas de automação de políticas que operam continuamente para manter segurança e conformidade. O sistema garante que apenas AMIs aprovadas com histórico de linhagem verificado possam ser usadas para lançar novas instâncias, bloqueando automaticamente tentativas de usar imagens não conformes. Quando violações de políticas são detectadas, o sistema pode disparar respostas automatizadas a eventos de segurança.

    O Security Hub, operando em modo de administrador delegado, pode ser configurado para responder automaticamente a descobertas parando instâncias usando AMIs com vulnerabilidades críticas, colocando em quarentena instâncias lançadas de fontes não aprovadas, e enviando notificações imediatas para descobertas de alta severidade.

    Visualização, relatórios e auditoria

    As capacidades de visualização e relatórios de segurança, centralizadas na conta de ferramentas de segurança, oferecem dashboards em tempo real mostrando status de conformidade em toda a organização, visualização de escopo para tomada rápida de decisões, status do fluxo de trabalho de aprovação de AMI para monitoramento de processo, métricas de conformidade de patch para manutenção de postura de segurança, e logs de atividades de remediação automatizadas para fins de auditoria.

    Para investigações de segurança e fins de auditoria, a solução mantém uma trilha de auditoria consultável oferecendo histórico completo de AMIs incluindo eventos de criação e modificação, resultados de verificação de segurança e descobertas, histórico de fluxo de trabalho de aprovação, e mudanças de status de conformidade ao longo do tempo.

    Considerações finais

    A solução de AMI Lineage transforma a governança de AMI de um processo manual e propenso a erros em uma capacidade de segurança automatizada e abrangente que escala com o crescimento organizacional. Implementando essa solução, as organizações ganham visibilidade, controle e capacidades de resposta automatizadas necessários para manter uma postura de segurança forte, enquanto permitem implantação rápida e segura de infraestrutura em todo o ambiente AWS.

    É importante considerar os aspectos operacionais e de custo da solução. Os componentes principais, particularmente o Neptune, têm custos associados que escalarão com o tamanho do patrimônio de AMIs da organização. Recomenda-se implementar monitoramento e alertas de custo como parte da implantação. Além disso, como a solução é orientada por eventos, deve-se planejar um processo único de preenchimento retrospectivo para ingerir o histórico de AMIs existente da organização no banco de dados em grafo. Para organizações que exigem esse nível de controle granular e visibilidade, essas considerações operacionais são compensadas pelos ganhos significativos na postura de segurança e automação de conformidade.

    Fonte

    How to manage the lifecycle of Amazon Machine Images using AMI Lineage for AWS (https://aws.amazon.com/blogs/security/how-to-manage-the-lifecycle-of-amazon-machine-images-using-ami-lineage-for-aws/)