Terapkan sistem agen di Amazon Bedrock dengan framework CreWai dengan menggunakan Terraform - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terapkan sistem agen di Amazon Bedrock dengan framework CreWai dengan menggunakan Terraform

Vanitha Dontireddy, Amazon Web Services

Ringkasan

Pola ini menunjukkan cara menerapkan sistem AI multi-agen yang dapat diskalakan dengan menggunakan kerangka kerja CreWai yang terintegrasi dengan Amazon Bedrock dan Terraform. Solusi ini memungkinkan organisasi untuk membuat, menyebarkan, dan mengelola alur kerja agen AI yang canggih melalui infrastruktur sebagai kode (IAc). Dalam pola ini, kemampuan orkestrasi multi-agen CreWai digabungkan dengan model fondasi Amazon Bedrock dan otomatisasi infrastruktur Terraform. Hasilnya, tim dapat membangun sistem AI siap produksi yang menangani tugas-tugas kompleks dengan pengawasan manusia yang minimal. Pola ini menerapkan keamanan tingkat perusahaan, skalabilitas, dan praktik terbaik operasional.

Prasyarat dan batasan

Prasyarat

Batasan

  • Interaksi agen dibatasi oleh jendela konteks model.

  • Pertimbangan manajemen status Terraform untuk penerapan skala besar berlaku untuk pola ini.

  • Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat AWS Layanan menurut Wilayah. Untuk titik akhir tertentu, lihat Titik akhir dan kuota layanan, dan pilih tautan untuk layanan.

Arsitektur

Dalam pola ini, interaksi berikut terjadi:

  • Amazon Bedrock menyediakan dasar untuk intelijen agen melalui rangkaian model fondasinya (FMs). Ini memungkinkan pemrosesan bahasa alami (NLP), penalaran, dan kemampuan pengambilan keputusan untuk agen AI sambil mempertahankan ketersediaan dan skalabilitas yang tinggi.

  • Kerangka CreWai berfungsi sebagai lapisan orkestrasi inti untuk membuat dan mengelola agen AI. Ini menangani protokol komunikasi agen, delegasi tugas, dan manajemen alur kerja sambil berintegrasi dengan Amazon Bedrock.

  • Terraform mengelola seluruh tumpukan infrastruktur melalui kode, termasuk sumber daya komputasi, jaringan, grup keamanan, dan peran AWS Identity and Access Management (IAM). Ini memastikan penerapan yang konsisten dan dikendalikan versi di seluruh lingkungan. Penerapan Terraform membuat yang berikut:

    • AWS Lambda fungsi untuk menjalankan aplikasi CreWai

    • Bucket Amazon Simple Storage Service (Amazon S3) untuk kode dan laporan

    • Peran IAM dengan izin yang sesuai

    • CloudWatch Pencatatan Amazon

    • Eksekusi terjadwal oleh Amazon EventBridge

Diagram berikut mengilustrasikan arsitektur untuk menerapkan sistem multi-agen CreWai dengan menggunakan Amazon Bedrock dan Terraform.

Alur kerja untuk menerapkan sistem multi-agen CreWai menggunakan Terraform dan Amazon Bedrock.

Diagram menunjukkan alur kerja berikut:

  1. Pengguna mengkloning repositori.

  2. Pengguna menjalankan perintah terraform apply untuk menyebarkan AWS sumber daya.

  3. Konfigurasi model Amazon Bedrock mencakup penentuan model pondasi (FM) yang akan digunakan untuk mengonfigurasi agen CrewAI.

  4. EventBridge Aturan dibuat untuk memicu fungsi Lambda sesuai dengan jadwal yang ditentukan.

  5. Saat dipicu (baik berdasarkan jadwal atau manual), fungsi Lambda menginisialisasi dan mengasumsikan peran IAM dengan izin untuk mengakses dan Amazon Bedrock. Layanan AWS

  6. Kerangka kerja CreWai memuat konfigurasi agen dari file YAMAL dan membuat agen AI khusus (kru audit keamanan AWS infrastruktur). Fungsi Lambda secara berurutan mengeksekusi agen ini untuk memindai AWS sumber daya, menganalisis kerentanan keamanan, dan menghasilkan laporan audit yang komprehensif.

  7. CloudWatch Log menangkap informasi eksekusi terperinci dari fungsi Lambda dengan periode retensi 365 hari AWS Key Management Service dan enkripsi AWS KMS() untuk persyaratan kepatuhan. Log memberikan visibilitas ke aktivitas agen, pelacakan kesalahan, dan metrik kinerja, memungkinkan pemantauan dan pemecahan masalah yang efektif dari proses audit keamanan.

  8. Laporan audit keamanan dibuat dan disimpan secara otomatis di bucket Amazon S3 yang ditentukan. Pengaturan otomatis membantu menjaga pemantauan keamanan yang konsisten dengan overhead operasional minimal.

Setelah penerapan awal, alur kerja menyediakan audit dan pelaporan keamanan berkelanjutan untuk AWS infrastruktur Anda tanpa intervensi manual.

Ikhtisar agen AI

Pola ini menciptakan beberapa agen AI, masing-masing dengan peran, sasaran, dan alat unik:

  • Agen analis keamanan mengumpulkan dan menganalisis informasi AWS sumber daya.

  • Agen penguji penetrasi mengidentifikasi kerentanan dalam sumber daya. AWS

  • Agen pakar kepatuhan memeriksa konfigurasi terhadap standar kepatuhan.

  • Agen penulis laporan mengumpulkan temuan ke dalam laporan komprehensif.

Agen-agen ini berkolaborasi dalam serangkaian tugas, memanfaatkan keterampilan kolektif mereka untuk melakukan audit keamanan dan menghasilkan laporan yang komprehensif. (config/agents.yamlFile tersebut menguraikan kemampuan dan konfigurasi masing-masing agen dalam kru ini.)

Pemrosesan analisis keamanan terdiri dari tindakan berikut:

  1. Agen analis keamanan memeriksa data yang dikumpulkan tentang AWS sumber daya seperti berikut:

    • Instans dan grup keamanan Amazon Elastic Compute Cloud (Amazon EC2)

    • Bucket dan konfigurasi Amazon S3

    • Peran, kebijakan, dan izin IAM

    • Konfigurasi virtual private cloud (VPC) dan pengaturan jaringan

    • Basis data Amazon RDS dan pengaturan keamanan

    • Fungsi dan konfigurasi Lambda

    • Lainnya Layanan AWS dalam lingkup audit

  2. Agen penguji penetrasi mengidentifikasi potensi kerentanan.

  3. Para agen berkolaborasi melalui kerangka CreWai untuk berbagi temuan.

Pembuatan laporan terdiri dari tindakan berikut:

  1. Agen penulis laporan mengumpulkan temuan dari semua agen lainnya.

  2. Masalah keamanan diatur oleh layanan, tingkat keparahan, dan dampak kepatuhan.

  3. Rekomendasi remediasi dihasilkan untuk setiap masalah yang diidentifikasi.

  4. Laporan audit keamanan komprehensif dibuat dalam format penurunan harga dan diunggah ke bucket Amazon S3 yang ditentukan. Laporan historis disimpan untuk pelacakan kepatuhan dan peningkatan postur keamanan.

Kegiatan penebangan dan pemantauan meliputi:

  • CloudWatch log menangkap detail eksekusi dan kesalahan apa pun.

  • Metrik eksekusi Lambda dicatat untuk pemantauan.

catatan

Kode untuk aws-security-auditor-crew bersumber dari repositori GitHub 3P-Agentic_Frameworks, tersedia dalam koleksi Sampel. AWS

Ketersediaan dan skala

Anda dapat memperluas agen yang tersedia ke lebih dari empat agen inti. Untuk menskalakan dengan agen khusus tambahan, pertimbangkan jenis agen baru berikut:

  • Agen spesialis intelijen ancaman dapat melakukan hal berikut:

    • Memantau umpan ancaman eksternal dan berkorelasi dengan temuan internal

    • Memberikan konteks tentang ancaman yang muncul yang relevan dengan infrastruktur Anda

    • Memprioritaskan kerentanan berdasarkan eksploitasi aktif di alam liar

  • Agen kerangka kepatuhan dapat fokus pada bidang peraturan tertentu seperti berikut:

    • Agen kepatuhan Standar Keamanan Data Industri Kartu Pembayaran (PCI DSS)

    • Agen kepatuhan Undang-Undang Portabilitas dan Akuntabilitas Asuransi Kesehatan 1996 (HIPAA)

    • Agen kepatuhan Sistem dan Kontrol Organisasi 2 (SOC 2)

    • Agen kepatuhan Peraturan Perlindungan Data Umum (GDPR)

Dengan memperluas agen yang tersedia secara serius, solusi ini dapat memberikan wawasan keamanan yang lebih dalam dan lebih khusus sambil mempertahankan skalabilitas di seluruh lingkungan yang luas. AWS Untuk informasi selengkapnya tentang pendekatan implementasi, pengembangan alat, dan pertimbangan penskalaan, lihat Informasi tambahan.

Alat

Layanan AWS

  • Amazon Bedrock adalah layanan AI yang dikelola sepenuhnya yang membuat model foundation berkinerja tinggi (FMs) tersedia untuk digunakan melalui API terpadu.

  • Amazon CloudWatch Logs membantu Anda memusatkan log dari semua sistem, aplikasi, Layanan AWS sehingga Anda dapat memantau dan mengarsipkannya dengan aman.

  • Amazon EventBridge adalah layanan bus acara tanpa server yang membantu Anda menghubungkan aplikasi Anda dengan data waktu nyata dari berbagai sumber. Misalnya, AWS Lambda fungsi, titik akhir pemanggilan HTTP menggunakan tujuan API, atau bus acara di tempat lain. Akun AWS Dalam pola ini, ini digunakan untuk menjadwalkan dan mengatur alur kerja agen.

  • AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.

  • AWS Lambdaadalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.

  • AWS SDK untuk Python (Boto3)adalah kit pengembangan perangkat lunak yang membantu Anda mengintegrasikan aplikasi, perpustakaan, atau skrip Python Anda. Layanan AWS

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data. Dalam pola ini, ia menyediakan penyimpanan objek untuk artefak agen dan manajemen negara.

Alat-alat lainnya

  • CrewAI adalah kerangka kerja berbasis Python open source untuk membangun sistem AI multi-agen.

  • Terraform adalah alat infrastruktur sebagai kode (IAc) HashiCorp yang membantu Anda membuat dan mengelola sumber daya cloud dan lokal.

Repositori kode

Kode untuk pola ini tersedia di GitHub deploy-crewai-agents-terraformrepositori.

Praktik terbaik

  • Terapkan manajemen status yang tepat untuk Terraform dengan menggunakan backend Amazon S3 dengan penguncian Amazon DynamoDB. Untuk informasi selengkapnya, lihat Praktik terbaik Backend dalam Praktik terbaik untuk menggunakan Penyedia AWS Terraform.

  • Gunakan ruang kerja untuk memisahkan lingkungan pengembangan, pementasan, dan produksi.

  • Ikuti prinsip hak istimewa terkecil dan berikan izin minimum yang diperlukan untuk melakukan tugas. Untuk informasi selengkapnya, lihat Berikan hak istimewa terkecil dan praktik terbaik Keamanan dalam dokumentasi IAM.

  • Aktifkan pencatatan dan pemantauan terperinci melalui CloudWatch Log.

  • Menerapkan mekanisme coba lagi dan penanganan kesalahan untuk operasi agen.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Kloning repositori.

Untuk mengkloning repositori pola ini di mesin lokal Anda, jalankan perintah berikut:

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

Edit variabel lingkungan.

Untuk mengedit variabel lingkungan, lakukan hal berikut:

  1. Buat terraform.tfvars file dari contoh terraform.tfvars.example di direktori terraform.

  2. Edit variabel lingkungan untuk menggunakan informasi Anda sendiri.

DevOps insinyur

Buat infrastruktur.

Untuk membuat infrastruktur, jalankan perintah berikut:

cd terraform
terraform init
terraform plan

Tinjau rencana eksekusi dengan cermat. Jika perubahan yang direncanakan dapat diterima, maka jalankan perintah berikut:

terraform apply --auto-approve
DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Akses agen.

Agen di Audit Keamanan AWS Infrastruktur dan kru Pelaporan dikerahkan sebagai fungsi Lambda. Untuk mengakses agen, gunakan langkah-langkah berikut:

  1. Masuk ke AWS Management Console dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/.

  2. Pada halaman Functions, temukan dan kemudian pilih fungsi bernama{project_name}\ function (seperti yang didefinisikan dalam variabel Terraform Anda).

  3. Dari halaman fungsi, Anda dapat mengambil tindakan berikut:

    • Lihat detail konfigurasi.

    • Pantau metrik eksekusi.

    • Lihat CloudWatch log.

    • Uji fungsi secara manual.

DevOps insinyur

(Opsional) Konfigurasikan eksekusi manual agen.

Agen dikonfigurasi untuk berjalan secara otomatis pada jadwal harian (tengah malam UTC). Namun, Anda dapat memicunya secara manual dengan menggunakan langkah-langkah berikut:

  1. Di konsol Lambda, pilih fungsi bernama. {project_name}

  2. Pada halaman fungsi, pilih tab Uji.

  3. Buat acara uji baru dengan objek {} JSON kosong.

  4. Untuk menjalankan acara, pilih Uji.

Untuk detail selengkapnya, lihat Menguji fungsi Lambda di konsol dalam dokumentasi Lambda.

DevOps insinyur

Akses log agen untuk debugging.

Agen CreWai berjalan di lingkungan Lambda dengan izin yang diperlukan untuk melakukan audit keamanan dan menyimpan laporan di Amazon S3. Outputnya adalah laporan penurunan harga yang menyediakan analisis keamanan komprehensif AWS infrastruktur Anda.

Untuk membantu proses debug detail perilaku agen, lakukan hal berikut:

  1. Di AWS Management Console, navigasikan ke CloudWatch Log.

  2. Temukan grup log untuk fungsi Lambda Anda.

  3. Cari entri log dengan nama agen (misalnya, spesialis pemetaan infrastruktur dan analis keamanan eksplorasi).

  4. Tinjau log untuk wawasan tentang tindakan masing-masing agen.

DevOps insinyur

Lihat hasil eksekusi agen.

Untuk melihat hasil eksekusi agen, lakukan hal berikut:

  1. Di AWS Management Console, navigasikan ke Amazon S3.

  2. Buka bucket Amazon S3 bernama {project_name}-reports-{random_suffix} (seperti yang ditentukan dalam variabel Terraform Anda).

Laporan disimpan dengan nama file berbasis stempel waktu sebagai berikut: security-audit-report-YYYY-MM-DD-HH-MM-SS.md)

DevOps insinyur

Pantau eksekusi agen.

Untuk memantau eksekusi agen melalui CloudWatch log, lakukan hal berikut:

  1. Di AWS Management Console, navigasikan ke CloudWatch.

  2. Pergi ke Grup log.

  3. Pilih grup log bernama/aws/lambda/{project_name}-function.

  4. Di aliran Log, pilih aliran log terbaru untuk melihat informasi eksekusi terperinci.

DevOps insinyur

Sesuaikan perilaku agen.

Untuk memodifikasi agen atau tugas mereka, lakukan hal berikut:

  1. Perbarui file konfigurasi di repositori lokal Anda:

    • File berikut mendefinisikan peran, kemampuan, dan pengaturan masing-masing agen: src/aws_infrastructure_security_audit_and_reporting/config/agents.yaml

    • Dile berikut mendefinisikan tugas dan alur kerja untuk agen:

    src/aws_infrastructure_security_audit_and_reporting/config/tasks.yaml

  2. Untuk mengemas ulang dan memperbarui fungsi Lambda, gunakan perintah berikut:

cd terraform
terraform apply
DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Hapus sumber daya yang dibuat.

Untuk menghapus semua infrastruktur yang dibuat oleh pola ini, jalankan perintah berikut:

terraform plan -destroy
Awas

Perintah berikut akan secara permanen menghapus semua sumber daya yang dibuat oleh pola ini. Perintah akan meminta konfirmasi sebelum menghapus sumber daya apa pun.

Tinjau rencana penghancuran dengan hati-hati. Jika penghapusan yang direncanakan dapat diterima, maka jalankan perintah berikut:

terraform destroy
DevOps insinyur

Pemecahan Masalah

IsuSolusi

Perilaku agen

Untuk informasi tentang masalah ini, lihat Menguji dan memecahkan masalah perilaku agen dalam dokumentasi Amazon Bedrock.

Masalah jaringan Lambda

Untuk informasi tentang masalah ini, lihat Memecahkan masalah jaringan di Lambda dalam dokumentasi Lambda.

Izin IAM

Untuk informasi tentang masalah ini, lihat Memecahkan Masalah IAM di dokumentasi IAM.

Sumber daya terkait

AWS Blog

AWS dokumentasi

Sumber daya lainnya

Informasi tambahan

Bagian ini berisi informasi tentang pendekatan implementasi, pengembangan alat, dan pertimbangan penskalaan yang terkait dengan diskusi sebelumnya dalam Otomasi dan skala.

Pendekatan implementasi

Pertimbangkan pendekatan berikut untuk menambahkan agen:

  1. Konfigurasi agen:

    • Tambahkan definisi agen baru ke config/agents.yaml file.

    • Tentukan latar belakang, tujuan, dan alat khusus untuk setiap agen.

    • Konfigurasikan kemampuan memori dan analisis berdasarkan spesialisasi agen.

  2. Orkestrasi tugas:

    • Perbarui config/tasks.yaml file untuk menyertakan tugas khusus agen baru.

    • Buat dependensi antar tugas untuk membantu memastikan arus informasi yang tepat.

    • Menerapkan eksekusi tugas paralel jika sesuai.

Implementasi teknis

Berikut ini adalah tambahan pada agents.yaml file untuk agen Spesialis Intelijen Ancaman yang diusulkan:

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"

Pengembangan alat

Dengan kerangka kerja CreWai, Anda dapat mengambil tindakan berikut untuk meningkatkan efektivitas kru audit keamanan Anda:

  • Buat alat khusus untuk agen baru.

  • Integrasikan dengan eksternal APIs untuk intelijen ancaman.

  • Mengembangkan analisa khusus untuk yang berbeda Layanan AWS.

Pertimbangan penskalaan

Saat memperluas sistem Audit dan Pelaporan Keamanan AWS Infrastruktur Anda untuk menangani lingkungan yang lebih besar atau audit yang lebih komprehensif, atasi faktor penskalaan berikut:

  • Sumber daya komputasi

    • Tingkatkan alokasi memori Lambda untuk menangani agen tambahan.

    • Pertimbangkan untuk membagi beban kerja agen di beberapa fungsi Lambda.

  • Manajemen biaya

    • Pantau penggunaan Amazon Bedrock API saat jumlah agen meningkat.

    • Menerapkan aktivasi agen selektif berdasarkan lingkup audit.

  • Efisiensi kolaborasi

    • Optimalkan berbagi informasi antar agen.

    • Menerapkan struktur agen hierarkis untuk lingkungan yang kompleks.

  • Peningkatan basis pengetahuan

    • Menyediakan agen dengan basis pengetahuan khusus untuk domain mereka.

    • Perbarui pengetahuan agen secara teratur dengan praktik terbaik keamanan baru.