Implemente sistemas agentes no Amazon Bedrock com a estrutura 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á.

Implemente sistemas agentes no Amazon Bedrock com a estrutura CrewAI usando o Terraform

Vanitha Dontireddy, Amazon Web Services

Resumo

Esse padrão demonstra como implementar sistemas de IA multiagentes escaláveis usando a estrutura 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). Nesse padrão, os recursos de orquestração multiagente da CrewAI se combinam com os modelos básicos 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 melhores práticas operacionais, de escalabilidade e de segurança de nível corporativo.

Pré-requisitos e limitações

Pré-requisitos

Limitações

  • As interações do agente 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 esse padrão.

  • Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para saber a disponibilidade da região, consulte AWS Serviços por região. Para endpoints específicos, consulte Endpoints e cotas de serviço e escolha o link para o serviço.

Arquitetura

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

  • 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 (NLP), raciocínio e tomada de decisão para os agentes de IA, mantendo alta disponibilidade e escalabilidade.

  • A estrutura CrewAI serve como a principal camada de orquestração para criar e gerenciar agentes de IA. Ele 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 controladas por 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ódigos e relatórios

    • Funções do IAM com permissões apropriadas

    • CloudWatch Registro na Amazon

    • Execução programada pela Amazon EventBridge

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

Fluxo de trabalho para implantar sistemas multiagentes 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 Amazon Bedrock inclui a especificação do modelo básico (FM) a ser usado para configurar os agentes 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 CrewAI carrega configurações de agentes a partir de arquivos YAML e cria agentes de IA especializados (a equipe de auditoria de segurança da AWS infraestrutura). 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 registros fornecem visibilidade das atividades do agente, do rastreamento de erros e das métricas de desempenho, 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 designado do Amazon S3. 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

Esse 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 config/agents.yaml arquivo descreve os recursos e as 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)

    • Buckets e configurações do Amazon S3

    • Funções, políticas e permissões do IAM

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

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

    • Funções e configuraçõ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 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 designado do Amazon S3. Os relatórios históricos são preservados para rastreamento de conformidade e melhoria da postura de segurança.

As atividades de registro 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:

    • Monitora os feeds de ameaças externas e correlaciona com as descobertas internas

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

    • Prioriza vulnerabilidades com base na exploração ativa na natureza

  • 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 Seguros de Saúde de 1996 (HIPAA)

    • Agente de conformidade do System and Organization Controls 2 (SOC 2)

    • Agente de conformidade com o Regulamento Geral de Proteção de Dados (GDPR)

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 Nesse 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. Nesse 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 multiagentes.

  • 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 back-end do Amazon S3 com bloqueio do Amazon DynamoDB. Para obter mais informações, consulte Práticas recomendadas de back-end em Práticas recomendadas para usar o Terraform AWS Provider.

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

  • Siga o princípio do privilégio mínimo e conceda as permissões mínimas necessárias para realizar 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

TarefaDescriçãoHabilidades necessárias

Clonar o repositório.

Para clonar o repositório desse 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 terraform.tfvars arquivo a partir do 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

Revise o plano de execução com cuidado. Se as alterações planejadas forem aceitáveis, execute o seguinte comando:

terraform apply --auto-approve
DevOps engenheiro
TarefaDescriçãoHabilidades 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, use as seguintes etapas:

  1. Faça login no AWS Management Console 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:

    • Veja os detalhes da configuração.

    • Monitore as métricas de execução.

    • Exibir CloudWatch registros.

    • Teste 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, você pode acioná-los manualmente usando as seguintes etapas:

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

  2. Na página da função, escolha a guia Teste.

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

  4. Para executar o evento, escolha Testar.

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

DevOps engenheiro

Acesse os registros do agente para depuração.

Os agentes da CrewAI estão sendo executados em um ambiente 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 AWS Management Console, navegue até CloudWatch Registros.

  2. Encontre o grupo de registros para sua função Lambda.

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

  4. Analise os registros para obter informações 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. Em AWS Management Console, navegue até Amazon S3.

  2. Abra o bucket 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 AWS Management Console, navegue até CloudWatch.

  2. Acesse Grupos de registros.

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

  4. Em Streams de log, escolha o stream de log mais recente para ver 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 a função, 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 Lambda, use os seguintes comandos:

cd terraform
terraform apply
DevOps engenheiro
TarefaDescriçãoHabilidades necessárias

Exclua os recursos criados.

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

terraform plan -destroy
Atenção

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

Revise o plano de destruição com cuidado. Se as exclusões planejadas forem aceitáveis, execute o seguinte comando:

terraform destroy
DevOps engenheiro

Solução de problemas

ProblemaSolução

Comportamento do agente

Para obter informações sobre esse problema, consulte Testar e solucionar problemas de comportamento do agente na documentação do Amazon Bedrock.

Problemas de rede Lambda

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

permissões do IAM

Para obter informações sobre esses 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 de implementação

Considere a seguinte abordagem para adicionar agentes:

  1. Configuração do agente:

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

    • 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 config/tasks.yaml arquivo para incluir novas tarefas específicas do 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

A seguir está uma adição ao agents.yaml arquivo de um agente especializado em inteligência de ameaças proposto:

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 CrewAI, você pode realizar as seguintes ações para aprimorar 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 Lambda para lidar com agentes adicionais.

    • Considere dividir as cargas de trabalho do agente em várias funções do Lambda.

  • Gerenciamento de custos

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

    • Implemente a ativação seletiva do agente com base no escopo da auditoria.

  • Eficiência de 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 do agente com as novas práticas recomendadas de segurança.