View a markdown version of this page

Implantação de sistemas agênticos no Amazon Bedrock com a estrutura do CrewAI usando o Terraform - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implantação de sistemas agênticos no Amazon Bedrock com a estrutura do CrewAI usando o Terraform

Vanitha Dontireddy, Amazon Web Services

Resumo

Este padrão demonstra como implementar sistemas escaláveis multiagente de IA usando a estrutura do CrewAI integrada ao Amazon Bedrock e ao Terraform. A solução permite que as organizações criem, implantem e gerenciem fluxos de trabalho sofisticados de agentes de IA por meio da infraestrutura como código (IaC). Neste padrão, os recursos de orquestração multiagente da CrewAI se combinam com os modelos de base do Amazon Bedrock e a automação da infraestrutura do Terraform. Como resultado, as equipes podem criar sistemas de IA prontos para produção que lidam com tarefas complexas com o mínimo de supervisão humana. O padrão implementa as práticas recomendadas operacionais, de escalabilidade e de segurança de nível corporativo.

Pré-requisitos e limitações

Pré-requisitos

Limitações

  • As interações de agentes são limitadas pelas janelas de contexto do modelo.

  • As considerações de gerenciamento de estado do Terraform para implantações em grande escala se aplicam a este padrão.

  • Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte AWS Services by Region. Para endpoints específicos, consulte Service endpoints and quotas e clique no link correspondente ao serviço desejado.

Arquitetura

Neste padrão, as seguintes interações ocorrem:

  • O Amazon Bedrock fornece a base para a inteligência de agentes por meio de seu conjunto de modelos básicos (FMs). Ele permite recursos de processamento de linguagem natural (PLN), raciocínio e tomada de decisão para os agentes de IA, mantendo alta disponibilidade e escalabilidade.

  • A estrutura do CrewAI serve como a principal camada de orquestração para criar e gerenciar agentes de IA. Ela lida com protocolos de comunicação de agentes, delegação de tarefas e gerenciamento de fluxo de trabalho enquanto se integra ao Amazon Bedrock.

  • O Terraform gerencia toda a pilha de infraestrutura por meio de código, incluindo recursos computacionais, redes, grupos de segurança e funções AWS Identity and Access Management (IAM). Ele garante implantações consistentes e com controle de versão em todos os ambientes. A implantação do Terraform cria o seguinte:

    • AWS Lambda função para executar o aplicativo CrewAI

    • Buckets do Amazon Simple Storage Service (Amazon S3) para código e relatórios

    • Perfis do IAM com as permissões apropriadas

    • CloudWatch Registro na Amazon

    • Execução programada pela Amazon EventBridge

O diagrama a seguir ilustra a arquitetura para implantar sistemas multiagente do CrewAI usando o Amazon Bedrock e o Terraform.

Fluxo de trabalho para implantar sistemas multiagente do CrewAI usando o Terraform e o Amazon Bedrock.

O diagrama mostra o seguinte fluxo de trabalho:

  1. O usuário clona o repositório.

  2. O usuário executa o comando terraform apply para implantar os AWS recursos.

  3. A configuração do modelo do Amazon Bedrock inclui a especificação do modelo de base (FM) a ser usado para configurar os agentes do CrewAI.

  4. Uma EventBridge regra é estabelecida para acionar a função Lambda de acordo com o cronograma definido.

  5. Quando acionada (por agendamento ou manualmente), a função Lambda inicializa e assume a função do IAM com permissões de acesso ao Amazon Bedrock. Serviços da AWS

  6. A estrutura do CrewAI carrega configurações de agentes por meio de arquivos YAML e cria agentes de IA especializados (a equipe de auditoria de segurança da infraestrutura da AWS ). A função Lambda executa sequencialmente esses agentes para verificar AWS recursos, analisar vulnerabilidades de segurança e gerar relatórios de auditoria abrangentes.

  7. CloudWatch Os registros capturam informações detalhadas de execução da função Lambda com um período de retenção de 365 dias AWS Key Management Service e AWS KMS() criptografia para requisitos de conformidade. Os logs fornecem visibilidade das atividades de agentes, do rastreamento de erros e das métricas de performance, permitindo o monitoramento e a solução de problemas eficazes do processo de auditoria de segurança.

  8. O relatório de auditoria de segurança é gerado e armazenado automaticamente no bucket do Amazon S3 designado. A configuração automatizada ajuda a manter um monitoramento de segurança consistente com o mínimo de sobrecarga operacional.

Após a implantação inicial, o fluxo de trabalho fornece auditoria e relatórios de segurança contínuos para sua AWS infraestrutura sem intervenção manual.

Visão geral dos agentes de IA

Este padrão cria vários agentes de IA, cada um com funções, metas e ferramentas exclusivas:

  • O agente do analista de segurança coleta e analisa as informações AWS dos recursos.

  • O agente testador de penetração identifica vulnerabilidades nos recursos. AWS

  • O agente especialista em conformidade verifica as configurações em relação aos padrões de conformidade.

  • O agente redator de relatórios compila as descobertas em relatórios abrangentes.

Esses agentes colaboram em uma série de tarefas, aproveitando suas habilidades coletivas para realizar auditorias de segurança e gerar relatórios abrangentes. (O arquivo config/agents.yaml descreve os recursos e configurações de cada agente dessa equipe.)

O processamento da análise de segurança consiste nas seguintes ações:

  1. O agente analista de segurança examina os dados coletados sobre AWS recursos, como os seguintes:

    • Instâncias e grupos de segurança do Amazon Elastic Compute Cloud (Amazon EC2)

    • Configurações e buckets do Amazon S3

    • Políticas, permissões e perfis do IAM

    • Definições de rede e configurações de rede da nuvem privada virtual (VPC)

    • Bancos de dados e configurações de segurança do Amazon RDS

    • Configurações e funções do Lambda

    • Outros Serviços da AWS dentro do escopo da auditoria

  2. O agente testador de penetração identifica possíveis vulnerabilidades.

  3. Os agentes colaboram por meio da estrutura do CrewAI para compartilhar descobertas.

A geração de relatórios consiste nas seguintes ações:

  1. O agente redator do relatório compila as descobertas de todos os outros agentes.

  2. Os problemas de segurança são organizados por serviço, gravidade e impacto na conformidade.

  3. Recomendações de remediação são geradas para cada problema identificado.

  4. Um relatório abrangente de auditoria de segurança é criado em formato markdown e carregado no bucket do Amazon S3 designado. Os relatórios históricos são preservados para rastreamento de conformidade e melhoria da postura de segurança.

As atividades de registro em log e monitoramento incluem:

  • CloudWatch os registros capturam detalhes da execução e quaisquer erros.

  • As métricas de execução do Lambda são registradas para monitoramento.

nota

O código para aws-security-auditor-crew é originado do repositório GitHub 3P-Agentic_Frameworks, disponível na coleção Samples. AWS

Disponibilidade e escala

Você pode expandir os agentes disponíveis para mais do que os quatro agentes principais. Para escalar com agentes especializados adicionais, considere os seguintes novos tipos de agentes:

  • Um agente especialista em inteligência de ameaças pode fazer o seguinte:

    • Monitorar os feeds de ameaças externos e correlacionar com as descobertas internas

    • Fornecer contexto sobre ameaças emergentes relevantes para sua infraestrutura

    • Priorizar vulnerabilidades com base na exploração ativa de casos reais

  • Os agentes da estrutura de conformidade podem se concentrar em áreas regulatórias específicas, como as seguintes:

    • Agente de conformidade com o padrão de segurança de dados do setor de cartões de pagamento (PCI DSS)

    • Agente de conformidade com a Lei de Portabilidade e Responsabilidade de Provedores de Saúde de 1996 (HIPAA)

    • Agente de conformidade com Controles de Sistema e Organização 2 (SOC 2)

    • Agente de conformidade do Regulamento Geral de Proteção de Dados (RGDP)

Ao expandir cuidadosamente os agentes disponíveis, essa solução pode fornecer insights de segurança mais profundos e especializados, mantendo a escalabilidade em grandes ambientes. AWS Para obter mais informações sobre uma abordagem de implementação, desenvolvimento de ferramentas e considerações de escalabilidade, consulte Informações adicionais.

Ferramentas

Serviços da AWS

  • O Amazon Bedrock é um serviço de IA totalmente gerenciado que disponibiliza modelos básicos de alto desempenho (FMs) para uso por meio de uma API unificada.

  • O Amazon CloudWatch Logs ajuda você a centralizar os registros de todos os seus sistemas e aplicativos, Serviços da AWS para que você possa monitorá-los e arquivá-los com segurança.

  • EventBridgeA Amazon é um serviço de ônibus de eventos sem servidor que ajuda você a conectar seus aplicativos com dados em tempo real de várias fontes. Por exemplo, AWS Lambda funções, endpoints de invocação HTTP usando destinos de API ou barramentos de eventos em outros. Contas da AWS Neste padrão, ele é usado para agendar e orquestrar fluxos de trabalho de agentes.

  • AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.

  • O AWS Lambda é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.

  • AWS SDK para Python (Boto3)é um kit de desenvolvimento de software que ajuda você a integrar seu aplicativo, biblioteca ou script Python com o. Serviços da AWS

  • O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados. Neste padrão, ele fornece armazenamento de objetos para artefatos de agentes e gerenciamento de estado.

Outras ferramentas

  • O CrewAI é uma estrutura de código aberto baseada em Python para criar sistemas de IA multiagente.

  • O Terraform é uma ferramenta de infraestrutura como código (IaC) HashiCorp que ajuda você a criar e gerenciar recursos na nuvem e no local.

Repositório de código

O código desse padrão está disponível no GitHub deploy-crewai-agents-terraformrepositório.

Práticas recomendadas

  • Implemente o gerenciamento de estado adequado para o Terraform usando um backend do Amazon S3 com bloqueio do Amazon DynamoDB. Para obter mais informações, consulte Práticas recomendadas de back-end em Melhores práticas para usar o Terraform AWS Provider.

  • Use espaços de trabalho para separar ambientes de desenvolvimento, preparação e produção.

  • Respeite o princípio de privilégio mínimo, garantindo somente as permissões estritamente necessárias para a execução de uma tarefa. Para obter mais informações, consulte Concessão de privilégio mínimo e nas melhores práticas de segurança na documentação do IAM.

  • Ative o registro e o monitoramento detalhados por meio do CloudWatch Logs.

  • Implemente mecanismos de repetição e tratamento de erros para operações de agentes.

Épicos

TarefaDescriptionHabilidades necessárias

Clonar o repositório.

Para clonar o repositório correspondente a este padrão em sua máquina local, execute o seguinte comando:

git clone "git@github.com:aws-samples/deploy-crewai-agents-terraform.git" cd deploy-crewai-agents-terraform
DevOps engenheiro

Edite as variáveis de ambiente.

Para editar as variáveis de ambiente, faça o seguinte:

  1. Crie um arquivo terraform.tfvars com base no exemplo terraform.tfvars.example no diretório terraform.

  2. Edite as variáveis de ambiente para usar suas próprias informações.

DevOps engenheiro

Crie a infraestrutura.

Para criar a infraestrutura, execute os seguintes comandos:

cd terraform
terraform init
terraform plan

Analise cuidadosamente o plano de execução. Se as alterações propostas estiverem adequadas, execute o seguinte comando:

terraform apply --auto-approve
DevOps engenheiro
TarefaDescriptionHabilidades necessárias

Acesse os agentes.

Os agentes da equipe de Auditoria e Relatórios de Segurança da AWS Infraestrutura são implantados como uma função Lambda. Para acessar os agentes, siga as etapas abaixo:

  1. Faça login no Console de gerenciamento da AWS e abra o AWS Lambda console em https://console.aws.amazon.com/lambda/.

  2. Na página Funções, localize e selecione a função chamada {project_name}\function (conforme definido nas variáveis do Terraform).

  3. Na página da função, você pode realizar as seguintes ações:

    • Visualizar os detalhes da configuração.

    • Monitorar métricas de execução.

    • Exibir CloudWatch registros.

    • Testar a função manualmente.

DevOps engenheiro

(Opcional) Configure a execução manual dos agentes.

Os agentes são configurados para serem executados automaticamente em uma programação diária (meia-noite UTC). No entanto, é possível acioná-los manualmente usando as seguintes etapas:

  1. No console do Lambda, selecione a função chamada {project_name}.

  2. Na página da função, selecione a guia Testar.

  3. Crie um novo evento de teste com um objeto {} JSON vazio.

  4. Para executar a função, escolha Testar.

Para obter mais detalhes, consulte Como testar funções do Lambda no console na documentação do Lambda.

DevOps engenheiro

Acesse os logs do agente para depuração.

Os agentes do CrewAI são executados em um ambiente do Lambda com as permissões necessárias para realizar auditorias de segurança e armazenar relatórios no Amazon S3. O resultado é um relatório de redução que fornece uma análise de segurança abrangente da sua AWS infraestrutura.

Para ajudar na depuração detalhada do comportamento do agente, faça o seguinte:

  1. No Console de gerenciamento da AWS, navegue até CloudWatch Registros.

  2. Encontre o grupo de logs para a função do Lambda.

  3. Procure entradas de log com nomes de agentes (por exemplo, especialista em mapeamento de infraestrutura e analista exploratório de segurança).

  4. Analise os logs para obter insights sobre as ações de cada agente.

DevOps engenheiro

Veja os resultados da execução do agente.

Para visualizar os resultados da execução de um agente, faça o seguinte:

  1. No Console de gerenciamento da AWS, navegue até Amazon S3.

  2. Abra o bucket do Amazon S3 chamado {project_name}-reports-{random_suffix} (conforme definido nas variáveis do Terraform).

Os relatórios são armazenados com nomes de arquivo baseados em carimbo de data/hora da seguinte forma: security-audit-report-YYYY-MM-DD-HH-MM-SS.md)

DevOps engenheiro

Monitore a execução do agente.

Para monitorar a execução dos agentes por meio de CloudWatch registros, faça o seguinte:

  1. No Console de gerenciamento da AWS, navegue até CloudWatch.

  2. Vá para Grupos de logs.

  3. Selecione o grupo de logs chamado /aws/lambda/{project_name}-function.

  4. Em Fluxos de logs, escolha o fluxo de logs mais recente para ver as informações detalhadas de execução.

DevOps engenheiro

Personalize o comportamento do agente.

Para modificar os agentes ou suas tarefas, faça o seguinte:

  1. Atualize os arquivos de configuração em seu repositório local:

    • O arquivo a seguir define o perfil, os recursos e as configurações de cada agente: src/aws_infrastructure_security_audit_and_reporting/config/agents.yaml

    • O arquivo a seguir define as tarefas e os fluxos de trabalho dos agentes:

    src/aws_infrastructure_security_audit_and_reporting/config/tasks.yaml

  2. Para reempacotar e atualizar a função do Lambda, use os seguintes comandos:

cd terraform
terraform apply
DevOps engenheiro
TarefaDescriptionHabilidades necessárias

Exclua os recursos criados.

Para excluir toda a infraestrutura criada por este padrão, execute o seguinte comando:

terraform plan -destroy
Atenção

O comando a seguir excluirá permanentemente todos os recursos criados por este padrão. O comando solicitará confirmação antes de remover quaisquer recursos.

Analise cuidadosamente o plano de exclusão. Se as exclusões propostas estiverem adequadas, execute o seguinte comando:

terraform destroy
DevOps engenheiro

Solução de problemas

ProblemaSolução

Comportamento do agente

Para obter informações sobre este problema, consulte Test and troubleshoot agent behavior na documentação do Amazon Bedrock.

Problemas de rede relacionados ao Lambda

Para obter informações sobre estes problemas, consulte Solucionar problemas de redes no Lambda na documentação do Lambda.

permissões do IAM

Para obter informações sobre estes problemas, consulte Solucionar problemas do IAM na documentação do IAM.

Recursos relacionados

AWS Blogs

AWS documentação

Outros recursos

Mais informações

Esta seção contém informações sobre uma abordagem de implementação, desenvolvimento de ferramentas e considerações de escalabilidade relacionadas à discussão anterior em Automação e escala.

Abordagem da implementação

Considere a seguinte abordagem para adicionar agentes:

  1. Configuração do agente:

    • Adicione novas definições de agente ao arquivo config/agents.yaml.

    • Defina histórias de fundo, metas e ferramentas especializadas para cada agente.

    • Configure os recursos de memória e análise com base na especialidade do agente.

  2. Orquestração de tarefas

    • Atualize o arquivo config/tasks.yaml para incluir novas tarefas específicas de agente.

    • Crie dependências entre as tarefas para ajudar a garantir o fluxo adequado de informações.

    • Implemente a execução paralela de tarefas quando apropriado.

Implementação técnica

Segue abaixo uma adição ao arquivo agents.yaml de uma sugestão de agente especialista em inteligência de ameaças:

Example new agent configuration in agents.yaml threat_intelligence_agent: name: "Threat Intelligence Specialist" role: "Cybersecurity Threat Intelligence Analyst" goal: "Correlate AWS security findings with external threat intelligence" backstory: "Expert in threat intelligence with experience in identifying emerging threats and attack patterns relevant to cloud infrastructure." verbose: true allow_delegation: true tools: - "ThreatIntelligenceTool" - "AWSResourceAnalyzer"

Desenvolvimento de ferramentas

Com a estrutura do CrewAI, você pode realizar as seguintes ações para melhorar a eficácia da sua equipe de auditoria de segurança:

  • Crie ferramentas personalizadas para novos agentes.

  • Integre-se com o externo APIs para obter inteligência contra ameaças.

  • Desenvolva analisadores especializados para diferentes. Serviços da AWS

Considerações sobre escalabilidade

Ao expandir seu sistema de auditoria e emissão de relatórios de segurança de AWS infraestrutura para lidar com ambientes maiores ou auditorias mais abrangentes, considere os seguintes fatores de escalabilidade:

  • Recursos computacionais

    • Aumente a alocação de memória do Lambda para lidar com agentes adicionais.

    • Considere dividir as workloads de agentes em várias funções do Lambda.

  • Gerenciamento de custos

    • Monitore o uso da API do Amazon Bedrock à medida que o número de agentes aumenta.

    • Implemente a ativação seletiva de agentes com base no escopo da auditoria.

  • Eficiência da colaboração

    • Otimize o compartilhamento de informações entre agentes.

    • Implemente estruturas hierárquicas de agentes para ambientes complexos.

  • Aprimoramento da base de conhecimento

    • Forneça aos agentes bases de conhecimento especializadas para seus domínios.

    • Atualize regularmente o conhecimento dos agentes com as novas práticas recomendadas de segurança.