Construir um Agente FinOps com Amazon Bedrock AgentCore

Introdução: Otimização de Custos com Inteligência Artificial

Gerenciar custos em múltiplas contas da AWS tradicionalmente exige que equipes de finanças consultem várias fontes para obter uma visão completa dos gastos e oportunidades de otimização. Esse processo manual, muitas vezes fragmentado entre diferentes consoles e relatórios, consome tempo valioso que poderia ser dedicado a análises estratégicas.

A AWS apresentou uma abordagem inovadora para resolver esse desafio: um agente FinOps construído com Amazon Bedrock AgentCore. Esse agente conversacional consolida dados de AWS Cost Explorer, AWS Budgets e AWS Compute Optimizer em uma única interface, permitindo que equipes façam perguntas simples em linguagem natural, como “Quais são meus principais fatores de custo este mês?” e recebam respostas imediatas.

Arquitetura e Componentes Principais

Estrutura Geral da Solução

A solução combina dois componentes fundamentais: uma camada de autenticação e interface com o usuário, e o Amazon Bedrock AgentCore Runtime com ferramentas e memória de conversação. O Amazon Cognito gerencia a autenticação dos usuários, enquanto o AgentCore Runtime processa as consultas de gerenciamento de custos.

A camada de autenticação e frontend utiliza AWS Amplify para hospedar a aplicação web e Amazon Cognito para autenticação. O Cognito fornece credenciais temporárias da AWS através de Identity Pools, possibilitando que a aplicação frontend comunique-se de forma segura com o AgentCore Runtime.

Componentes de Processamento

O agente customizado para FinOps é hospedado no AgentCore Runtime e construído com o Strands Agent, que se integra ao Amazon Bedrock para acessar um Modelo de Linguagem Grande (LLM). O Amazon Bedrock AgentCore Gateway gerencia as invocações de ferramentas e roteia requisições para serviços de backend utilizando autenticação AWS Identity and Access Management (IAM).

Os servidores MCP (Model Context Protocol) são hospedados no AgentCore Runtime para fornecer acesso às ferramentas de Faturamento e Gerenciamento de Custos da AWS. O AgentCore Memory mantém o histórico de conversação com retenção de contexto de até 30 dias, permitindo que usuários façam perguntas de acompanhamento sem repetir informações.

Gerenciamento de Identidade e Segurança

O AgentCore Identity gerencia o ciclo de vida das credenciais OAuth 2.0 para comunicação segura entre o Gateway e os runtimes MCP. Ele armazena as credenciais do cliente M2M do Cognito como provedor de credencial OAuth e emite tokens em nome do Gateway quando necessário autenticar-se com os runtimes MCP.

Implantação e Configuração Técnica

Arquitetura em Camadas

A solução é organizada em cinco seções principais, cada uma gerida por uma pilha AWS CDK dedicada:

Camada A – Infraestrutura de Autenticação: A pilha FinOpsAuthStack implanta a infraestrutura de autenticação (User Pool do Cognito, Identity Pool, cliente M2M, servidor de recursos e papéis IAM). O User Pool gerencia a autenticação de usuários, o cliente M2M habilita fluxos OAuth 2.0 máquina-para-máquina entre o Gateway e runtimes MCP, e o Identity Pool fornece credenciais temporárias da AWS para a aplicação frontend.

Camada B – Infraestrutura de Compilação de Imagens: A pilha FinOpsImageStack implanta o pipeline de compilação de imagens de container (bucket Amazon S3, projetos AWS CodeBuild e repositórios Amazon Elastic Container Registry (Amazon ECR)). O CodeBuild clona os servidores MCP do AWS Labs, aplica transformação stdio-para-HTTP e constrói imagens de container AWS Graviton (ARM64) armazenadas no Amazon ECR para uso pelos AgentCore Runtimes.

Camada C – Runtimes dos Servidores MCP: A pilha FinOpsMCPRuntimeStack implanta dois AgentCore Runtimes executando os servidores MCP transformados (Faturamento e Preços). Cada runtime é configurado com autorização JWT usando o Cognito da pilha de autenticação e possui permissões IAM específicas para as APIs da AWS que acessa.

Camada D – Gateway do AgentCore: A pilha FinOpsAgentCoreGatewayStack implanta o AgentCore Gateway com autorização AWS_IAM, um provedor de credencial OAuth registrado com o AgentCore Identity usando as credenciais M2M do Cognito, e dois destinos MCP server apontando para os runtimes de Faturamento e Preços.

Camada E – Runtime do Agente Principal: A pilha FinOpsAgentRuntimeStack implanta o AgentCore Runtime principal, utilizando o Strands Agent Framework com Claude Sonnet para orquestrar invocações de modelos e chamadas de ferramentas através do Gateway. Também implanta AgentCore Memory para histórico de conversação.

Pré-requisitos e Preparação

Antes de começar, verifique se você possui:

Processo de Implantação

A solução é implantada na região us-east-1 da AWS. O processo utiliza o AWS CDK para provisionar a infraestrutura através de três pilhas AWS CloudFormation.

Passo 1: Clonar o repositório

git clone https://github.com/aws-samples/sample-finops-agent-amazon-bedrock-agentcore
cd sample-finops-agent-amazon-bedrock-agentcore

Passo 2: Definir variáveis de ambiente

Substitua seu-email@exemplo.com pelo seu endereço de email para receber a senha admin temporária:

export ADMIN_EMAIL="seu-email@exemplo.com"

Passo 3: Implantar usando CDK

cd cdk && npm install && npm run build && npx cdk bootstrap && npx cdk deploy --all --require-approval never

O script de implantação instala dependências do CDK, compila código TypeScript, inicializa o CDK se necessário e implanta as três pilhas em sequência. O processo leva aproximadamente 15 a 20 minutos. Após a conclusão, você terá cinco pilhas AWS CloudFormation na sua conta.

Operação e Uso da Aplicação

Fluxo de Requisições

Quando um usuário pergunta “Quais são meus custos da AWS para janeiro de 2026?”, o seguinte fluxo ocorre:

  1. O usuário acessa a aplicação web hospedada no AWS Amplify
  2. Autentica-se com o Amazon Cognito
  3. O Cognito valida as credenciais e retorna credenciais temporárias da AWS do Identity Pool
  4. O frontend envia a pergunta do usuário ao AgentCore Runtime usando as credenciais temporárias
  5. O agente Strands envia a pergunta junto com as 24 definições de ferramentas disponíveis ao Claude Sonnet no Amazon Bedrock
  6. O modelo analisa a pergunta e decide chamar a ferramenta billingMcp__cost_explorer
  7. O agente roteia a requisição de chamada de ferramenta para o AgentCore Gateway usando autenticação IAM SigV4
  8. O Gateway contata o AgentCore Identity para obter um token OAuth 2.0
  9. O Gateway envia a requisição MCP tools/call com o token OAuth ao Billing MCP Runtime
  10. O Billing MCP Runtime executa a chamada real à AWS Cost Explorer
  11. Os dados de custo retornam através da cadeia até o agente
  12. O agente envia os dados ao Amazon Bedrock, onde Claude gera um resumo em linguagem natural
  13. A resposta formatada é exibida na interface de chat do usuário

Implantando a Aplicação Amplify

Após a implantação da infraestrutura, o código frontend deve ser implantado manualmente. Baixe o código frontend do GitHub, acesse AWS Amplify no AWS Management Console, selecione “Deploy without Git provider”, faça upload do arquivo .zip e aguarde a conclusão da implantação. Anote a URL do domínio gerado.

Servidores MCP Especializados

Dois servidores MCP fornecem funcionalidades específicas: o servidor de Faturamento e Gerenciamento de Custos concentra-se em análise de gastos históricos, monitoramento de orçamentos, detecção de anomalias de custo e recomendações de otimização usando dados reais da conta AWS. O servidor de Preços lida com consultas prospectivas, fornecendo dados de preços em tempo real da API de Lista de Preços da AWS, permitindo estimativas de custo para novas cargas de trabalho.

Explorando Capacidades da Interface

Após configurar a aplicação, você pode fazer consultas variadas. Comece perguntando “Quais são meus custos da AWS para janeiro de 2026?” para recuperar dados de custo com detalhamento por serviço. Questione “Quais são minhas oportunidades atuais de economia de custos?” para que o agente identifique oportunidades de otimização usando múltiplas ferramentas. Aprofunde-se perguntando “Pode dar detalhes sobre alguma instância EC2 subutilizada?” para explorar recursos específicos.

Exemplos adicionais de consultas incluem “Mostre meus custos por Região nos últimos 30 dias”, “Qual é minha previsão de custos para os próximos 3 meses?”, “Compare preços para instâncias t3.micro e t3.small”, “Existem anomalias de custo na minha conta?”, “Qual é meu status de uso da camada gratuita?”, “Mostre meus orçamentos e status atual”, “Qual é o preço do Lambda em us-east-1?” e “Obtenha recomendações de dimensionamento correto para minhas instâncias EC2”.

Memória de Conversação em Ação

O AgentCore Memory mantém contexto entre múltiplas perguntas, permitindo diálogos naturais. Você pode perguntar “Quais são meus 5 serviços com maior custo?”, receber uma lista, depois questionar “E quanto ao segundo?”, e o agente lembrará da lista anterior. Em seguida, pergunte “Como posso otimizá-lo?” e receba recomendações específicas sem repetir informações. O AgentCore Memory gerencia automaticamente o histórico de conversação, e o gerenciador de sessão Strands recupera contexto relevante para cada requisição.

Limpeza de Recursos

Para evitar cobranças futuras, delete os recursos criados por esta solução:

cd sample-finops-agent-amazon-bedrock-agentcore/cdk
npx cdk destroy --all

O sistema solicitará confirmação listando as pilhas a serem deletadas. Digite “y” para confirmar. Acesse o console do Amplify, selecione as configurações da aplicação, escolha configurações gerais e delete a aplicação.

Conclusão

A abordagem apresentada demonstra como integrar agentes de IA conversacionais para transformar a gestão financeira na nuvem. Ao combinar Amazon Bedrock AgentCore, o modelo Anthropic Claude Sonnet 4.5, Strands Agent SDK, Model Context Protocol (MCP) e componentes da AWS, a solução oferece acesso em linguagem natural a análise de custos e recomendações de otimização.

Essa arquitetura não se limita a FinOps — ela estabelece um padrão extensível para outros casos de uso, como automação DevOps, análise de segurança e monitoramento de conformidade. Para começar, visite o repositório no GitHub.

Fonte

Build a FinOps agent using Amazon Bedrock AgentCore (https://aws.amazon.com/blogs/machine-learning/build-a-finops-agent-using-amazon-bedrock-agentcore/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *