Author: Make.com Service User

  • Pedidos omnichannel com Amazon Bedrock AgentCore e Amazon Nova 2 Sonic

    O desafio de construir sistemas de pedidos com voz em múltiplos canais

    Criar um sistema de pedidos ativado por voz que funcione ao mesmo tempo em aplicativos móveis, sites e interfaces de voz — o que chamamos de abordagem omnichannel — envolve desafios técnicos reais. É preciso processar fluxos de áudio bidirecionais, manter o contexto da conversa ao longo de múltiplos turnos, integrar serviços de backend sem acoplamento rígido e escalar para suportar picos de tráfego.

    A AWS publicou um guia técnico detalhado mostrando como construir um sistema completo de pedidos omnichannel usando o Amazon Bedrock AgentCore — uma plataforma agêntica para construir, implantar e operar agentes de IA de forma segura e escalável — combinado com o Amazon Nova 2 Sonic, modelo de voz em tempo real disponível no Amazon Bedrock.

    Visão geral da solução

    A arquitetura proposta separa o frontend, o agente de IA e os serviços de backend em componentes distintos, permitindo que cada camada seja desenvolvida e escalada de forma independente. A comunicação entre o agente e os serviços de negócio é feita via Protocolo de Contexto de Modelo (MCP), um padrão aberto para conectar aplicações de IA a fontes de dados externas, ferramentas e fluxos de trabalho.

    Os principais serviços utilizados na solução são:

    • Amazon Cognito — gerencia autenticação de usuários e fornece credenciais temporárias da AWS para acesso seguro à API, compatível com qualquer provedor de identidade OAuth 2.0.
    • Amazon Bedrock AgentCore Runtime — hospeda o agente de IA com isolamento em microVM. Cada sessão de usuário roda em uma máquina virtual isolada, garantindo segurança e desempenho mesmo sob alta carga.
    • Amazon Bedrock AgentCore Gateway — oferece uma forma segura de construir, implantar, descobrir e conectar ferramentas em escala, permitindo comunicação padronizada entre o agente e a lógica de negócio sem acoplamento rígido.
    • Amazon API Gateway — expõe os serviços de backend via endpoints de Transferência de Estado Representacional (REST) com autorização baseada em Gerenciamento de Identidade e Acesso da AWS (IAM).
    • AWS Lambda — executa a lógica de negócio para recuperação de cardápio, processamento de pedidos e serviços de localização.
    • Amazon DynamoDB — armazena perfis de clientes, pedidos, itens do cardápio e carrinhos de compras com latência de milissegundos de um dígito.
    • AWS Location Services — fornece funcionalidades baseadas em localização para recomendações de retirada de pedidos.
    • AWS Amplify — hospeda a aplicação frontend.

    Diagrama de arquitetura

    A solução é organizada em quatro seções principais. A Seção A cobre a infraestrutura de backend, que provisiona armazenamento de dados para clientes, pedidos, cardápios, carrinhos e localizações, além de funções Lambda, uma camada de API e serviços de autenticação. A Seção B implanta o AgentCore Gateway com as permissões de serviço necessárias e configura a integração de API para expor os endpoints de backend como ferramentas acessíveis pelo agente. A Seção C configura o ambiente de execução do AgentCore Runtime com suporte a protocolo WebSocket, usando Amazon ECR para armazenamento de containers e AWS CodeBuild para automação de build. A Seção D implanta a aplicação frontend via AWS Amplify.

    Imagem original — fonte: Aws

    Fluxo de requisição do usuário

    O fluxo de uma requisição funciona da seguinte forma: o usuário acessa a aplicação web hospedada no AWS Amplify pelo navegador ou dispositivo móvel e se autentica no Amazon Cognito com usuário e senha, recebendo tokens JWT (Token de Acesso e Token de ID). O frontend troca o Token de ID pelo Identity Pool do Cognito para obter credenciais temporárias da AWS. Com essas credenciais, o frontend abre uma conexão WebSocket assinada com SigV4 para o AgentCore Runtime e envia o Token de Acesso como primeira mensagem para verificação de identidade. O agente valida o token chamando a API GetUser do Cognito, extrai o nome, e-mail e ID do cliente verificados, e inicializa o modelo Nova 2 Sonic com um prompt de sistema personalizado. A partir daí, o usuário fala seu pedido, o agente processa a entrada de voz, invoca ferramentas de forma assíncrona via MCP pelo AgentCore Gateway, e o Nova 2 Sonic gera uma resposta de voz contextual que é transmitida de volta ao usuário pela conexão WebSocket.

    Gerenciamento de dados serverless e serviços de localização

    O backend utiliza cinco tabelas no DynamoDB que suportam o fluxo completo de pedidos:

    • Tabela de Clientes — armazena perfis com nome, e-mail, telefone, nível de fidelidade e pontos para recomendações personalizadas.
    • Tabela de Pedidos — armazena o histórico de pedidos com dados de localização e usa um Índice Secundário Global para consultas por localização.
    • Tabela de Cardápio — armazena itens específicos por localização com preços e disponibilidade variável por restaurante.
    • Tabela de Carrinhos — armazena carrinhos de compras temporários com TTL de 24 horas para limpeza automática.
    • Tabela de Localizações — armazena dados de restaurantes como coordenadas, horários e taxas para cálculos de pedidos e recomendações.

    O AWS Location Services oferece três recursos implantados na solução: um Índice de Lugares (Esri) para geocodificação e busca de endereços, um Calculador de Rotas (Esri) para calcular rotas e tempos de desvio, e um Mapa (estilo VectorEsriNavigation) para visualização interativa. As funções Lambda fornecem três capacidades: busca do local mais próximo por GPS usando a fórmula haversine, busca baseada em rota identificando restaurantes dentro de um tempo de desvio especificado (padrão de 10 minutos), e geocodificação de endereços quando o GPS não está disponível. Isso permite recomendações contextuais como “encontrei um local a 2 minutos da sua rota”.

    Processamento de voz com Amazon Bedrock AgentCore

    O agente de IA processa interações de voz por meio do Amazon Bedrock AgentCore. Cada sessão de usuário roda em uma microVM isolada, mantendo as sessões seguras e com bom desempenho mesmo sob alta carga. O AgentCore oferece escalabilidade automática, monitoramento integrado e suporte a WebSocket para voz em tempo real. O agente usa o framework Strands para definir prompts de sistema, ferramentas e o fluxo da conversa.

    O Amazon Nova 2 Sonic oferece as seguintes capacidades:

    • Reconhecimento de fala em diferentes sotaques com tolerância a ruído de fundo
    • Adaptação da resposta de voz ao tom e sentimento do usuário
    • Streaming bidirecional com baixa latência
    • Chamada assíncrona de ferramentas que busca dados em paralelo sem bloquear a conversa
    • Tratamento de interrupções para turnos naturais de conversa
    • Consciência de contexto ao longo de múltiplos turnos

    O fluxo de processamento de voz funciona assim: o áudio é enviado pelo frontend (PCM a 16 kHz) via WebSocket para o AgentCore Runtime. O Nova 2 Sonic transcreve a fala, o agente determina a intenção e seleciona as ferramentas, invoca-as de forma assíncrona via MCP, e o AgentCore Gateway traduz as chamadas MCP em chamadas REST para a API Gateway. As funções Lambda executam a lógica de negócio e retornam os resultados, que o agente incorpora na resposta. O Nova 2 Sonic gera a saída de voz e a transmite de volta ao frontend.

    Autenticação e fluxo de conexão WebSocket

    A solução usa pools de usuários e pools de identidade do Amazon Cognito para controle de acesso seguro baseado em funções. Os usuários fazem login com usuário e senha no Pool de Usuários do Cognito, recebendo tokens JSON Web Token (JWT) — Token de Acesso e Token de ID. O frontend troca o Token de ID pelo Identity Pool do Cognito para obter credenciais temporárias da AWS (Chave de Acesso, Chave Secreta, Token de Sessão). Essas credenciais assinam a conexão WebSocket com o AgentCore Runtime e as requisições ao API Gateway usando Signature Version 4 (SigV4).

    Imagem original — fonte: Aws

    Com as credenciais temporárias, o frontend abre uma conexão WebSocket assinada com SigV4 diretamente para o AgentCore Runtime e envia o Token de Acesso para verificação de identidade. O navegador então transmite áudio PCM a 16 kHz e recebe respostas de voz, transcrições e notificações de invocação de ferramentas pela mesma conexão — sem necessidade de um proxy do lado do servidor.

    Interação por voz e pedidos dinâmicos

    O diagrama a seguir ilustra como uma consulta de pedido de um cliente é processada por chamada assíncrona de ferramentas. Quando o cliente diz “quero fazer um pedido”, o agente invoca múltiplas ferramentas em paralelo (GetCustomerProfile, GetPreviousOrders, GetMenu) pelo AgentCore Gateway, que as traduz em chamadas REST para o API Gateway. As funções Lambda consultam o DynamoDB e retornam os resultados de volta pelo gateway. O Nova 2 Sonic então gera uma resposta contextual incorporando todos os resultados das ferramentas, criando uma experiência personalizada ao longo da conversa.

    Imagem original — fonte: Aws

    Pré-requisitos e implantação

    Antes de começar, é necessário ter em mãos:

    • Uma conta AWS
    • Acesso ao Modelo de Fundação (FM) Amazon Nova 2 Sonic no Amazon Bedrock na mesma região onde a solução será implantada
    • Node.js 20.x ou superior (necessário para implantação com AWS CDK)
    • Python 3.13 ou superior (necessário para o runtime do agente e scripts de implantação)
    • Interface de Linha de Comando da AWS (AWS CLI) 2.x configurada com credenciais
    • AWS CDK CLI 2.x: npm install -g aws-cdk
    • CDK inicializado na conta/região de destino: npx cdk bootstrap
    • Boto3 1.38.0 ou superior. Instale com: python3 -m pip install --upgrade boto3 botocore --break-system-packages
    • Pacotes Python adicionais: python3 -m pip install email-validator pyyaml --break-system-packages
    • O código do repositório aws-samples no GitHub

    Passos de implantação

    Clone o repositório GitHub e navegue até o diretório do projeto:

    git clone https://github.com/aws-samples/sample-omnichannel-ordering-with-amazon-bedrock-agentcore-and-nova-sonic
    cd sample-omnichannel-ordering-with-amazon-bedrock-agentcore-and-nova-sonic

    Em seguida, execute o script de implantação. Ambos os parâmetros são obrigatórios — o endereço de e-mail receberá uma senha temporária para o usuário de teste inicial no Cognito:

    ./deploy-all.sh --user-email <seu-email> --user-name "<Seu Nome>"

    O script executa verificações antes da implantação para validar Node.js, Python, AWS CLI, CDK, credenciais, bootstrap do CDK e acesso ao modelo Nova 2 Sonic no Bedrock. Se alguma verificação falhar, o script reporta o que está faltando e oferece instalar automaticamente o que for possível.

    Após as verificações, o script executa cinco etapas. As etapas 1 a 3 são totalmente automatizadas. A etapa 4 (Dados Sintéticos) solicita uma localização como cidade, CEP ou endereço para usar como ponto central na busca de restaurantes próximos, um tipo de comida para buscar (ex: pizza, hambúrguer, café, sanduíche, tacos), se deseja reutilizar o mesmo endereço como residência do cliente, e uma confirmação antes de gravar os dados gerados no DynamoDB. A etapa 5 (Configuração de Senha) oferece a opção de alterar a senha temporária do Cognito enviada por e-mail.

    Ao final, o script exibe a URL do frontend (ex: https://main.<app-id>.amplifyapp.com) para acessar a aplicação.

    Experiência de pedido por voz

    Ao abrir a URL do frontend no navegador e fazer login, o usuário aciona o botão de microfone para iniciar uma conversa por voz com o agente de pedidos. O agente cumprimenta o usuário pelo nome, obtém a localização pelo navegador e carrega os pedidos anteriores em segundo plano. É possível falar naturalmente: repetir um pedido anterior, navegar pelo cardápio, encontrar locais de retirada próximos à rota ou montar um pedido novo do zero. O agente responde por voz em tempo real, trata perguntas sobre o cardápio, adiciona itens ao carrinho e confirma o pedido com total e tempo estimado de retirada. Toda a conversa acontece sem usar as mãos, por uma única conexão WebSocket, e o agente chama as ferramentas de backend de forma assíncrona — sem pausas enquanto os dados são buscados.

    Limpeza dos recursos

    Para remover a solução e seus recursos associados, basta executar:

    ./cleanup-all.sh

    Conclusão

    A solução apresentada pela AWS demonstra como construir um sistema de pedidos omnichannel combinando Amazon Cognito para autenticação, Amazon Bedrock AgentCore para hospedagem do agente, API Gateway para comunicação de dados, DynamoDB para armazenamento e Location Services para otimização de rotas. A arquitetura em três camadas separa frontend, agente e backend para desenvolvimento e escalabilidade independentes.

    O Amazon Nova 2 Sonic oferece interações de voz com baixa latência, chamada assíncrona de ferramentas e tratamento de interrupções. A chamada paralela de ferramentas reduz os tempos de espera, o reconhecimento de voz funciona em diferentes sotaques, as recomendações personalizadas usam o histórico de pedidos e os locais de retirada otimizados por rota ajudam os clientes a encontrar pontos convenientes. O modelo de precificação por uso e a escalabilidade automatizada controlam os custos conforme o uso cresce. Com a integração via MCP, é possível adaptar a solução adicionando novas funções Lambda sem modificar o código do agente.

    O código está disponível no repositório no GitHub.

    Recursos adicionais

    Fonte

    Omnichannel ordering with Amazon Bedrock AgentCore and Amazon Nova 2 Sonic (https://aws.amazon.com/blogs/machine-learning/omnichannel-ordering-with-amazon-bedrock-agentcore-and-amazon-nova-2-sonic/)

  • Acelere Inferência de IA Generativa no Amazon SageMaker AI com Instâncias G7e

    Novas instâncias G7e chegam ao Amazon SageMaker AI

    A AWS anunciou a disponibilidade das instâncias G7e no Amazon SageMaker AI, alimentadas pelas GPUs NVIDIA RTX PRO 6000 Blackwell Server Edition. Essa novidade representa um salto relevante para quem precisa executar inferência de Modelos de Fundação (FMs) de grande porte com eficiência de custo.

    As instâncias G7e estão disponíveis nas configurações de 1, 2, 4 e 8 GPUs, com cada GPU oferecendo 96 GB de memória GDDR7. O destaque prático é a possibilidade de hospedar modelos de linguagem de grande porte (LLMs) poderosos — como GPT-OSS-120B, Nemotron-3-Super-120B-A12B (variante NVFP4) e Qwen3.5-35B-A3B — em uma única instância de nó, o ml.g7e.2xlarge, sem necessidade de configurações multi-GPU.

    O que muda em relação às gerações anteriores

    Para entender o salto que as G7e representam, vale comparar as três gerações da família G da AWS na configuração de 8 GPUs:

    • G5 (g5.48xlarge): 8x NVIDIA A10G, 24 GB GDDR6 por GPU, 192 GB de memória total, 600 GB/s de largura de banda por GPU, rede de 100 Gbps e 7,6 TB de armazenamento NVMe local.
    • G6e (g6e.48xlarge): 8x NVIDIA L40S, 48 GB GDDR6 por GPU, 384 GB de memória total, 864 GB/s de largura de banda por GPU, rede de 400 Gbps e 7,6 TB de armazenamento NVMe local.
    • G7e (g7e.48xlarge): 8x NVIDIA RTX PRO 6000 Blackwell, 96 GB GDDR7 por GPU, 768 GB de memória total, 1.597 GB/s de largura de banda por GPU, rede de 1.600 Gbps com EFA e 15,2 TB de armazenamento NVMe local.

    Os principais destaques das G7e em relação à geração anterior incluem:

    • O dobro de memória GPU em comparação com as G6e, permitindo o deployment de LLMs em FP16 com até 35 bilhões de parâmetros em um único nó GPU (g7e.2xlarge), 150 bilhões de parâmetros em 4 GPUs (g7e.24xlarge) e 300 bilhões de parâmetros em 8 GPUs (g7e.48xlarge).
    • Até 1.600 Gbps de throughput de rede com Elastic Fabric Adapter (EFA) — um aumento de 4x sobre a G6e e 16x sobre a G5.
    • Até 768 GB de memória GPU agregada na g7e.48xlarge.
    • Desempenho de inferência até 2,3x superior em relação à G6e.

    Com 768 GB de memória GPU agregada em uma única instância, a G7e consegue hospedar modelos que antes exigiam configurações multi-nó nas G5 ou G6e, reduzindo a complexidade operacional e a latência entre nós. Somado ao suporte à precisão FP4 com Tensor Cores de quinta geração e ao NVIDIA GPUDirect RDMA sobre EFAv4, as instâncias G7e se posicionam como a escolha principal para deployment de LLMs, IA multimodal e cargas de trabalho de inferência agêntica na AWS.

    Casos de uso ideais para as instâncias G7e

    A combinação de densidade de memória, largura de banda e capacidade de rede das G7e as torna adequadas para uma ampla gama de cargas de trabalho de IA generativa:

    • Chatbots e IA conversacional: baixo Tempo para Primeiro Token (TTFT) e alto throughput mantêm experiências interativas responsivas mesmo sob carga concorrente elevada.
    • Fluxos de trabalho agênticos e com chamada de ferramentas: a melhoria de 4x na largura de banda CPU-GPU torna a G7e especialmente eficaz para pipelines de Geração Aumentada por Recuperação (RAG) e fluxos agênticos, onde a injeção rápida de contexto a partir de repositórios de recuperação é crítica.
    • Geração de texto, sumarização e inferência de contexto longo: os 96 GB de memória por GPU acomodam caches KV grandes para contextos de documentos extensos, reduzindo truncamentos e permitindo raciocínio mais rico sobre entradas longas.
    • Geração de imagens e modelos de visão: onde instâncias anteriores encontravam erros de falta de memória em modelos multimodais maiores, a memória dobrada da G7e resolve essas limitações.
    • IA física e computação científica: a computação da geração Blackwell, o suporte a FP4 e as capacidades de computação espacial (DLSS 4.0, RT cores de 4ª geração) estendem a aplicabilidade da G7e para gêmeos digitais, simulação 3D e inferência de modelos de IA física.

    Como realizar o deployment

    Pré-requisitos

    Para experimentar a solução usando o SageMaker AI, são necessários os seguintes itens:

    Deployment

    É possível clonar o repositório e utilizar o notebook de exemplo disponível neste repositório no GitHub.

    Benchmarks de desempenho

    Para quantificar a melhoria geracional, a AWS realizou benchmarks do modelo Qwen3-32B (BF16) nas instâncias G6e e G7e com a mesma carga de trabalho: aproximadamente 1.000 tokens de entrada e 560 tokens de saída por requisição — representativo de tarefas de sumarização ou correção de documentos. Ambas as configurações utilizam o contêiner nativo vLLM com cache de prefixo habilitado.

    Linha de base G6e: ml.g6e.12xlarge (4x L40S, US$ 13,12/hora)

    Com 4 GPUs L40S e grau de paralelismo tensorial 4, a G6e entrega throughput sólido por requisição: 37,1 tok/s em concorrência simples e 21,5 tok/s em C=32. O custo por milhão de tokens de saída nessa configuração vai de US$ 38,09 (C=1) a US$ 2,06 (C=32).

    G7e: ml.g7e.2xlarge (1x RTX PRO 6000 Blackwell, US$ 4,20/hora)

    A G7e executa o mesmo modelo de 32 bilhões de parâmetros em uma única GPU com grau de paralelismo tensorial 1. Embora o tok/s por requisição seja menor do que a configuração de 4 GPUs da G6e, a história de custo é dramaticamente diferente: o custo por milhão de tokens de saída vai de US$ 21,32 (C=1) a US$ 0,79 (C=32).

    Em produção com concorrência C=32, a G7e alcança US$ 0,79 por milhão de tokens de saída, uma redução de custo de 2,6x em relação aos US$ 2,06 da G6e. Isso é impulsionado por dois fatores: a taxa horária significativamente menor da G7e (US$ 4,20 vs. US$ 13,12) e sua capacidade de manter throughput consistente sob carga.

    A arquitetura de GPU única da G7e também escala de forma mais previsível. A latência aumenta 22% de C=1 a C=32 (de 27,2s para 33,2s), em comparação com 62% na G6e (de 16,1s para 26,0s). Com grau de paralelismo tensorial 1, não há overhead de sincronização entre GPUs, operações all-reduce a cada camada transformer, fragmentação de cache KV entre GPUs ou gargalos de comunicação NVLink. Para cargas de trabalho sensíveis à latência em baixa concorrência, o paralelismo de 4 GPUs da G6e ainda entrega respostas individuais mais rápidas. Para deployments em produção otimizando custo por token em escala, a G7e é a escolha clara.

    Benchmarks combinados: G7e + decodificação especulativa EAGLE

    As melhorias de hardware das G7e são significativas por si só, mas combiná-las com a decodificação especulativa EAGLE (Algoritmo de Extrapolação para Maior Eficiência de Modelos de Linguagem) produz ganhos compostos. O EAGLE acelera a decodificação de LLMs prevendo múltiplos tokens futuros a partir das próprias representações ocultas do modelo e, em seguida, verificando-os em um único passo forward. Isso produz qualidade de saída idêntica enquanto gera múltiplos tokens por etapa. Para um guia detalhado do EAGLE no SageMaker AI, consulte o post Amazon SageMaker AI apresenta decodificação especulativa adaptativa baseada em EAGLE para acelerar a inferência de IA generativa.

    Os benchmarks foram realizados com Qwen3-32B em BF16, com o EAGLE3 habilitado usando um especulador treinado pela comunidade (~1,56 GB) com num_speculative_tokens=4.

    G7e + EAGLE3 entrega uma melhoria de throughput de 2,4x e redução de custo de 75% sobre a linha de base da geração anterior. Com US$ 0,41 por milhão de tokens de saída, é também 4x mais barato que G6e + EAGLE3 (US$ 1,72), apesar de oferecer throughput superior.

    Imagem original — fonte: Aws

    O gráfico acima mostra como a G7e com GPU única (TP=1) mantém ganhos de speedup do EAGLE3 mais consistentes sob carga crescente em comparação com a G6e com 4 GPUs (TP=4). Enquanto a G6e cai de 2,3x para 1,2x de speedup entre C=1 e C=32, a G7e mantém de 2,6x para 1,9x no mesmo intervalo.

    Para deployments em produção com modelos ajustados (fine-tuned), o toolkit de otimização EAGLE do SageMaker AI pode treinar cabeças EAGLE personalizadas com dados próprios, melhorando ainda mais a taxa de aceitação especulativa e o throughput além do que especuladores da comunidade proporcionam.

    Preços

    As instâncias G7e no Amazon SageMaker AI são cobradas com os preços padrão de inferência do SageMaker AI para o tipo de instância e duração de uso selecionados. Não há taxa adicional por token ou por requisição para servir na G7e.

    Os jobs de otimização EAGLE são executados em instâncias de treinamento do SageMaker AI e cobrados pela taxa padrão de instância de treinamento pelo tempo de duração do job. Os artefatos do modelo otimizado resultante são armazenados no Amazon Simple Storage Service (Amazon S3) com as taxas de armazenamento padrão. Não há cobrança adicional pela inferência acelerada pelo EAGLE após o deployment do modelo otimizado — paga-se apenas o custo padrão da instância de endpoint.

    A tabela a seguir apresenta os preços sob demanda para os principais tamanhos de instâncias G7e, G6e e G5 no Leste dos EUA (Norte da Virgínia) para referência:

    • ml.g5.2xlarge: 1 GPU, 24 GB — LLMs pequenos (≤7B FP16); desenvolvimento e testes.
    • ml.g5.48xlarge: 8 GPUs, 192 GB — Serving de LLMs grandes multi-GPU na G5.
    • ml.g6e.2xlarge: 1 GPU, 48 GB — LLMs de médio porte (≤14B FP16).
    • ml.g6e.12xlarge: 2 GPUs, 96 GB — LLMs grandes (≤36B FP16); linha de base da geração anterior.
    • ml.g6e.48xlarge: 8 GPUs, 384 GB — LLMs muito grandes (≤90B FP16).
    • ml.g7e.2xlarge: 1 GPU, 96 GB — LLMs grandes (≤70B FP8) em uma única GPU.
    • ml.g7e.24xlarge: 4 GPUs, 384 GB — LLMs muito grandes; serving de alto throughput.
    • ml.g7e.48xlarge: 8 GPUs, 768 GB — Throughput máximo; modelos de maior porte.

    Também é possível reduzir os custos de inferência com os Amazon SageMaker Savings Plans, que oferecem descontos de até 64% em troca de um compromisso com um volume de uso consistente. Esses planos são adequados para endpoints de inferência em produção com tráfego previsível.

    Limpeza de recursos

    Para evitar cobranças desnecessárias após concluir os testes, é recomendado excluir os endpoints do SageMaker criados durante o processo. Isso pode ser feito pelo console do SageMaker AI ou com o SDK Python, conforme descrito no Guia do Desenvolvedor do Amazon SageMaker AI. Se um job de otimização EAGLE foi executado, também é recomendado excluir os artefatos de saída do Amazon S3 para evitar cobranças de armazenamento contínuas.

    Conclusão

    As instâncias G7e no Amazon SageMaker AI representam o próximo salto significativo em inferência de IA generativa com eficiência de custo. A arquitetura de GPU Blackwell entrega 2x de memória por GPU, 1,85x de largura de banda de memória e até 2,3x de desempenho de inferência sobre a G6e. Isso permite que cargas de trabalho que antes exigiam múltiplas GPUs sejam executadas eficientemente em uma única GPU, elevando o teto de throughput para cada configuração.

    Combinados com a decodificação especulativa EAGLE do SageMaker AI, os ganhos se compõem ainda mais. A aceleração do EAGLE, limitada pela largura de banda de memória, se beneficia diretamente da maior largura de banda da G7e, enquanto a maior capacidade de memória da G7e permite que as cabeças de rascunho do EAGLE coexistam com modelos maiores sem pressão de memória. Juntas, as melhorias de hardware e software entregam ganhos de throughput que se traduzem diretamente em menor custo por token de saída em escala.

    Fonte

    Accelerate Generative AI Inference on Amazon SageMaker AI with G7e Instances (https://aws.amazon.com/blogs/machine-learning/accelerate-generative-ai-inference-on-amazon-sagemaker-ai-with-g7e-instances/)

  • Como clonar um cluster AWS CloudHSM entre Regiões

    Por que clonar um cluster CloudHSM entre Regiões?

    O AWS CloudHSM é o serviço da AWS para geração, armazenamento, importação, exportação e gerenciamento de chaves criptográficas em hardware dedicado. Ele também suporta funções de hash para cálculo de resumos de mensagens e Códigos de Autenticação de Mensagens Baseados em Hash (HMACs), além de assinatura e verificação de dados.

    Para garantir redundância e simplificar a recuperação de desastres, a AWS recomenda clonar o cluster CloudHSM para uma Região diferente. Esse processo permite sincronizar chaves entre Regiões — incluindo as chamadas chaves não exportáveis, que nunca saem do dispositivo HSM em texto simples e só podem ser sincronizadas para clusters clonados.

    Neste guia, a AWS descreve como usar o recurso CopyBackupToRegion para clonar um cluster da Região 1 para uma Nuvem Privada Virtual (VPC) na Região 2. O processo é feito em dois passos: copiar um backup para a Região de destino e criar um novo cluster a partir desse backup.

    Atenção: A partir de 1º de janeiro de 2025, as ferramentas do Client SDK 3 (CMU e KMU) não têm mais suporte. Todo este guia usa exclusivamente comandos do Client SDK 5 (versão 5.17 ou superior).

    Como funciona o processo

    O CloudHSM cria um backup do cluster e o armazena em um bucket do Amazon Simple Storage Service (Amazon S3) pertencente ao próprio serviço. Em seguida, você usa a Interface de Linha de Comando da AWS (AWS CLI) para copiar esse backup para outra Região. Com o backup disponível na Região de destino, você cria um novo cluster e os módulos de segurança de hardware (HSMs) a partir dele.

    Imagem original — fonte: Aws

    Vale destacar alguns pontos importantes sobre os backups:

    • Backups não podem ser copiados entre partições distintas, como as Regiões AWS GovCloud, Região da China e AWS European Sovereign Cloud.
    • O backup em ambas as Regiões fica armazenado em um bucket S3 gerenciado pelo CloudHSM, com durabilidade de 99,999999999%.
    • A criptografia e a segurança do backup na Região 2 são idênticas às da Região 1. Mais detalhes em AWS CloudHSM cluster backups.
    • Qualquer HSM criado no cluster clonado terá os mesmos usuários e chaves do cluster original no momento do backup.
    • A partir do momento da clonagem, a sincronização precisa ser feita manualmente.

    Pré-requisitos

    Antes de começar, certifique-se de ter em mãos:

    • VPC na Região 1 com pelo menos 1 sub-rede pública e 1 privada
    • VPC na Região 2 com pelo menos 1 sub-rede pública e 1 privada
    • Cross-Region VPC habilitada entre as duas Regiões
    • AWS CLI instalada
    • Permissões de Gerenciamento de Identidade e Acesso da AWS (IAM) para as APIs do CloudHSM em ambas as Regiões
    • Client SDK 5 instalado na instância de gerenciamento (versão 5.17 ou superior recomendada)

    Observação importante: A sincronização de chaves entre clusters em mais de uma Região só funciona se todos os clusters forem criados a partir do mesmo backup. Isso ocorre porque a sincronização exige a presença da mesma chave secreta — chamada de masking key — no HSM de origem e no de destino. Essa chave é específica de cada cluster, não pode ser exportada e serve exclusivamente para sincronizar chaves entre HSMs de um mesmo cluster.

    Passo 1: Criar o primeiro cluster na Região 1

    Criar o cluster

    Substitua <SUBNET_ID_1> por uma das suas sub-redes privadas e anote o ID do cluster retornado:

    aws cloudhsmv2 create-cluster --hsm-type hsm2m.medium --subnet-ids <SUBNET_ID_1>

    Lançar a instância EC2 cliente

    Lance uma instância do Amazon Elastic Compute Cloud (Amazon EC2) na sub-rede pública. Consulte o Passo 1 do guia de início do Amazon EC2 para instruções detalhadas.

    Criar o primeiro HSM

    Substitua <CLUSTER_ID> pelo ID anotado anteriormente e <AVAILABILITY_ZONE> pela Zona de Disponibilidade correspondente à sua sub-rede privada (por exemplo, us-east-1a):

    aws cloudhsmv2 create-hsm --cluster-id <CLUSTER_ID> --availability-zone <AVAILABILITY_ZONE>

    Inicializar o cluster

    Antes de inicializar o cluster, crie um certificado autoassinado e use-o para assinar a Requisição de Assinatura de Certificado (CSR) do cluster. Com o certificado assinado em mãos, inicialize o cluster:

    aws cloudhsmv2 initialize-cluster \
      --cluster-id <CLUSTER_ID> \
      --signed-cert file://<CLUSTER_ID>_CustomerHsmCertificate.crt \
      --trust-anchor file://customerCA.crt

    Após o comando, o cluster entra no estado Initialized. Copie os certificados para que o cliente CloudHSM possa verificar a identidade do cluster:

    sudo cp _CustomerHsmCertificate.crt /opt/cloudhsm/etc/
    sudo cp customerCA.crt /opt/cloudhsm/etc/

    Instalar e configurar o Client SDK 5

    Baixe e instale o CloudHSM Client SDK 5 mais recente (versão 5.17 ou superior). Exemplo para Amazon Linux 2023:

    wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Amzn2023/cloudhsm-cli-latest.amzn2023.x86_64.rpm
    sudo yum install -y ./cloudhsm-cli-latest.amzn2023.x86_64.rpm

    Configure o cliente com o endereço IP da Interface de Rede Elástica (ENI) do seu HSM:

    configure-cli -a <HSM_IP>

    Ativar o cluster

    Para ativar o cluster, execute o CloudHSM CLI em modo interativo:

    cloudhsm-cli interactive

    Execute user list para ver o usuário admin ainda não ativado. Em seguida, use cluster activate para definir a senha inicial:

    aws-cloudhsm > cluster activate
    Enter password:<NewPassword>
    Confirm password:<NewPassword>
    {
      "error_code": 0,
      "data": "Cluster activation successful"
    }

    Após ativar, saia com quit e faça login novamente com a nova senha usando login --username admin --role admin. Em seguida, crie o primeiro usuário criptográfico (CU) com o comando abaixo. Para mais informações sobre tipos de usuário, consulte os tipos de usuário HSM para o CloudHSM CLI.

    user create --username <USERNAME> --role crypto-user

    Passo 2: Criar chaves na Região 1

    Crie uma chave AES-256 não exportável:

    aws-cloudhsm > key generate-symmetric aes \
      --label aes-example \
      --key-length-bytes 32 \
      --attributes extractable=false

    Anote a referência da chave retornada no output — você precisará dela para a sincronização mais adiante.

    Passo 3: Acionar o backup do cluster

    Para gerar um backup destinado à Região 2, adicione um segundo HSM ao cluster na Região 1 (via Console AWS ou AWS CLI). O backup gerado conterá:

    • Todos os usuários (Oficiais de Criptografia (COs), Usuários de Criptografia (CUs) e Usuários de Dispositivo)
    • Todo o material de chaves dos HSMs
    • Todas as configurações e políticas

    Anote o ID do backup. Você pode encontrá-lo no console do CloudHSM em Backups ou usando o comando:

    aws cloudhsmv2 describe-backups --cluster-id <CLUSTER_ID>

    Para evitar cobranças desnecessárias, o HSM adicional pode ser excluído após a criação do backup.

    Passo 4: Copiar o backup entre Regiões

    Permissões IAM necessárias

    Certifique-se de que sua função ou usuário IAM possui os privilégios de administrador do CloudHSM. Veja um exemplo de política de permissões:

    {
      "Version": "2012-10-17",
      "Statement": {
        "Effect": "Allow",
        "Action": [
          "cloudhsm:*",
          "ec2:CreateNetworkInterface",
          "ec2:DescribeNetworkInterfaces",
          "ec2:DescribeNetworkInterfaceAttribute",
          "ec2:DetachNetworkInterface",
          "ec2:DeleteNetworkInterface",
          "ec2:CreateSecurityGroup",
          "ec2:AuthorizeSecurityGroupIngress",
          "ec2:AuthorizeSecurityGroupEgress",
          "ec2:RevokeSecurityGroupEgress",
          "ec2:DescribeSecurityGroups",
          "ec2:DeleteSecurityGroup",
          "ec2:CreateTags",
          "ec2:DescribeVpcs",
          "ec2:DescribeSubnets",
          "iam:CreateServiceLinkedRole"
        ],
        "Resource": "*"
      }
    }

    Executar a cópia do backup

    Para copiar o backup da Região 1 para a Região 2, você precisa da Região de destino e do ID do cluster ou do backup. Se informar apenas o ID do cluster, o backup mais recente será utilizado. Para um backup específico, use o ID do backup:

    aws cloudhsmv2 copy-backup-to-region \
      --destination-region <DESTINATION_REGION> \
      --backup-id <BACKUP_ID>

    Exemplo de resposta:

    {
      "DestinationBackup": {
        "SourceBackup": "backup-4kuraxsqetz",
        "SourceCluster": "cluster-kzlczlspnho",
        "CreateTimestamp": 1531742400,
        "SourceRegion": "us-east-1"
      }
    }

    Com o novo ID de backup disponível na Região 2, crie o cluster clonado:

    aws cloudhsmv2 create-cluster \
      --hsm-type hsm2m.medium \
      --subnet-ids <SUBNET_ID_REGION_2> \
      --source-backup-id <BACKUP_ID_REGION_2>

    Transferência de certificado e configuração do grupo de segurança

    Copie o conteúdo do certificado do cluster original para um novo arquivo no cluster da Região 2. O certificado é necessário para conexões criptografadas entre o cliente e as instâncias HSM.

    Em seguida, adicione o Grupo de Segurança do cluster clonado à sua instância EC2 cliente: selecione o Grupo de Segurança da instância EC2 no console, escolha “Adicionar regras” e adicione uma regra que permita tráfego do ID do Grupo de Segurança do cluster na porta 2225.

    Recupere o endereço IP da ENI do HSM na Região 2 — você precisará dele no próximo passo:

    aws cloudhsmv2 describe-clusters \
      --filters clusterIds=<cluster_ID_region_2> \
      --region <region_2> \
      --query 'Clusters.Hsms.EniIp' \
      --output text

    Passo 5: Configurar a conectividade entre Regiões

    Para que o CloudHSM CLI se comunique simultaneamente com os dois clusters, adicione o cluster da Região 2 à configuração do cliente usando o endereço IP da ENI obtido anteriormente:

    configure-cli add-cluster \
      --cluster-id <cluster_ID_region_2> \
      --endpoint <hsm_eni_ip_region_2> \
      --region <region_2>

    A partir desse ponto, o CloudHSM CLI se comunicará com ambos os clusters simultaneamente, usando os certificados já configurados e a masking key compartilhada entre os clusters clonados.

    Passo 6: Sincronizar chaves entre os clusters

    Listar usuários e chaves

    Antes de replicar, verifique quais usuários e chaves existem:

    # Listar todos os usuários
    cloudhsm-cli user list
    
    # Listar chaves de um usuário específico
    cloudhsm-cli key list --username <username>

    Replicar chaves

    Para replicar uma chave da Região 1 para a Região 2:

    cloudhsm-cli key replicate \
      --filter key-reference=<key_ref> \
      --source-cluster-id <source_cluster_ID> \
      --destination-cluster-id <destination_cluster_ID>

    Verifique a replicação listando as chaves novamente. O output deve mostrar referências de chaves idênticas em ambos os clusters. Repita o processo para cada chave adicional que precisar sincronizar.

    Pontos de atenção após a clonagem

    • Usuários criados após o backup inicial precisam ser criados manualmente nos dois clusters.
    • Alterações de senha em um cluster precisam ser replicadas manualmente para o outro.
    • Chaves criadas após o backup inicial precisam ser sincronizadas com pelo menos um HSM do cluster clonado — depois disso, a sincronização automática do CloudHSM cuida do restante dentro do segundo cluster.
    • Mantenha as ferramentas do Client SDK 5 atualizadas para ter acesso aos recursos mais recentes e melhorias de segurança.
    • O Client SDK 5 oferece suporte à arquitetura ARM64 nas seguintes distribuições Linux: Amazon Linux 2023, Amazon Linux 2, Red Hat Enterprise Linux (RHEL) 8 (8.3+), RHEL 9 (9.2+), RHEL 10 (10.0+), Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, Debian 12 e SUSE Linux Enterprise Server 15.

    Conclusão

    Seguindo esse processo, é possível configurar um ambiente AWS CloudHSM tolerante a falhas, com chaves sincronizadas entre Regiões usando as ferramentas e práticas recomendadas mais recentes. A configuração de clusters entre Regiões traz melhorias na recuperação de desastres, reduz o risco de perda de dados e garante a continuidade das operações criptográficas — assegurando que as chaves críticas permaneçam disponíveis mesmo diante de uma falha regional. Dúvidas ou comentários podem ser enviados ao AWS re:Post.

    Fonte

    How to clone an AWS CloudHSM cluster across Regions (https://aws.amazon.com/blogs/security/how-to-clone-an-aws-cloudhsm-cluster-across-regions-2/)

  • CloudTroop Weekly #008 — 2026-w16





    CloudTroop Weekly #008 — 2026-w16

    19 de abril de 2026

    Resumo da Semana

    A semana foi dominada por IA em produção com foco em três frentes: segurança de agentes, controle de custos e inferência eficiente. O Model Context Protocol trouxe diretrizes concretas para aplicar IAM em sistemas não-determinísticos, enquanto o Bedrock ganhou rastreamento granular de custos por tenant — dois gargalos reais de quem já tem IA rodando. A destilação de modelos com redução de 95% em custos valida uma estratégia que muitos times ainda ignoram. No lado da infraestrutura, Secrets Manager com TLS pós-quântico e Payment Cryptography em São Paulo reforçam que compliance também evoluiu esta semana.

    O que muda na prática

    • Agentes de IA agora têm um padrão de referência para controle de acesso via IAM com MCP — arquiteturas sem isso passam a ser tecnicamente defasadas e auditáveis como risco
    • Rastreamento de custos por usuário, app ou tenant no Bedrock deixa de ser workaround manual e vira recurso nativo — FinOps de IA generativa em produção muda de patamar
    • Secrets Manager com TLS pós-quântico híbrido entra em vigor sem mudança de código — organizações com roadmap de compliance precisam registrar isso como controle implementado

    Ações da semana

    • Revise as permissões IAM dos seus agentes de IA e valide se seguem o princípio de menor privilégio conforme o padrão MCP publicado — comece pelos agentes com acesso a dados sensíveis ou produção
    • Ative o rastreamento de custos por tag no Bedrock para pelo menos um projeto de IA em produção e gere o primeiro relatório de atribuição por aplicação ou time esta semana

    Top 10 da Semana

    1

    Padrões Seguros de Acesso para Agentes de IA via Model Context Protocol

    Com a explosão de agentes de IA acessando recursos AWS, entender como aplicar IAM determinístico a sistemas não-determinísticos é crítico para qualquer arquitetura segura.

    Para quem: Arquitetos de segurança e engenheiros cloud que estão construindo ou revisando sistemas com agentes de IA.

    Segurança IA

    2

    Rastreamento granular de custos de IA no Amazon Bedrock

    A atribuição de custos por usuário, app ou tenant no Bedrock resolve um dos maiores gargalos de governança financeira em projetos de IA generativa em produção.

    Para quem: FinOps, arquitetos de plataforma e líderes técnicos que precisam justificar e controlar gastos com IA.

    FinOps IA

    3

    Secrets Manager agora protege segredos com TLS pós-quântico híbrido

    Proteção automática contra ameaças quânticas sem mudança de código é uma atualização de segurança de alto impacto que toda organização deve registrar em seu roadmap de compliance.

    Para quem: Engenheiros de segurança, times de compliance e qualquer equipe que usa Secrets Manager em produção.

    Segurança Criptografia

    4

    Destilação de modelos no Bedrock reduz custos em 95% em busca de vídeos

    Redução de 95% em custos e 50% em latência com manutenção de precisão é um resultado concreto que valida destilação como estratégia de otimização para sistemas de IA em escala.

    Para quem: Engenheiros de ML e arquitetos que buscam reduzir custos operacionais de inferência sem sacrificar qualidade.

    Otimização IA

    5

    ETL orientado por configuração para normalizar logs no formato OCSF

    Padronizar logs de segurança para OCSF é pré-requisito para integração com Security Lake e análise centralizada de ameaças, e ter um acelerador open source reduz semanas de trabalho.

    Para quem: Times de segurança e operações que precisam integrar fontes de log heterogêneas ao Amazon Security Lake.

    Segurança Logs

    6

    CloudWatch agora aplica regras de telemetria automaticamente entre regiões

    Garantir consistência na coleta de telemetria em múltiplas regiões de forma automática elimina lacunas de observabilidade que frequentemente causam incidentes não detectados.

    Para quem: Engenheiros de plataforma e SREs responsáveis por observabilidade em ambientes multi-região.

    Observabilidade

    7

    ECR Pull Through Cache sincroniza SBOMs e assinaturas automaticamente

    Sincronizar automaticamente assinaturas e SBOMs junto com imagens de container fortalece a cadeia de suprimentos de software sem adicionar processos manuais ao pipeline.

    Para quem: Engenheiros DevSecOps e times de plataforma que gerenciam segurança de imagens de container.

    Segurança Containers

    8

    AWS Payment Cryptography chega à região de São Paulo

    Disponibilidade local elimina dependência cross-region para operações criptográficas de pagamento, reduzindo latência e simplificando compliance com regulações brasileiras.

    Para quem: Arquitetos e engenheiros de fintechs e empresas de pagamento que operam no Brasil.

    Pagamentos Compliance

    9

    AWS Transform integrado ao VS Code e Kiro para modernização de código

    Ter acesso à ferramenta de migração e modernização diretamente no editor reduz a fricção para iniciar transformações de legado, acelerando projetos que costumavam levar anos.

    Para quem: Desenvolvedores e arquitetos responsáveis por modernização de aplicações e redução de débito técnico.

    Modernização Dev

    10

    CloudWatch Pipelines ganha recursos de conformidade e rastreamento de logs

    Preservar dados originais e rastrear transformações em pipelines de log é requisito crescente de auditorias e regulações, e o fato de ser sem custo adicional aumenta a adoção.

    Para quem: Times de compliance, segurança e operações que precisam garantir integridade e rastreabilidade de logs.

    Compliance Observabilidade


  • Amazon ECR Agora Descobre e Sincroniza Referenciadores com o Pull Through Cache

    O que mudou no Amazon ECR

    A AWS anunciou uma expansão importante na funcionalidade do Amazon Elastic Container Registry (Amazon ECR), especificamente no recurso de Pull Through Cache. A partir de agora, o serviço é capaz de descobrir e sincronizar automaticamente referenciadores OCI (Open Container Initiative) a partir de registros anteriores para seus repositórios privados do Amazon ECR.

    Os referenciadores incluem artefatos críticos como assinaturas de imagens, SBOMs (Software Bill of Materials — Lista de Materiais de Software) e atestações. Esses elementos são fundamentais para fluxos de trabalho de segurança, rastreabilidade e conformidade em ambientes cloud nativos.

    O problema que era enfrentado antes

    Anteriormente, quando você tentava listar referenciadores em um repositório que possuía uma regra de Pull Through Cache configurada, o Amazon ECR não retornava nem sincronizava os referenciadores do repositório anterior. Isso significava que era necessário executar processos manuais para localizar e buscar esses artefatos de forma separada, criando uma desconexão no fluxo de trabalho e aumentando a complexidade operacional.

    Essa limitação impedia que workflows inteligentes de verificação de assinatura de imagem, descoberta de SBOM e recuperação de atestações funcionassem sem contornos adicionais no lado do cliente.

    Como o Amazon ECR resolveu isso

    Com esta atualização, o Pull Through Cache do Amazon ECR agora faz o seguinte automaticamente:

    • Alcança o registro anterior durante requisições de API de referenciadores
    • Descobre os referenciadores disponíveis no repositório de origem
    • Sincroniza e cach os artefatos de referenciador relacionados no seu repositório privado do Amazon ECR

    Este comportamento automático elimina a necessidade de intervenção manual e permite que fluxos de trabalho complexos funcionem de forma transparente e integrada.

    Implicações práticas para seu ambiente

    A mudança torna possível que você implemente workflows end-to-end completos sem necessidade de adaptações ou workarounds no código cliente:

    • Verificação de assinatura de imagem: valide a integridade e a autenticidade das imagens de container automaticamente
    • Descoberta de SBOM: acesse listas completas de dependências e componentes das imagens
    • Recuperação de atestação: obtenha evidências de políticas, scans de segurança e outras comprovações associadas às imagens

    Todos esses processos agora funcionam de forma nativa com repositórios que usam Pull Through Cache, sem que você precise implementar soluções alternativas.

    Disponibilidade

    Este recurso está disponível a partir de hoje em todas as regiões AWS onde o Amazon ECR Pull Through Cache é suportado.

    Para compreender melhor como configurar e utilizar este recurso em seu ambiente, consulte a documentação do Amazon ECR.

    Fonte

    Amazon ECR Pull Through Cache Now Supports Referrer Discovery and Sync (https://aws.amazon.com/about-aws/whats-new/2026/04/amazon-ecr-pull-through-cache-referrers/)

  • Transformar logs de segurança para o formato OCSF usando uma solução ETL orientada por configuração

    O desafio da padronização de logs de segurança

    Os logs de segurança são fundamentais para operações de defesa. Eles registram atividades essenciais como autenticações de usuários, acessos a arquivos, tráfego de rede e uso de aplicações. Essas informações permitem detectar e responder a incidentes de segurança.

    Porém, existe um problema crítico: cada sistema gera seus logs em formatos diferentes. Firewalls, sistemas de detecção de intrusão, antivírus e outras ferramentas utilizam suas próprias estruturas de dados. Essa fragmentação dificulta a análise centralizada, compromete a detecção de ameaças e complica a conformidade com regulamentações.

    O OCSF (Esquema Aberto de Cibersegurança) foi desenvolvido como resposta a este desafio. Trata-se de um framework padronizado que oferece um formato consistente para representar eventos de segurança, independentemente da origem dos dados. Sua adoção traz benefícios imediatos: melhora a interoperabilidade entre ferramentas, simplifica a análise de dados, reduz a complexidade da conformidade e diminui o risco de aprisionamento por fornecedor.

    Como o Amazon Security Lake simplifica a centralização

    A AWS anunciou o Amazon Security Lake, um serviço que automatiza a centralização de dados de segurança em formato OCSF. O Security Lake conecta-se nativamente com diversos serviços AWS como CloudTrail (eventos de gerenciamento e dados), Amazon EKS (logs de auditoria), Amazon Route 53 (queries de resolução), AWS Security Hub, Amazon VPC Flow Logs e AWS WAF.

    O serviço também integra logs de provedores SaaS, ambientes locais e outras plataformas em nuvem, consolidando tudo em um data lake proprietário com segurança aprimorada. Todos os dados são automaticamente normalizados para o formato OCSF, garantindo consistência.

    Essa centralização transforma a operação de segurança. Ao integrar com ferramentas analíticas como Amazon Athena e Amazon QuickSight, o Security Lake permite detecção de ameaças mais eficiente, monitoramento contínuo da postura de segurança e relatórios de conformidade simplificados.

    O acelerador de ETL dos Serviços Profissionais da AWS

    Apesar dos benefícios, clientes que desejam usar fontes customizadas de logs no Security Lake enfrentam um desafio: precisam converter seus logs proprietários para o formato OCSF manualmente.

    Para resolver isso, a equipe de Serviços Profissionais (ProServe) da AWS desenvolveu um acelerador de solução ETL (Extração, Transformação e Carregamento) em código aberto. Esta ferramenta automatiza a conversão de logs de segurança customizados para o padrão OCSF 1.1, facilitando a integração com o Security Lake ou outros data lakes de segurança. A solução oferece abordagem orientada por configuração, eliminando a necessidade de modificar código para diferentes tipos de log.

    Pré-requisitos e configuração inicial

    Para implementar a solução, você precisará ter instalado:

    A arquitetura serverless utiliza diversos serviços: Amazon S3, AWS Lambda, Amazon DynamoDB, AWS Step Functions, AWS Glue ou Amazon EMR Serverless para ETL, além de AWS Secrets Manager, Amazon RDS, Amazon CloudWatch, Amazon SNS e Amazon EventBridge.

    Os custos dependem do volume de dados e frequência de processamento. As principais despesas envolvem armazenamento (S3 e DynamoDB), computação (Lambda, Glue e EMR) e orquestração. A arquitetura é otimizada para custo através de componentes serverless com pagamento conforme uso. Use o Calculador de Preços da AWS para estimar custos específicos ao seu volume de logs e necessidades de retenção.

    Arquitetura e fluxo de dados

    A solução funciona com dois arquivos de entrada: um arquivo de mapeamento e um arquivo de configuração. Esses arquivos guiam a transformação de logs de origem para formato OCSF em Parquet, que é então particionado por localização e conta, armazenado em uma localização S3 fornecida pelo Security Lake.

    O fluxo segue estas etapas principais:

    Etapa de pré-processamento

    O usuário prepara dois arquivos CSV. O primeiro contém o mapeamento de campos customizados para classes OCSF. O segundo arquivo contém metadados de configuração que orientam a transformação. Quando esses arquivos são enviados para um bucket S3 de artefatos, uma notificação de evento S3 dispara uma função Lambda que armazena os metadados em tabelas DynamoDB. Funções Lambda adicionais processam os arquivos de configuração e armazenam as informações necessárias nas tabelas de mapeamento e referência.

    Enriquecimento opcional

    A solução pode ler dados de um banco de enriquecimento armazenado em Amazon RDS ou acessível via conexão JDBC a partir do EMR ou Glue. As credenciais são gerenciadas pelo AWS Secrets Manager.

    Processamento de logs de origem

    Os arquivos de log de origem são entregues a um bucket S3 por um processo externo. Uma agenda do EventBridge ou invocação manual inicia o workflow Step Functions, responsável pela conversão dos logs. O workflow Step Functions executa as tarefas de transformação, convertendo os arquivos de log para formato OCSF-Parquet usando bibliotecas Python customizadas. Os dados convertidos são armazenados em um bucket S3 de destino. Se falhas ocorrem durante o processamento, um tópico SNS notifica os usuários.

    Mapeando seus logs para o formato OCSF

    Antes de começar, verifique se já existem mapeamentos disponíveis no repositório GitHub de mapeamentos OCSF. Se não, você precisará criar um.

    O processo envolve várias etapas: primeiro, familiarize-se com o esquema OCSF, que define a estrutura e formato para organizar dados de log em classes de evento e atributos. Cada classe de evento contém um conjunto de atributos projetados para oferecer semântica abrangente do evento.

    Identifique suas fontes de log (firewalls, sistemas de detecção de intrusão, antivírus) e seus formatos nativos (CSV, JSON, etc.). Analise o conteúdo dos logs e localize as categorias e classes OCSF apropriadas. Mapeie cada campo de dados de origem para o campo correspondente no esquema OCSF. Se um campo não possui equivalente em OCSF, considere mapeá-lo para o objeto “unmapped”.

    O enriquecimento de dados adiciona contexto, como padronização de timestamps, conversão de endereços IP para formato comum ou adição de dados complementares para melhor análise. Cada categoria em OCSF possui uma coluna de enriquecimento opcional que fornece mais informações. Por exemplo, a categoria de Autenticação OCSF contém uma coluna que oferece mais detalhes sobre endereços IP.

    Valide os dados mapeados contra o esquema OCSF para garantir conformidade e precisão. Teste o mapeamento com amostras de dados de diferentes fontes. Use o utilitário de código aberto para validar sua saída OCSF 1.1 gerada.

    Finalmente, considere contribuir seu mapeamento para a comunidade OCSF submetendo um pull request ao repositório. A AWS ProServe auxiliou muitos clientes a mapear seus logs de segurança para OCSF. Se precisar orientação para mapear e transformar seus logs, entre em contato com seu executivo de conta.

    Criando e transformando arquivos de mapeamento

    A solução ETL requer um arquivo CSV de mapeamento que associe atributos de log de segurança customizados aos atributos OCSF padronizados. Para instruções detalhadas sobre como gerar este arquivo, consulte o repositório de código.

    Se você está seguindo um exemplo, pode habilitar o log de acesso do servidor S3 para publicar logs de origem no S3. Um exemplo de registro de log de acesso S3 seria processado pelo código Python fornecido, que normaliza os atributos e envolve cada um em aspas adequadamente.

    Após preparar seu arquivo de mapeamento CSV, faça upload dele para a localização de artefatos S3 em s3://secure-datalake-artifacts-<account_number>-<aws_region>/config/mapping/. A função Lambda asl-etl-framework_update-mapping-ddb processa este arquivo e o converte para o formato DynamoDB necessário, armazenando o resultado na tabela de mapeamento de atributos OCSF.

    Configurando metadados para transformação

    Para criar um arquivo de metadados de configuração, prepare um arquivo CSV seguindo as orientações na documentação do repositório. Faça upload do arquivo CSV de mapeamento completo para a localização de artefatos S3 em s3://secure-datalake-artifacts-<account_number>-<aws_region>/config/metadata/.

    Quando o arquivo de metadados é enviado para o S3, dispara automaticamente a função Lambda asl-etl-framework_insert_metadata_ddb, que armazena a configuração na tabela DynamoDB. A função Lambda subsequente asl-etl-framework_update-mapping-ddb lê o arquivo de mapeamento CSV e insere os mapeamentos na tabela de mapeamento de atributos OCSF correspondente.

    Recursos avançados da solução

    Carga histórica

    A solução oferece capacidade de carga histórica que processa logs de intervalos de datas ou anos especificados baseado nas entradas do arquivo de metadados. Após conversão para formato OCSF em Parquet, esses logs podem ser integrados ao Amazon Security Lake ou usados para criar um data lake customizado.

    A solução inclui funcionalidade de checkpoint para lidar com potenciais falhas durante processamento histórico de dados. Este recurso fornece resiliência ao rastrear o progresso de conversão. Se um processo falha durante processamento histórico de múltiplos anos, a solução retoma a partir do ponto de falha, preservando os dados já convertidos com sucesso.

    Enriquecimento de dados

    Empresas frequentemente possuem dados contextuais valiosos que podem enriquecer seus logs de segurança. Ao correlacionar dados existentes com logs de segurança e anexar informações relevantes, você cria conjuntos de dados mais abrangentes para análise avançada e insights de segurança mais profundos.

    Por exemplo, se você deseja obter informações adicionais como geolocalização de cada endereço IP nos logs, pode fornecer informações do banco de dados de origem no arquivo CSV de metadados. A solução conecta ao banco de dados através de conexão JDBC, extrai as informações solicitadas e adiciona as informações extraídas como novas colunas aos logs OCSF convertidos.

    Escolhendo o mecanismo de transformação

    Você pode selecionar seu mecanismo de transformação preferido: AWS Glue ou Amazon EMR Serverless. Forneça o nome do mecanismo durante a implantação. Para cargas históricas grandes, recomenda-se EMR Serverless; AWS Glue é adequado para cargas históricas menores que 100 GB.

    O processo segue estas etapas: o usuário insere as informações de metadados e mapeamento nos arquivos CSV respectivos e faz upload para S3. Uma função Lambda converte os arquivos para esquema DynamoDB. Uma função preprocessadora é invocada, pegando os metadados da tabela DynamoDB e gerando argumentos de entrada para o trabalho de transformação. O trabalho de transformação (Glue ou EMR, conforme sua escolha) lê as tabelas de metadados e mapeamento, convertendo os dados para formato OCSF. Os arquivos de log OCSF convertidos são armazenados em localização S3 especificada em formato Parquet, que pode ser integrada ao Security Lake.

    Orquestração com Step Functions

    A solução é orquestrada usando AWS Step Functions e oferece duas opções de mecanismo de execução: AWS Glue ou EMR Serverless, dependendo dos serviços permitidos em sua empresa.

    Para invocar o workflow Step Functions, especifique o mecanismo de execução como emr-serverless ou glue nos parâmetros de entrada passados via EventBridge.

    Os parâmetros de entrada para o workflow são:

    {
      "source_log_type": "s3-access-log",
      "load_type": "historical",
      "full_load": "false",
      "ddb_lookup_table": "asl-etl-framework-ddb-table-details",
      "ddb_mapping_table": "asl-etl-framework-ocsf-attribute-mapping",
      "ddb_metadata_table": "asl-etl-framework-source-ocsf-metadata",
      "ddb_reference_table": "asl-etl-framework-ocsf-reference",
      "asl_status_table": "asl-etl-framework-run-status",
      "execution_engine": "glue",
      "asl_job_name": "asl-etl-framework-init-ocsf-conversion"
    }

    Validando os dados convertidos

    Uma prática recomendada é garantir que os arquivos Parquet gerados mapeiem corretamente às definições de esquema especificadas dentro do OCSF (Esquema Aberto de Cibersegurança). Validar o mapeamento mantém a integridade de dados e permite que dados de segurança sejam efetivamente analisados por aplicações e ferramentas downstream, como o Security Lake.

    Use o validador de esquema OCSF para fornecer validação complementar. Esta etapa de validação ajuda a detectar desalinhamentos de esquema ou problemas de qualidade de dados cedo no processo, levando a análise de segurança mais confiável.

    Se a validação do esquema OCSF transformado falhar, primeiro valide se seus mapeamentos estão alinhados com a categoria OCSF respectiva. Ajuste seus mapeamentos, execute a solução novamente e valide os logs OCSF transformados usando o validador até obter um esquema OCSF válido.

    Quando descobrir mapeamentos OCSF incorretos ou inconsistências de formato em logs convertidos, comece realizando validação minuciosa contra especificações de esquema OCSF para identificar discrepâncias específicas. Atualize os mapeamentos com mapeamentos de campo corretos, garantindo que conversões de tipo de dados e requisitos de campo obrigatório sejam atendidos. Teste essas correções usando dados de amostra para verificar conformidade OCSF antes de implementar em produção.

    Próximas etapas

    A solução está disponível como um projeto de código aberto, porém envolver a AWS ProServe oferece vantagens significativas, incluindo experiência comprovada de implementação, orientação de melhores práticas e cronogramas de implantação acelerados. A equipe ProServe traz experiência extensiva em padronização de logs de segurança e pode ajudar a customizar a solução para seus requisitos específicos, garantindo integração ideal com o Security Lake.

    Para começar sua jornada rumo a análise de segurança padronizada usando OCSF, entre em contato com sua equipe de conta AWS para discutir como a AWS ProServe pode ajudar a implementar esta solução em seu ambiente.

    Fonte

    Transform security logs into OCSF format using a configuration-driven ETL solution (https://aws.amazon.com/blogs/security/transform-security-logs-into-ocsf-format-using-a-configuration-driven-etl-solution/)

  • Rastreamento granular de custos no Amazon Bedrock: como atribuir gastos com IA

    Por que rastreamento de custos de inferência importa

    À medida que modelos de linguagem grande e ferramentas de IA generativa se tornam parte essencial da infraestrutura corporativa, os gastos com inferência passaram a ocupar uma fatia significativa dos orçamentos de nuvem. Para organizações que desejam implementar modelos de chargeback entre equipes, otimizar despesas ou fazer planejamento financeiro preciso, é fundamental saber quem está usando os modelos de IA e quanto cada usuário, aplicação ou projeto está gastando.

    A AWS respondeu a essa demanda anunciando um recurso de atribuição granular de custos para o Amazon Bedrock. Agora é possível rastrear automaticamente cada chamada de inferência até o principal da IAM que a originou — seja um usuário individual, uma aplicação com função de acesso, ou uma identidade federada de um provedor externo como Okta ou Entra ID.

    Como funciona a atribuição de custos

    O recurso funciona de forma transparente, sem necessidade de gerenciar recursos adicionais ou alterar workflows existentes. Os custos de inferência são automaticamente atribuídos através da integração com o AWS Billing e aparecem no CUR 2.0 (Relatório de Custo e Uso versão 2.0).

    Ao ativar dados de principal IAM na exportação de dados do CUR 2.0, você verá um novo campo line_item_iam_principal contendo a identidade de quem fez cada chamada, além dos campos de tipo de uso (que indicam qual modelo e se foi processamento de tokens de entrada ou saída) e o custo não faturado. Essa combinação permite responder perguntas como:

    • Quanto cada desenvolvedor gastou em tokens de entrada vs. saída?
    • Qual modelo (Claude, Llama, Nova) gerou mais custos?
    • Quanto a equipe de data science gastou no total?
    • Como se distribui o gasto entre diferentes projetos?

    Tags para agregação e análise de custos

    Além da atribuição automática por identidade IAM, você pode usar tags para agregar custos por dimensões personalizadas como equipe, projeto, centro de custo ou tenant. As tags podem ser aplicadas de duas formas:

    • Tags de principal: Anexadas diretamente a usuários ou funções IAM. Uma vez definidas, aplicam-se automaticamente a todas as requisições daquele principal.
    • Tags de sessão: Passadas dinamicamente quando um usuário ou aplicação assume uma função IAM para obter credenciais temporárias, ou incorporadas em asserções de provedores de identidade. Para saber mais, consulte a documentação sobre passagem de tags de sessão no AWS STS.

    Após ativar essas tags como tags de alocação de custos no AWS Billing, elas aparecem no CUR 2.0 com o prefixo iamPrincipal/ e permitem filtrar e agrupar despesas no AWS Cost Explorer e em relatórios personalizados.

    Quatro cenários de implementação

    A forma de configurar o rastreamento depende da arquitetura e dos padrões de acesso da sua organização. A AWS detalha quatro cenários principais:

    Cenário 1: Rastreamento por usuário com credenciais IAM

    Ideal para equipes pequenas, ambientes de desenvolvimento ou prototipagem rápida onde desenvolvedores individuais usam credenciais de usuário IAM ou chaves de API do Amazon Bedrock. Cada membro da equipe tem um usuário IAM dedicado com credenciais de longo prazo. Quando uma chamada ao Amazon Bedrock é feita, a plataforma captura automaticamente a Amazon Resource Name (ARN) do usuário durante a autenticação.

    Para agregar custos por equipe ou centro de custo, você anexa tags aos usuários IAM:

    aws iam tag-user \
      --user-name user-1 \
      --tags Key=team,Value="BedrockDataScience" Key=cost-center,Value="12345"
    
    aws iam tag-user \
      --user-name user-2 \
      --tags Key=team,Value="BedrockDataScience" Key=cost-center,Value="12345"

    No CUR 2.0, você verá a identidade individual do usuário, o modelo utilizado, os tokens processados e as tags associadas. Isso permite filtrar por usuário específico, comparar modelos, agrupar por equipe ou cruzar dimensões para análises como “quanto a equipe de data science gastou em tokens de entrada do Claude Sonnet este mês?”

    Cenário 2: Rastreamento por aplicação com funções IAM

    Adequado para cargas de trabalho em produção onde aplicações (não humanos) chamam o Amazon Bedrock, e você deseja rastrear custos por projeto ou serviço. Duas aplicações backend — um serviço de processamento de documentos e um serviço de chat — rodam em infraestrutura de computação (Amazon EC2, AWS Lambda, Amazon ECS) e cada uma assume uma função IAM dedicada.

    Quando cada aplicação chama o Amazon Bedrock, a ARN da função assumida é capturada automaticamente e flui para o CUR 2.0. Você pode filtrar por função para ver o gasto total por aplicação ou por tipo de uso para comparar modelo utilizado entre serviços. Tags opcionais permitem agregar por projeto, centro de custo ou outra dimensão:

    aws iam tag-role \
      --role-name Role-1 \
      --tags Key=project,Value="DocFlow" Key=cost-center,Value="12345"
    
    aws iam tag-role \
      --role-name Role-2 \
      --tags Key=project,Value="ChatBackend" Key=cost-center,Value="12345"

    Essa abordagem é ideal para arquiteturas de microsserviços onde cada serviço tem sua própria função IAM — uma prática de segurança recomendada que agora também funciona como mecanismo de atribuição de custos.

    Cenário 3: Rastreamento de usuários com autenticação federada

    Aplicável em ambientes corporativos onde usuários autenticam através de um provedor de identidade corporativo (Auth0, Okta, Azure AD, Amazon Cognito) e acessam AWS via OpenID Connect (OIDC) ou SAML (Segurança em Linguagem de Asserção de Marcação).

    Nesse modelo, usuários autenticam no provedor de identidade e assumem uma função IAM compartilhada. A atribuição por usuário vem de dois mecanismos: o nome da sessão (identidade do usuário incorporada na ARN de função assumida) e tags de sessão (equipe, centro de custo, etc. passadas pelo provedor de identidade). Uma única função IAM serve múltiplos usuários, portanto não há necessidade de gerenciar recursos IAM por usuário.

    Para federação OIDC (Auth0, Cognito, Okta OIDC): registre o provedor como provedor OIDC na IAM, crie uma função com política de confiança permitindo sts:AssumeRoleWithWebIdentity e sts:TagSession, e configure o provedor para injetar a declaração https://aws.amazon.com/tags no token de ID. O AWS STS extrai automaticamente as tags de sessão dessa declaração. A aplicação define --role-session-name com o email ou outro identificador do usuário ao chamar AssumeRoleWithWebIdentity.

    Para federação SAML (Okta, Azure AD, Ping, ADFS): configure mapeamentos de atributo SAML no provedor para passar RoleSessionName (como email do usuário) e atributos PrincipalTag:* (equipe, centro de custo) na asserção. Ambos ficam criptograficamente assinados dentro da asserção, impedindo que usuários tamperem com sua própria atribuição de custos.

    Cenário 4: Rastreamento de usuários através de gateway LLM

    Para organizações que rodam um gateway ou proxy de linguagem grande (LiteLLM, gateway de API customizado, Kong, Envoy ou serviço próprio) entre usuários e o Amazon Bedrock. O problema: gateways autenticam usuários em sua própria camada e depois chamam o Amazon Bedrock usando uma única função IAM anexada ao gateway. Sem trabalho adicional, toda chamada ao Bedrock aparece no CUR 2.0 com uma única identidade, sem visibilidade por usuário ou tenant.

    A solução é implementar gerenciamento de sessão por usuário. O gateway chama AssumeRole em uma função Bedrock-scoped para cada usuário, passando a identidade do usuário como --role-session-name e seus atributos (equipe, tenant, centro de custo) como --tags. As credenciais resultantes por usuário são cacheadas (válidas até 1 hora) e reutilizadas em requisições subsequentes do mesmo usuário.

    Fluxo de identidade em cenários com gateway LLM — Fonte: AWS

    Essa abordagem requer duas funções IAM: uma função de execução do gateway com permissões sts:AssumeRole e sts:TagSession, e uma função de invocação do Bedrock confiada pela função do gateway e restrita a APIs do Bedrock.

    Considerações práticas de implementação:

    • Cache de sessões: AssumeRole adiciona latência mínima. Com TTL de 1 hora, você chama STS uma vez por usuário por hora, não por requisição. O tamanho do cache cresce com usuários concorrentes, não usuários totais (500 concorrentes = ~500 sessões em cache).
    • Limites: O limite padrão de STS é 500 chamadas AssumeRole por segundo por conta. Para gateways de alto throughput, você pode solicitar aumento.
    • Tags imutáveis: Tags de sessão são imutáveis durante a sessão. Mudanças de tag têm efeito na próxima criação de sessão.

    Começando: passo a passo

    Independentemente do cenário, o fluxo de ativação é similar:

    1. Identifique seu padrão de acesso: Desenvolvedores chamam o Bedrock diretamente com usuários IAM ou chaves de API (Cenário 1)? Aplicações usam funções IAM (Cenário 2)? Usuários autenticam através de provedor de identidade (Cenário 3)? Ou tráfego flui através de um gateway LLM (Cenário 4)?

    2. Ative dados de principal IAM no CUR 2.0: Atualize sua configuração de exportação de dados para incluir dados de principal IAM.

    3. Adicione tags (opcional): Anexe tags a usuários IAM, funções ou configure seu provedor de identidade para passar nome de sessão e tags. Depois, ative suas tags de alocação de custos no console AWS Billing ou via API UpdateCostAllocationTagsStatus. As tags aparecem no Cost Explorer e CUR 2.0 em 24–48 horas.

    4. Analise: Filtre por equipe, agrupe por projeto ou combine dimensões para responder perguntas como “Quanto a equipe de engenharia gastou em Claude Sonnet este mês?” dentro de 24–48 horas após ativação.

    Para mais orientação sobre estratégia de tags, consulte Melhores Práticas para Tagging de Recursos AWS.

    Ativando tags no AWS Billing

    Após aplicar tags, ative-as como tags de alocação de custos. Acesse o console AWS Billing, navegue até “Cost allocation tags” e ative suas tags de alocação de custos selecionando as tags desejadas. As tags aparecem em Cost Explorer dentro de 24–48 horas.

    Disponibilidade e custos

    O novo recurso de atribuição de custos para Amazon Bedrock está disponível agora em regiões comerciais sem custo adicional. O rastreamento funciona para chaves de API do Bedrock e em todos os modelos disponíveis através da plataforma.

    Conclusão

    Com os gastos em inferência de IA crescendo rapidamente, entender quem está gastando o quê é essencial para implementar modelos de cobrança interna, otimizar custos e planejar orçamentos com precisão. A atribuição granular de custos do Amazon Bedrock oferece visibilidade completa sem exigir recursos adicionais ou mudanças em workflows existentes, integrando-se perfeitamente ao AWS Billing, AWS Cost Explorer e relatórios de custo e uso. Seja você gerenciando equipes pequenas com usuários IAM individuais ou operando gateways LLM com centenas de usuários, a solução se adapta a cada arquitetura e oferece a granularidade necessária para decisões financeiras informadas.

    Fonte

    Introducing granular cost attribution for Amazon Bedrock (https://aws.amazon.com/blogs/machine-learning/introducing-granular-cost-attribution-for-amazon-bedrock/)

  • AWS Deadline Cloud apresenta assistente com IA para diagnóstico de falhas em renderização

    Uma solução inteligente para renderização em nuvem

    A AWS anunciou um novo assistente baseado em inteligência artificial para o Deadline Cloud, seu serviço gerenciado que simplifica a gestão de renderização para gráficos 2D/3D, efeitos visuais e conteúdo digital. Essa ferramenta foi desenvolvida para resolver um problema real enfrentado por produtoras de filmes, séries, comerciais, estúdios de games e empresas de design industrial: as falhas que interrompem pipelines de produção.

    O desafio das falhas em renderização

    Problemas que geram desperdício

    Trabalhos de renderização podem falhar por diversos motivos: ativos digitais faltando, erros de software, configurações incompatíveis ou limitações de recursos. Quando isso acontece, não só a produção é interrompida como recursos computacionais são desperdiçados. Historicamente, diagnosticar essas falhas era um processo manual e demorado — especialistas técnicos precisavam analisar centenas de linhas de registros para identificar a causa raiz do problema.

    Uma barreira para estúdios menores

    Esse cenário criava uma barreira especialmente difícil para estúdios pequenos e médios que não possuem equipes técnicas dedicadas ou não conseguem escalar esse tipo de diagnóstico facilmente.

    Como o assistente funciona

    O novo assistente do Deadline Cloud investiga trabalhos que falharam, analisa registros e métricas, detecta problemas comuns e recomenda ações corretivas. A base de conhecimento do assistente foi treinada com informações sobre o Deadline Cloud, problemas típicos de render farms e aplicações populares de criação de conteúdo digital, incluindo Autodesk Maya, 3ds Max, VRED, Blender, SideFX Houdini, Maxon Cinema 4D, Foundry Nuke e Adobe After Effects.

    Um diferencial importante: o assistente executa dentro da conta da AWS do usuário, utilizando o Amazon Bedrock, mantendo todos os dados e análises sob controle total da organização.

    Disponibilidade

    O assistente do Deadline Cloud está disponível a partir de agora em todas as regiões da AWS onde o Deadline Cloud é suportado. Para conhecer a ferramenta na prática, é possível assistir a uma demonstração em vídeo ou consultar a documentação do AWS Deadline Cloud para mais detalhes.

    Fonte

    AWS Deadline Cloud announces AI-powered troubleshooting assistant for render jobs (https://aws.amazon.com/about-aws/whats-new/2026/04/deadline-cloud-ai-troubleshooting/)

  • Busca Semântica em Vídeos com Embeddings Multimodais do Amazon Nova

    Por que a busca semântica em vídeos importa

    A demanda por experiências centradas em vídeo está transformando a forma como as organizações entregam conteúdo. Usuários esperam encontrar rapidamente momentos específicos dentro de arquivos de vídeo, e as indústrias de mídia estão enfrentando desafios reais para atender essa expectativa.

    Transmissoras de esportes precisam identificar o exato instante em que um jogador marca um gol para disponibilizar o destaque aos fãs instantaneamente. Estúdios de cinema buscam cada cena que apresenta um ator específico ao longo de milhares de horas de arquivo para criar trailers personalizados. Agências de notícias recuperam vídeos por estado emocional, localização ou tipo de evento para publicar reportagens antes dos concorrentes. O denominador comum é claro: entregar conteúdo de vídeo aos usuários rapidamente, capturar o momento certo e monetizar a experiência.

    O desafio fundamental reside na complexidade inerente ao vídeo. Diferentemente de texto ou imagens isoladas, um arquivo de vídeo combina múltiplos sinais não estruturados simultaneamente: a cena visual que se desenrola, o áudio ambiente, efeitos sonoros, diálogos, informações temporais e metadados estruturados descrevendo o ativo.

    Uma busca por “perseguição de carro com sirenes” envolve tanto um evento visual quanto um evento de áudio. Uma busca por um atleta específico pelo nome pode retornar alguém que aparece de forma proeminente na tela, mas nunca é mencionado na fala. Converter vídeo em texto inevitavelmente perde informações críticas: contexto temporal desaparece e erros de transcrição emergem de problemas de qualidade visual e áudio.

    A abordagem inovadora: Embeddings Multimodais do Amazon Nova

    A AWS apresentou os Embeddings Multimodais do Amazon Nova, um modelo de embedding unificado que processa nativamente texto, documentos, imagens, vídeo e áudio em um espaço vetorial semântico compartilhado. O modelo oferece precisão de recuperação líder da indústria com eficiência de custo notável.

    Diferentemente de abordagens tradicionais que mapeiam todos os sinais de vídeo em texto antes da busca, esse modelo multimodal processa todos os sinais simultaneamente sem perder detalhes essenciais. A solução construída sobre o Amazon Bedrock demonstra como integrar embeddings multimodais com uma arquitetura híbrida inteligente que funde sinais semânticos e lexicais em todos os tipos de mídia do vídeo.

    Arquitetura da solução

    A solução foi desenvolvida em duas fases distintas: um pipeline de ingestão que converte vídeo em embeddings pesquisáveis, e um pipeline de busca que roteia consultas de usuários inteligentemente entre essas representações.

    Pipeline de ingestão

    O fluxo de ingestão segue seis etapas principais. Primeiro, vídeos enviados via navegador são armazenados no Amazon DynamoDB para rastreamento de status enquanto um pipeline do AWS Step Functions é iniciado através de um orquestrador em AWS Lambda.

    Na etapa de segmentação, o AWS Fargate utiliza detecção de cenas com FFmpeg para dividir o vídeo em segmentos semanticamente coerentes. Três branches paralelos então processam cada segmento: embeddings visuais e de áudio são gerados e armazenados, Amazon Transcribe converte fala em texto, e Amazon Rekognition identifica celebridades.

    O Amazon Nova 2 Lite sintetiza legendas em nível de segmento e rótulos de gênero. Uma função Lambda monta todos os metadados e recupera os embeddings do Amazon S3 Vectors. Os documentos completos de segmento, com metadados e vetores, são então indexados em massa no Amazon OpenSearch Service.

    Pipeline de consulta

    Usuários autenticam através do Amazon Cognito e acessam a interface pela Amazon CloudFront. O Amazon API Gateway roteia requisições para uma função Lambda de busca, que executa duas operações paralelas.

    A análise de intenção utiliza Amazon Bedrock com Anthropic Claude Haiku para atribuir pesos de relevância entre os canais visual, áudio, transcrição e metadados. Simultaneamente, os Embeddings Multimodais do Amazon Nova processam a consulta três vezes para correspondência de similaridade visual, áudio e transcrição.

    Decisões de design críticas

    Segmentação semântica para continuidade de contexto

    Antes de gerar qualquer embedding, o vídeo deve ser dividido em unidades pesquisáveis, e as fronteiras traçadas impactam diretamente a precisão da busca. Cada segmento se torna a unidade atômica de recuperação.

    Segmentos muito curtos perdem o contexto circundante que confere significado a um momento. Segmentos muito longos fundem múltiplos tópicos ou cenas, diluindo a relevância. Blocos de comprimento fixo são diretos de produzir, mas ignoram a estrutura natural do conteúdo—uma transição de cena no meio de um segmento divide uma ideia visual entre dois chunks.

    A solução usa detecção de cenas do FFmpeg para identificar onde o conteúdo visual realmente muda. O framework FFmpeg é amplamente utilizado para processamento de vídeo, conversão de formatos e análise. A função de detecção retorna timestamps marcando limites naturais de cena. O algoritmo de segmentação então alinha cada corte ao limite de cena mais próximo dentro de uma janela aceitável, buscando aproximadamente dez segundos com mínimo de cinco e máximo de quinze segundos.

    O resultado são segmentos que soam naturais—oito a doze segundos cada—alinhados a transições visuais reais em vez de divisões arbitrárias. Essa abordagem simples baseada em cenas garante que limites de segmento correspondam a transições visuais naturais.

    Embeddings separados para sinais visuais, de áudio e transcrição

    Com segmentos definidos, a escolha do modelo de embedding é onde a maior lacuna de qualidade emerge. A abordagem dominante atualmente fundamenta todos os sinais de vídeo em texto antes de gerar embeddings. Enquanto isso funciona para conteúdo repleto de diálogos, converter vídeo em texto inevitavelmente perde informações críticas.

    Os Embeddings Multimodais do Amazon Nova mudam isso fundamentalmente porque é um modelo nativo de vídeo que pode gerar embeddings em dois modos. O modo combinado funde sinais visual e de áudio em uma representação unificada, capturando os sinais mais importantes juntos. Essa abordagem beneficia custo de armazenamento e latência de recuperação ao exigir apenas um embedding por segmento.

    Alternativamente, o modo AUDIO_VIDEO_SEPARATE gera embeddings visuais e de áudio distintos. Essa abordagem oferece máxima representação em embeddings específicos da modalidade e oferece melhor controle sobre quando buscar conteúdo visual versus conteúdo de áudio. A implementação adicionou até um terceiro embedding de fala derivado do Amazon Transcribe.

    Os três embeddings cobrem o espaço completo de sinais de um segmento de vídeo. O embedding visual captura o que a câmera vê: objetos, cenas, ações, cores e composição espacial. O embedding de áudio captura o que o microfone ouve: música, efeitos sonoros, ruído ambiente e textura acústica. O embedding de transcrição captura o que as pessoas dizem, representando o significado semântico da fala e narração.

    Busca híbrida combinando metadados e embeddings

    Mesmo com três embeddings independentes cobrindo conteúdo visual, áudio e falado, existe uma classe de consultas que o sistema não pode responder bem. Embeddings são projetados para capturar similaridade semântica. Eles excelem em encontrar um “momento de multidão tensa” ou um “pôr do sol sobre a água” porque são conceitos com significado visual e áudio rico.

    Mas quando um usuário busca por um nome específico, número de modelo de produto, geolocalização ou data particular, embeddings provavelmente falharão. Essas são entidades discretas com poucos sinais semânticos próprios. Aqui entra a busca híbrida. Em vez de confiar apenas em embeddings, o sistema executa dois caminhos de recuperação paralelos: um caminho semântico que corresponde aos embeddings visuais, de áudio e transcrição para capturar similaridade conceitual, e um caminho lexical que realiza correspondência exata de palavra-chave e entidade contra metadados estruturados.

    A quantidade de metadados necessária depende do tipo de conteúdo, organização e caso de uso. Para a implementação, foram selecionadas categorias representando tipos comuns em mídia e entretenimento: título de vídeo e datetime (metadados técnicos), legendas de segmento, gênero e reconhecimento de celebridades (metadados contextuais). As legendas são geradas a partir do vídeo e transcrição de cada segmento. O gênero é previsto a partir da transcrição completa de vídeo. Identificação de celebridades é tratada pelo Amazon Rekognition.

    Roteamento de consulta consciente de intenção

    Com três embeddings e metadados, há quatro dimensões pesquisáveis. Mas como saber qual usar para uma consulta fornecida? A intenção é tudo. Para resolver isso, foi construído um roteador de análise de intenção que usa o modelo Haiku para analisar cada consulta e atribuir peso a cada canal de modalidade: visual, áudio, transcrição e metadados.

    O modelo Haiku recebe uma consulta e retorna um objeto JSON com pesos que somam um, junto com um breve rastreamento explicando a atribuição. Os pesos controlam diretamente quais sub-consultas executam. Qualquer modalidade abaixo do limiar de cinco por cento é completamente ignorada, eliminando chamadas de API de embedding desnecessárias e reduzindo latência sem sacrificar precisão.

    Os canais restantes executam em paralelo, cada um buscando seu próprio índice independentemente. Resultados de todos os canais ativos são então pontuados usando uma média aritmética ponderada. As pontuações BM25 (uma medida de relevância lexical baseada em frequência de termo e comprimento de documento) e pontuações de similaridade de cosseno (uma medida geométrica de quão proximamente dois vetores de embedding apontam na mesma direção) existem em escalas muito diferentes. Para resolver isso, cada pontuação de sub-consulta é primeiro normalizada para um intervalo de zero a um, depois combinada usando os pesos de intenção do roteador.

    Estratégia de armazenamento para vetores e metadados

    A decisão final de design é onde e como armazenar tudo isso. Cada segmento de vídeo produz até três embeddings e um conjunto de campos de metadados, e como eles são armazenados determina tanto o desempenho de busca quanto o custo em escala.

    A solução divide isso entre dois serviços com papéis complementares: Amazon S3 Vectors para armazenamento de vetores e Amazon OpenSearch Service para busca híbrida. O S3 Vectors armazena três índices de vetores por projeto, um para cada tipo de embedding: visual, áudio e transcrição. O OpenSearch contém um índice por projeto, onde cada documento representa um único segmento de vídeo contendo campos de texto para busca BM25 e campos de vetor para busca de k-vizinhos mais próximos.

    O S3 Vectors foi escolhido pelos benefícios de custo-performance. O Amazon S3 Vectors reduz o custo de armazenamento e consulta de vetores em até noventa por cento comparado a soluções especializadas alternativas. Se latência de busca não é crítica para o caso de uso, S3 Vectors é uma escolha padrão forte. Se a menor latência possível é necessária, recomenda-se usar vetores em memória com o mecanismo Hierarchical Navigable Small World (HNSW) do OpenSearch.

    Vale ressaltar que alguns casos de uso requerem busca dentro de segmentos de vídeo mais longos e semanticamente densos, como uma entrevista completa, uma cena documentária de vários minutos ou uma demonstração de produto estendida. A maioria dos modelos de embedding multimodal, incluindo os Embeddings Multimodais do Amazon Nova, tem duração máxima de entrada de trinta segundos. O suporte de vetor aninhado no OpenSearch resolve isso permitindo que um único documento contenha múltiplos embeddings de sub-segmentos.

    Resultados de desempenho

    Para validar as decisões de design, a abordagem híbrida otimizada foi comparada com a linha de base do modo AUDIO_VIDEO_COMBINED dos Embeddings Multimodais do Amazon Nova. A comparação usou dez vídeos long-form internos (cinco a vinte minutos) avaliados em vinte consultas abrangendo buscas focadas em visual, áudio, transcrição e metadados.

    A linha de base usa um único vetor unificado por segmento de dez segundos com um índice e uma consulta de k-vizinhos mais próximos. A abordagem otimizada gera embeddings visual, áudio e transcrição separados, enriquece segmentos com metadados estruturados e aplica roteamento consciente de intenção que pondera dinamicamente canais de modalidade.

    Os resultados mostram melhorias substanciais em todas as métricas de recuperação. A busca híbrida atingiu Recall@5 e Recall@10 acima de noventa por cento versus cinquenta e um e sessenta e quatro por cento para a linha de base—um ganho de cerca de quarenta pontos percentuais em precisão de cobertura. Mean Reciprocal Rank saltou de quarenta e oito para noventa por cento, e NDCG@10 subiu de cinquenta e quatro para oitenta e oito por cento. Esses ganhos de trinta a quarenta pontos percentuais validam as decisões arquiteturais centrais: segmentação semântica preserva continuidade de conteúdo, embeddings separados oferecem controle preciso de busca, enriquecimento de metadados captura entidades factuais, e roteamento consciente de intenção garante que os sinais certos direcionem cada consulta.

    Implementação prática

    Uma implementação de referência completa está disponível no GitHub, permitindo seguir o passo a passo e ver como cada decisão contribui para busca precisa e escalável entre todos os tipos de sinais.

    Para evitar incurrer em futuras cobranças, os recursos usados na solução podem ser deletados removendo a stack do AWS CloudFormation. Comandos detalhados estão disponíveis no repositório GitHub.

    Próximos passos e otimizações

    Mais otimizações podem ser realizadas para afinar ainda mais a precisão de busca, incluindo personalização de modelo para a camada de roteamento de intenção. Recomenda-se ler a Parte 2 para aprofundar essas técnicas.

    Para uma implementação pronta para produção desta técnica de busca semântica de vídeo e gerenciamento de metadados em escala, consulte a Orientação para um Media Lake na AWS.

    Considerações finais

    A solução de busca semântica em vídeo construída sobre os Embeddings Multimodais do Amazon Nova demonstra como transformar um conjunto fragmentado de sinais em uma experiência de busca unificada e precisa que compreende vídeo. Ao manter contexto temporal, processar embeddings separados para cada modalidade, enriquecer com metadados estruturados e aplicar roteamento inteligente baseado em intenção, as organizações podem escalar de forma eficiente entre arquivos de vídeo massivos mantendo precisão de recuperação.

    Essa abordagem abre possibilidades para transmissoras de esportes, estúdios de cinema, agências de notícias e qualquer organização que necessite encontrar rapidamente momentos específicos dentro de conteúdo de vídeo—capturando o momento, entregando aos usuários e monetizando a experiência.

    Fonte

    Power video semantic search with Amazon Nova Multimodal Embeddings (https://aws.amazon.com/blogs/machine-learning/power-video-semantic-search-with-amazon-nova-multimodal-embeddings/)

  • Otimizando Busca Semântica de Vídeos com Destilação de Modelos Amazon Nova no Amazon Bedrock

    Balanceando Precisão, Custo e Latência em Buscas de Vídeo

    Otimizar modelos para busca semântica de vídeos apresenta um dilema clássico em machine learning: modelos menores e rápidos carecem de inteligência de roteamento, enquanto modelos maiores e mais precisos adicionam latência significativa. A AWS, por meio de seu portfólio de serviços de inteligência artificial, oferece agora uma solução que permite alcançar os três objetivos simultaneamente.

    Em um artigo anterior da série, foi apresentado como construir um sistema de busca semântica multimodal em vídeos utilizando roteamento inteligente de intenções com o modelo Anthropic Claude Haiku no Amazon Bedrock. Embora o modelo Haiku entreguasse forte precisão para interpretar intenções de busca, aumentava o tempo total de processamento para 2 a 4 segundos, representando aproximadamente 75% da latência geral.

    O cenário fica ainda mais desafiador quando a lógica de roteamento se torna mais complexa. Metadados empresariais costumam ir muito além dos cinco atributos simples (título, legenda, pessoas, gênero e timestamp), incluindo ângulos de câmera, sentimentos, janelas de direitos e licenças, além de taxonomias específicas de domínio. Prompts mais sofisticados exigem modelos maiores, que aumentam custos e latência de forma desproporcional.

    A Solução: Destilação de Modelos

    Em vez de escolher entre um modelo rápido mas superficial ou um modelo preciso mas custoso, a destilação de modelos — uma técnica de personalização disponível no Amazon Bedrock — permite treinar um modelo pequeno para realizar tarefas complexas com latência e custo significativamente reduzidos.

    O processo envolve transferir inteligência de um modelo professor (Amazon Nova Premier, o mais capaz da família) para um modelo aluno (Amazon Nova Micro, otimizado para alta vazão). Essa abordagem reduz custos de inferência em mais de 95% e latência em 50%, mantendo a qualidade de roteamento exigida por sistemas de produção.

    Arquitetura da Solução Passo a Passo

    1. Preparação de Dados de Treinamento

    Uma das principais vantagens da destilação sobre outras técnicas como ajuste fino supervisionado (SFT) é que não requer um conjunto de dados completamente rotulado. No SFT, cada exemplo precisa de respostas geradas por humanos. Na destilação, você precisa apenas de prompts — o Amazon Bedrock invoca automaticamente o modelo professor para gerar respostas de alta qualidade.

    A plataforma aplica técnicas de síntese e aumento de dados para produzir um conjunto de treinamento diverso contendo até 15 mil pares prompt-resposta. Para este exemplo, foram preparados 10 mil exemplos sintéticos com o Nova Premier, distribuídos uniformemente entre consultas de sinais visuais, áudio, transcrição e metadados, cobrindo o intervalo completo de entradas esperadas.

    Cada registro segue o esquema bedrock-conversation-2024, onde a função usuário (prompt de entrada) é obrigatória e a função assistente (resposta desejada) é opcional. Um exemplo prático:

    {
      "schemaVersion": "bedrock-conversation-2024",
      "system": [{
        "text": "Return JSON with visual, audio, transcription, metadata weights (sum=1.0) and reasoning for the given video search query."
      }],
      "messages": [
        {
          "role": "user",
          "content": [{
            "text": "Olivia talking about growing up in poverty"
          }]
        },
        {
          "role": "assistant",
          "content": [{
            "text": "{\"visual\": 0.2, \"audio\": 0.1, \"transcription\": 0.6, \"metadata\": 0.1, \"reasoning\": \"The query focuses on spoken content ('talking about'), making transcription most important. Visual and audio elements are secondary since they support the context, while metadata is minimal.\"}"
          }]
        }
      ]
    }

    Para adaptar a distribuição a domínios específicos, está disponível um script de geração de dados que permite criar mais exemplos sintéticos usando o Nova Premier.

    2. Executando o Trabalho de Destilação

    Com os dados de treinamento no Amazon Simple Storage Service (Amazon S3), o próximo passo é submeter o trabalho de destilação. O processo utiliza os prompts para gerar respostas do modelo professor, então usa esses pares para ajustar o modelo aluno. O Amazon Bedrock gerencia toda a orquestração e infraestrutura automaticamente — não há cluster para provisionar, hiperparâmetros para ajustar ou pipelines complexos para configurar.

    Você especifica o modelo professor, o modelo aluno, o caminho S3 dos dados e uma função de Controle de Acesso à Identidade (IAM – Identity and Access Management). O resto é gerenciado pela plataforma. Veja um exemplo de código:

    import boto3
    from datetime import datetime
    
    bedrock_client = boto3.client(service_name="bedrock")
    
    teacher_model = "us.amazon.nova-premier-v1:0"
    student_model = "amazon.nova-micro-v1:0:128k"
    job_name = f"video-search-distillation-{datetime.now().strftime('%Y-%m-%d-%H-%M-%S')}"
    model_name = "nova-micro-video-router-v1"
    
    response = bedrock_client.create_model_customization_job(
        jobName=job_name,
        customModelName=model_name,
        roleArn=distillation_role_arn,
        baseModelIdentifier=student_model,
        customizationType="DISTILLATION",
        trainingDataConfig={"s3Uri": training_s3_uri},
        outputDataConfig={"s3Uri": output_s3_uri},
        customizationConfig={
            "distillationConfig": {
                "teacherModelConfig": {
                    "teacherModelIdentifier": teacher_model,
                    "maxResponseLengthForInference": 1000
                }
            }
        }
    )
    
    job_arn = response['jobArn']

    O trabalho executa de forma assíncrona. Para 10 mil exemplos com o Nova Micro, esperase conclusão em poucas horas.

    3. Implantando o Modelo Destilado

    Após a conclusão, o modelo personalizado fica disponível e pronto para implantação. O Amazon Bedrock oferece duas opções: Throughput Provisionado para cargas de trabalho previsíveis e de alto volume, ou Inferência sob Demanda para acesso flexível com pagamento por uso. Para equipes começando, a inferência sob demanda é a recomendada — sem endpoints para provisionar, sem compromissos horários e sem requisitos de uso mínimo.

    Uma vez com status “InService”, o modelo pode ser invocado usando as APIs padrão InvokeModel ou Converse. Você paga apenas pelos tokens consumidos, aos custos do Nova Micro: $0,000035 por 1 mil tokens de entrada e $0,000140 por 1 mil tokens de saída.

    import boto3
    import json
    
    bedrock_runtime = boto3.client(service_name="bedrock-runtime")
    
    custom_model_arn = bedrock_client.get_model_customization_job(
        jobIdentifier=job_arn
    )['outputModelArn']
    
    response = bedrock_runtime.converse(
        modelId=custom_model_arn,
        messages=[
            {
                "role": "user",
                "content": [{"text": query}]
            }
        ]
    )
    
    routing_weights = json.loads(
        response['output']['message']['content'][0]['text']
    )
    print(routing_weights)
    # {"visual": 0.7, "audio": 0.1, "transcription": 0.1, "metadata": 0.1}

    Avaliação e Resultados

    Qualidade de Roteamento

    Antes de comparar com o roteador original, é importante validar que a destilação melhorou a capacidade do modelo base. O modelo Nova Micro destilado demonstrou formato JSON consistente com pesos numéricos que somam 1,0, enquanto a versão base produzia respostas em texto livre, JSON incompleto e valores de peso não-numéricos.

    Para uma consulta sobre “CEO discutindo resultados trimestrais”, o modelo destilado retornou pesos apropriados com raciocínio específico, enquanto a versão base lutava com inconsistências de formato e lógica genérica.

    Comparação com o Baseline Original

    Ambos os modelos foram avaliados contra um conjunto de 100 exemplos de teste usando a Avaliação de Modelos do Amazon Bedrock. Foi definida uma rubrica personalizada de “Qualidade Geral” que instrui o Claude Sonnet a avaliar cada predição em duas dimensões: precisão dos pesos comparados à verdade esperada e qualidade do raciocínio.

    O modelo Nova Micro destilado alcançou pontuação 4,0 em 5, praticamente idêntica ao Claude 4.5 Haiku mas com latência aproximadamente 50% menor (833ms versus 1.741ms). A vantagem de custo é ainda mais dramática: redução de mais de 95% tanto em tokens de entrada quanto de saída, sem compromissos antecipados.

    Resumo comparativo de métricas:

    • Pontuação LLM-as-judge: Nova Micro destilado (4,0/5) versus Claude 4.5 Haiku (4,0/5)
    • Latência média: Nova Micro destilado (833ms) versus Claude 4.5 Haiku (1.741ms)
    • Custo por 1k tokens entrada: Nova Micro destilado ($0,000035) versus Claude 4.5 Haiku ($0,80–$1,00)
    • Custo por 1k tokens saída: Nova Micro destilado ($0,000140) versus Claude 4.5 Haiku ($4,00–$5,00)
    • Consistência de formato: Nova Micro destilado (JSON consistente) versus Claude 4.5 Haiku (inconsistente)

    Implementação Completa e Recursos

    Para explorar a implementação completa, incluindo notebook, script de geração de dados de treinamento e utilitários de avaliação, visite o repositório GitHub. Lá você encontrará todos os componentes necessários para replicar a solução em seu ambiente.

    Para não gerar cobranças contínuas, execute a seção de limpeza do notebook para remover recursos provisionados, incluindo endpoints de modelo implantados e dados armazenados no Amazon S3.

    Conclusão

    Este artigo encerra uma série de dois posts. A destilação de modelos oferece um caminho prático para alcançar eficiência de custo em produção sem sacrificar precisão de busca. Ao transferir comportamento de roteamento do Nova Premier para o Nova Micro usando destilação, reduz-se custo de inferência em mais de 95% e latência de pré-processamento pela metade, preservando a qualidade de roteamento necessária.

    Para equipes operando busca de vídeo multimodal em larga escala, a destilação de modelos é um caminho consolidado para produção, balanceando inteligência de roteamento com velocidade e custo ao mesmo tempo. Para mergulhar na implementação, consulte o repositório GitHub e experimente a solução.

    Fonte

    Optimize video semantic search intent with Amazon Nova Model Distillation on Amazon Bedrock (https://aws.amazon.com/blogs/machine-learning/optimize-video-semantic-search-intent-with-amazon-nova-model-distillation-on-amazon-bedrock/)