Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Implementa sistemi agentici su Amazon Bedrock con il framework CrewAI utilizzando Terraform
Vanitha Dontireddy, Amazon Web Services
Riepilogo
Questo modello dimostra come implementare sistemi di intelligenza artificiale scalabili multiagente utilizzando il framework CrewAI
Prerequisiti e limitazioni
Prerequisiti
Un dispositivo attivo Account AWS con le autorizzazioni appropriate per accedere ai modelli Amazon Bedrock Foundation
Limitazioni
Le interazioni con gli agenti sono limitate dalle finestre di contesto del modello.
A questo modello si applicano le considerazioni sulla gestione dello stato di Terraform per le implementazioni su larga scala.
Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per la disponibilità regionale, vedi AWS Servizi per regione
. Per endpoint specifici, consulta Service endpoints and quotas e scegli il link relativo al servizio.
Architettura
In questo schema, si verificano le seguenti interazioni:
Amazon Bedrock fornisce le basi per l'intelligence degli agenti attraverso la sua suite di modelli di base (FMs). Abilita l'elaborazione del linguaggio naturale (NLP), il ragionamento e le capacità decisionali per gli agenti di intelligenza artificiale, mantenendo al contempo disponibilità e scalabilità elevate.
Il framework CrewAI funge da livello di orchestrazione principale per la creazione e la gestione di agenti AI. Gestisce i protocolli di comunicazione degli agenti, la delega delle attività e la gestione del flusso di lavoro integrandosi con Amazon Bedrock.
Terraform gestisce l'intero stack di infrastruttura tramite codice, incluse risorse di calcolo, reti, gruppi di sicurezza e AWS Identity and Access Management ruoli (IAM). Garantisce implementazioni coerenti e controllate dalla versione in tutti gli ambienti. L'implementazione di Terraform crea quanto segue:
AWS Lambda funzione per eseguire l'applicazione CrewAI
Bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) per codice e report
Ruoli IAM con autorizzazioni appropriate
CloudWatch Registrazione su Amazon
Esecuzione programmata da Amazon EventBridge
Il diagramma seguente illustra l'architettura per la distribuzione di sistemi multiagente CrewAI utilizzando Amazon Bedrock e Terraform.

Il diagramma mostra il flusso di lavoro seguente:
L'utente clona il repository.
L'utente esegue il comando
terraform apply
per distribuire le risorse. AWSLa configurazione del modello Amazon Bedrock include la specifica del modello di base (FM) da utilizzare per configurare gli agenti CrewAI.
Viene stabilita una EventBridge regola per attivare la funzione Lambda in base alla pianificazione definita.
Quando viene attivata (tramite pianificazione o manualmente), la funzione Lambda inizializza e assume il ruolo IAM con autorizzazioni di accesso e Amazon Bedrock. Servizi AWS
Il framework CrewAI carica le configurazioni degli agenti dai file YAML e crea agenti AI specializzati (il team di controllo della sicurezza dell'infrastruttura).AWS La funzione Lambda esegue in sequenza questi agenti per scansionare AWS le risorse, analizzare le vulnerabilità di sicurezza e generare report di controllo completi.
CloudWatch Logs acquisisce informazioni dettagliate sull'esecuzione dalla funzione Lambda con un periodo di conservazione di 365 giorni e crittografia AWS Key Management Service ()AWS KMS per i requisiti di conformità. I log forniscono visibilità sulle attività degli agenti, sul monitoraggio degli errori e sulle metriche delle prestazioni, consentendo un monitoraggio e una risoluzione dei problemi efficaci del processo di controllo di sicurezza.
Il rapporto di controllo di sicurezza viene generato automaticamente e archiviato nel bucket Amazon S3 designato. La configurazione automatizzata aiuta a mantenere un monitoraggio costante della sicurezza con un sovraccarico operativo minimo.
Dopo l'implementazione iniziale, il flusso di lavoro fornisce controlli e report di sicurezza continui per l' AWS infrastruttura senza intervento manuale.
Panoramica degli agenti AI
Questo modello crea più agenti di intelligenza artificiale, ciascuno con ruoli, obiettivi e strumenti unici:
L'agente analista della sicurezza raccoglie e analizza AWS le informazioni sulle risorse.
L'agente penetration tester identifica le vulnerabilità nelle risorse. AWS
L'agente esperto di conformità verifica le configurazioni rispetto agli standard di conformità.
L'agente che redige i report compila i risultati in report completi.
Questi agenti collaborano su una serie di attività, sfruttando le proprie competenze collettive per eseguire controlli di sicurezza e generare report completi. (Il config/agents.yaml
file descrive le capacità e le configurazioni di ciascun agente di questo team.)
L'elaborazione dell'analisi della sicurezza consiste nelle seguenti azioni:
L'agente di analisi della sicurezza esamina i dati raccolti su AWS risorse come le seguenti:
Istanze e gruppi di sicurezza di Amazon Elastic Compute Cloud (Amazon EC2)
Bucket e configurazioni Amazon S3
Ruoli, politiche e autorizzazioni IAM
Configurazioni e impostazioni di rete del cloud privato virtuale (VPC)
Database e impostazioni di sicurezza di Amazon RDS
Funzioni e configurazioni Lambda
Altro Servizi AWS nell'ambito dell'audit
L'agente del penetration tester identifica potenziali vulnerabilità.
Gli agenti collaborano tramite il framework CrewAI per condividere i risultati.
La generazione di report consiste nelle seguenti azioni:
L'agente autore del report raccoglie i risultati di tutti gli altri agenti.
I problemi di sicurezza sono organizzati in base al servizio, alla gravità e all'impatto sulla conformità.
Per ogni problema identificato vengono generati consigli per la correzione.
Un report completo di audit di sicurezza viene creato in formato markdown e caricato nel bucket Amazon S3 designato. I report storici vengono conservati per il monitoraggio della conformità e il miglioramento del livello di sicurezza.
Le attività di registrazione e monitoraggio includono:
CloudWatch i registri registrano i dettagli di esecuzione e gli eventuali errori.
Le metriche di esecuzione Lambda vengono registrate per il monitoraggio.
Nota
Il codice per aws-security-auditor-crew
proviene dal repository GitHub 3P-Agentic_Frameworks
Disponibilità e scalabilità
È possibile espandere gli agenti disponibili a più di quattro agenti principali. Per ampliare la gamma con agenti specializzati aggiuntivi, prendete in considerazione i seguenti nuovi tipi di agenti:
Un agente specializzato in intelligence sulle minacce può fare quanto segue:
Monitora i feed di minacce esterne e li correla con i risultati interni
Fornisce un contesto sulle minacce emergenti rilevanti per l'infrastruttura
Assegna priorità alle vulnerabilità in base allo sfruttamento attivo in ambiente naturale
Gli agenti del framework di conformità possono concentrarsi su aree normative specifiche come le seguenti:
Agente di conformità allo standard PCI DSS (Payment Card Industry Data Security Standard)
Responsabile della conformità all'Health Insurance Portability and Accountability Act del 1996 (HIPAA)
Agente di conformità di System and Organization Controls 2 (SOC 2)
Responsabile della conformità al Regolamento generale sulla protezione dei dati (GDPR)
Ampliando attentamente gli agenti disponibili, questa soluzione può fornire informazioni sulla sicurezza più approfondite e specializzate, mantenendo al contempo la scalabilità in ambienti di grandi dimensioni. AWS Per ulteriori informazioni sull'approccio di implementazione, sullo sviluppo degli strumenti e sulle considerazioni sulla scalabilità, consulta Informazioni aggiuntive.
Strumenti
Servizi AWS
Amazon Bedrock è un servizio di intelligenza artificiale completamente gestito che rende disponibili modelli di base ad alte prestazioni (FMs) per l'uso tramite un'API unificata.
Amazon CloudWatch Logs ti aiuta a centralizzare i log di tutti i tuoi sistemi e applicazioni, Servizi AWS così puoi monitorarli e archiviarli in modo sicuro.
Amazon EventBridge è un servizio di bus eventi senza server che ti aiuta a connettere le tue applicazioni con dati in tempo reale provenienti da una varietà di fonti. Ad esempio, AWS Lambda funzioni, endpoint di invocazione HTTP che utilizzano destinazioni API o bus di eventi in altro modo. Account AWS In questo modello, viene utilizzato per pianificare e orchestrare i flussi di lavoro degli agenti.
AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
AWS Lambda è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
AWS SDK per Python (Boto3)
è un kit di sviluppo software che ti aiuta a integrare la tua applicazione, libreria o script Python con. Servizi AWS Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati. In questo modello, fornisce l'archiviazione degli oggetti per gli artefatti degli agenti e la gestione dello stato.
Altri strumenti
Archivio di codici
Il codice per questo pattern è disponibile nel GitHub deploy-crewai-agents-terraform
Best practice
Implementa una corretta gestione dello stato per Terraform utilizzando un backend Amazon S3 con blocco Amazon DynamoDB. Per ulteriori informazioni, consulta le migliori pratiche di backend in Le migliori pratiche per l'utilizzo del provider Terraform. AWS
Usa gli spazi di lavoro per separare gli ambienti di sviluppo, allestimento e produzione.
Segui il principio del privilegio minimo e concedi le autorizzazioni minime necessarie per eseguire un'attività. Per ulteriori informazioni, consulta le best practice relative alla concessione dei privilegi minimi e alla sicurezza nella documentazione IAM.
Abilita la registrazione e il monitoraggio dettagliati tramite CloudWatch Logs.
Implementa meccanismi di ripetizione dei tentativi e gestione degli errori per le operazioni degli agenti.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Clonare il repository. | Per clonare l'archivio di questo pattern sul computer locale, esegui il seguente comando:
| DevOps ingegnere |
Modifica le variabili di ambiente. | Per modificare le variabili di ambiente, procedi come segue:
| DevOps ingegnere |
Crea l'infrastruttura. | Per creare l'infrastruttura, esegui i seguenti comandi:
Esamina attentamente il piano di esecuzione. Se le modifiche pianificate sono accettabili, esegui il seguente comando:
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Accedi agli agenti. | Gli agenti del team di AWS Infrastructure Security Audit and Reporting vengono implementati come funzione Lambda. Per accedere agli agenti, procedi nel seguente modo:
| DevOps ingegnere |
(Facoltativo) Configurare l'esecuzione manuale degli agenti. | Gli agenti sono configurati per essere eseguiti automaticamente in base a una pianificazione giornaliera (mezzanotte UTC). Tuttavia, puoi attivarli manualmente utilizzando i seguenti passaggi:
Per maggiori dettagli, consulta Testare le funzioni Lambda nella console nella documentazione di Lambda. | DevOps ingegnere |
Accedi ai log degli agenti per il debug. | Gli agenti CrewAI funzionano in un ambiente Lambda con le autorizzazioni necessarie per eseguire controlli di sicurezza e archiviare report in Amazon S3. L'output è un rapporto di markdown che fornisce un'analisi completa della sicurezza dell'infrastruttura. AWS Per facilitare il debug dettagliato del comportamento degli agenti, procedi come segue:
| DevOps ingegnere |
Visualizza i risultati dell'esecuzione dell'agente. | Per visualizzare i risultati dell'esecuzione di un agente, effettuate le seguenti operazioni:
I report vengono archiviati con nomi di file basati su timestamp come segue: | DevOps ingegnere |
Monitora l'esecuzione degli agenti. | Per monitorare l'esecuzione degli agenti tramite i CloudWatch log, effettuate le seguenti operazioni:
| DevOps ingegnere |
Personalizza il comportamento degli agenti. | Per modificare gli agenti o le loro attività, procedi come segue:
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Eliminare le risorse create. | Per eliminare tutta l'infrastruttura creata da questo modello, esegui il seguente comando:
avvertimentoIl comando seguente eliminerà definitivamente tutte le risorse create da questo pattern. Il comando richiederà una conferma prima di rimuovere qualsiasi risorsa. Esamina attentamente il piano di distruzione. Se le eliminazioni pianificate sono accettabili, esegui il seguente comando:
| DevOps ingegnere |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
Comportamento dell'agente | Per informazioni su questo problema, consulta Test e risoluzione dei problemi del comportamento degli agenti nella documentazione di Amazon Bedrock. |
Problemi relativi alla rete Lambda | Per informazioni su questi problemi, consulta Risoluzione dei problemi di rete in Lambda nella documentazione di Lambda. |
Autorizzazioni IAM | Per informazioni su questi problemi, consulta Risoluzione dei problemi di IAM nella documentazione IAM. |
Risorse correlate
AWS Blog
AWS documentazione
Altre risorse
Informazioni aggiuntive
Questa sezione contiene informazioni su un approccio di implementazione, sullo sviluppo di strumenti e su considerazioni sulla scalabilità relative alla discussione precedente in Automazione e scalabilità.
Approccio all'implementazione
Considerate il seguente approccio all'aggiunta di agenti:
Configurazione dell'agente:
Aggiungere nuove definizioni degli agenti al
config/agents.yaml
file.Definisci retroscena, obiettivi e strumenti specializzati per ogni agente.
Configura le funzionalità di memoria e analisi in base alla specializzazione dell'agente.
Orchestrazione delle attività:
Aggiorna il
config/tasks.yaml
file per includere nuove attività specifiche per l'agente.Crea dipendenze tra le attività per garantire un flusso di informazioni adeguato.
Implementare l'esecuzione parallela delle attività laddove appropriato.
Implementazione tecnica
Di seguito è riportata un'aggiunta al agents.yaml
file relativo a un agente Threat Intelligence Specialist 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"
Sviluppo di strumenti
Con il framework CrewAI, puoi intraprendere le seguenti azioni per migliorare l'efficacia del personale addetto ai controlli di sicurezza:
Crea strumenti personalizzati per i nuovi agenti.
Integrazione con sistemi esterni APIs per l'intelligence sulle minacce.
Sviluppa analizzatori specializzati per diversi tipi di applicazioni. Servizi AWS
Considerazioni sulla scalabilità
Quando espandi il tuo sistema di audit e reporting sulla sicurezza AWS dell'infrastruttura per gestire ambienti più grandi o audit più completi, tieni conto dei seguenti fattori di scalabilità:
Risorse computazionali
Aumenta l'allocazione della memoria Lambda per gestire agenti aggiuntivi.
Prendi in considerazione la possibilità di suddividere i carichi di lavoro degli agenti tra più funzioni Lambda.
Gestione dei costi
Monitora l'utilizzo dell'API Amazon Bedrock man mano che aumenta il numero di agenti.
Implementa l'attivazione selettiva degli agenti in base all'ambito dell'audit.
Efficienza della collaborazione
Ottimizza la condivisione delle informazioni tra agenti.
Implementa strutture gerarchiche di agenti per ambienti complessi.
Miglioramento della base di conoscenze
Fornisci agli agenti basi di conoscenza specializzate per i loro domini.
Aggiorna regolarmente le conoscenze degli agenti con nuove best practice di sicurezza.