View a markdown version of this page

Konfigurasi sistem file untuk AgentCore Runtime - Batu Dasar Amazon AgentCore

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

Konfigurasi sistem file untuk AgentCore Runtime

AgentCore Runtime mendukung sistem file persist filesystemConfigurations en melalui parameter. Setiap konfigurasi memasang penyimpanan di jalur yang Anda tentukan. Anda tidak memerlukan kode pemasangan khusus, wadah istimewa, atau orkestrasi unduhan.

AgentCore Runtime mendukung dua kategori konfigurasi sistem file:

  • Penyimpanan ter kelola — Service-managed penyimpanan di mana AgentCore menangani semua operasi penyimpanan. Ada dua tipe terkelola, satu untuk setiap tipe komputasi:

    • Penyimpanan sesi (Pratinjau) — Per-session penyimpanan pada runtime microVM yang bertahan di seluruh stop/resume siklus. Terisolasi per sesi. Tidak diperlukan VPC.

    • Volume penyedia kapasitas — Volume Amazon EBS pada runtime Instans, ditentukan pada penyedia kapasitas dan dipasang dengan nama logis. Bertahan di seluruh sesi stop/resume.

  • Bring-your-own sistem file — Lampirkan File Amazon S3 Anda sendiri atau titik akses Amazon EFS langsung ke runtime agen Anda. Dibagikan di seluruh sesi dan agen. Diperlukan VPC. Tersedia pada runtime microVM.

Jenis terkelola tergantung pada tipe komputasi runtime Anda. Gunakan penyimpanan sesi pada runtime microVM dan volume penyedia kapasitas pada runtime Instans. Pada runtime microVM, Anda dapat menggabungkan penyimpanan sesi dengan sistem file bawa-sendiri pada runtime agen tunggal (hingga 5 konfigurasi total).

Sekilas tentang opsi penyimpanan

Tabel berikut membandingkan jenis konfigurasi sistem file yang tersedia.

Kategori Tipe Isolasi Tetap Jenis komputasi Diperlukan VPC Terbaik untuk

Dikelola

Penyimpanan sesi (Pratinjau)

Per-session

Bertahan stop/resume; Kedaluwarsa idle 14 hari; disetel ulang pada pembaruan versi

MicroVM saja

Tidak

Ruang gores, paket yang diinstal, kode, file proyek, status agen

Dikelola

Volume penyedia kapasitas

Per-session

Bertahan stop/resume; dipertahankan sampai Anda menghapus sesi

Hanya contoh

Ya (dikonfigurasi pada penyedia kapasitas)

Ruang kosong, file ruang kerja, cache, dan pos pemeriksaan untuk sesi Instans yang berjalan lama

OAK

Amazon S3 Files

Berbagi — beberapa sesi dan agen mengakses data yang sama

Customer-managed (permanen, disinkronkan ke bucket S3)

MicroVM

Ya

Kumpulan data dapat diakses melalui operasi file standar dan API S3

OAK

Amazon EFS

Berbagi — beberapa sesi dan agen mengakses data yang sama

Customer-managed (permanen sampai Anda menghapusnya)

MicroVM

Ya

Pustaka alat bersama, bobot model, kolaborasi multi-agen baca-tulis

Quick start

Daftar periksa berikut menyediakan langkah-langkah ringkas untuk mengonfigurasi setiap jenis sistem file.

Penyimpanan sesi terkelola (Pratinjau)

Penyimpanan sesi tersedia pada runtime microVM.

  1. Tidak diperlukan izin VPC atau IAM tambahan.

  2. Tambahkan --filesystem-configurations '[{"sessionStorage": {"mountPath": "/mnt/workspace"}}]' ke create-agent-runtime atau update-agent-runtime panggilan Anda.

  3. Panggil agen dengan a--runtime-session-id.

  4. Hentikan sesi, lalu lanjutkan dengan hal yang sama--runtime-session-id. Veri /mnt/workspace fikasi menyimpan data Anda.

Volume penyedia kapasitas

Volume penyedia kapasitas tersedia pada runtime Instans.

  1. Tentukan satu atau beberapa volume Amazon EBS bernama pada penyedia kapasitas saat Anda membuatnya (dalamec2Configuration.volumes).

  2. Buat runtime agen dengan capacityProviderConfiguration referensi penyedia kapasitas.

  3. Tambahkan --filesystem-configurations '[{"capacityProviderVolume": {"volumeName": "scratch", "mountPath": "/mnt/scratch"}}]' ke create-agent-runtime panggilan yang sama, mereferensikan volume dengan nama logisnya.

  4. Panggil agen dengan a--runtime-session-id. Hentikan sesi, lalu lanjutkan dengan hal yang sama--runtime-session-id. Veri /mnt/scratch fikasi menyimpan data Anda.

Untuk panduan lengkapnya, lihat Memulai dengan Instans menggunakan AWS CLI.

Bring-your-own sistem file

Titik akses File Amazon S3

  1. Tambahkans3files:ClientMount,s3files:ClientWrite, dan s3files:GetAccessPoint ke peran eksekusi Anda dengan suatu s3files:AccessPointArn kondisi.

  2. Izinkan port TCP 2049 keluar dari grup keamanan runtime agen Anda ke grup keamanan target mount File S3 Anda.

  3. Konfirmasikan target pemasangan File S3 berada di VPC dan Availability Zone yang sama dengan subnet runtime agen Anda.

  4. Tambahkan --filesystem-configurations '[{"s3FilesAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/s3data"}}]' ke create-agent-runtime atau update-agent-runtime panggilan Anda.

  5. Panggil agen. File disin /mnt/s3data kronkan dua arah dengan bucket S3 pendukung.

Titik akses Amazon EFS

  1. Tambahkan elasticfilesystem:ClientMount dan elasticfilesystem:ClientWrite ke peran eksekusi Anda dengan suatu elasticfilesystem:AccessPointArn kondisi.

  2. Izinkan port TCP 2049 keluar dari grup keamanan runtime agen Anda ke grup keamanan target pemasangan EFS Anda.

  3. Konfirmasikan target pemasangan EFS berada di Zona Ketersediaan yang sama dengan setidaknya salah satu subnet runtime agen Anda.

  4. Tambahkan --filesystem-configurations '[{"efsAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/efs"}}]' ke create-agent-runtime atau update-agent-runtime panggilan Anda.

  5. Panggil agen. File Anda tersedia di/mnt/efs.

File S3 dan EFS memerlukan konektivitas VPC pada runtime agen.

Bagaimana setiap jenis bekerja

Bagian berikut menjelaskan bagaimana setiap jenis sistem file beroperasi dalam AgentCore Runtime.

Bring-your-own sistem file

Saat Anda mengonfigurasi sistem file bawa sendiri, AgentCore Runtime memasang titik akses yang ditentukan ke setiap sesi di jalur yang Anda konfigurasikan. Data dibagikan — beberapa sesi, beberapa agen, atau aplikasi eksternal dapat mengakses sistem file yang sama secara bersamaan.

AgentCore menangani semua operasi pemasangan secara otomatis. Anda tidak perlu menginstal mount helper, mengelola sertifikat TLS, atau menulis kode mount di agen Anda.

catatan

Saat Anda membuat titik akses (File S3 atau EFS), Anda menentukan ID pengguna POSIX (UID) dan ID grup (GID). Semua operasi file melalui titik akses dijalankan sebagai identitas ini. Setel agar UID/GID sesuai dengan pengguna yang dijalankan proses container Anda (biasanya 1000:1000 untuk wadah non-root, atau 0:0 untuk root).

Alur pemasangan File Amazon S3

Saat Anda mengonfigurasi titik akses S3 Files, urutan berikut terjadi:

  1. Anda membuat sistem file S3 Files (didukung oleh bucket S3) dan memasang target di VPC Anda.

  2. Anda membuat titik akses S3 Files yang menentukan POSIX UID/GID dan direktori root.

  3. Anda mengonfigurasi runtime agen dengan titik akses ARN dan jalur pemasangan.

  4. Pada pemanggilan dengan ID sesi baru, menyediakan AgentCore microVM dengan akses jaringan ke VPC Anda.

  5. MicroVM memasang sistem file NFSv4.2 melalui TLS dengan otentikasi IAM (port 2049) melalui VPC Anda.

  6. Agen Anda membaca dan menulis file di jalur pemasangan. Perubahan secara otomatis disinkronkan ke bucket S3 pendukung.

S3 Files semantik

  • Sinkronisasi dua arah antara sistem file dan bucket S3 pendukung

  • Close-to-open konsistensi untuk klien NFS; Konsistensi akhir S3 untuk akses sisi bucket

  • Ukuran file maksimal: 48 TiB; kedalaman direktori maks: 1.000 tingkat

  • Tidak didukung: Tautan keras, kelas penyimpanan arsip S3 (Glacier), metadata objek S3 kustom, PNF

Alur pemasangan Amazon EFS

Saat Anda mengonfigurasi titik akses EFS, urutan berikut terjadi:

  1. Anda membuat sistem file EFS dan memasang target di VPC Anda (satu per Zona Ketersediaan).

  2. Anda membuat titik akses EFS yang menentukan POSIX UID/GID dan direktori root.

  3. Anda mengkonfigurasi runtime agen dengan titik akses ARN dan jalur pemasangan.

  4. Pada pemanggilan dengan ID sesi baru, menyediakan AgentCore microVM dengan akses jaringan ke VPC Anda.

  5. MicroVM memasang sistem file NFSv4.1 melalui TLS (port 2049) melalui target mount di Availability Zone yang sama.

  6. Agen Anda membaca dan menulis file di jalur pemasangan menggunakan operasi file standar.

Semantik EFS

  • POSIX penuh: tautan keras, tautan simbolis, penguncian file penasihat

  • Akses baca-tulis bersamaan dari beberapa sesi dan agen

  • Close-to-open konsistensi

  • Ukuran file maksimal: 47,9 TiB; kedalaman direktori maks: 1.000 tingkat

Penyimpanan sesi terkelola (Pratinjau)

Pertahankan status sesi stop/resume dengan konfigurasi sistem file menggunakan penyimpanan sesi terkelola. AgentCore Penyimpanan sesi terkelola runtime adalah kemampuan yang dikelola layanan sepenuhnya di mana AgentCore Runtime menangani semua operasi penyimpanan. Agen Anda membaca dan menulis ke mount sistem file lokal dan lingkungan runtime secara transparan mereplikasi data ke penyimpanan layanan sepanjang durasi sesi.

Penyimpanan sesi diisolasi per sesi — setiap sesi hanya dapat mengakses penyimpanannya sendiri dan tidak dapat membaca atau menulis data dari sesi lain dari runtime agen yang sama atau sesi runtime agen yang berbeda.

Saat Anda mengonfigurasi penyimpanan sesi pada runtime agen, setiap sesi mendapatkan direktori persisten di jalur pemasangan yang Anda tentukan. Siklus hidup bekerja sebagai berikut:

  1. Panggilan pertama pada sesi — Komputasi terisolasi baru disediakan. Agen Anda melihat direktori kosong di jalur pemasangan.

  2. Agen menulis file — Semua operasi file (baca, tulis, mkdir, ganti nama) bekerja seperti biasa, mirip dengan sistem file lokal, dan data direplikasi secara asinkron ke penyimpanan tahan lama.

  3. Sesi berhenti — Komputasi dihentikan. Setiap data yang belum disimpan akan dialirkan ke penyimpanan tahan lama selama shutdown yang anggun.

  4. Lanjutkan dengan sesi yang sama — Komputasi baru disediakan dan status sistem file dipulihkan dari penyimpanan tahan lama. Agen dapat melanjutkan dari tempat tinggalnya.

Semantik sistem file

Penyimpanan sesi menyediakan sistem file Linux standar di jalur pemasangan yang Anda konfigurasi. Alat dan operasi standar bekerja tanpa modifikasi -ls,cat,,mkdir,git, npmpip, dan cargo semua berfungsi seperti yang diharapkan.

Operasi yang didukung

File biasa, direktori, dan symlink. Baca, tulis, ganti nama, hapus,chmod,chown,stat, dan readdir — operasi file POSIX standar yang digunakan oleh alat pengembangan umum.

Batasan

Untuk batas penyimpanan sesi termasuk ukuran penyimpanan maksimum, jumlah file, dan kedalaman direktori, lihat B atas penyimpanan sesi.

Operasi yang tidak didukung

Operasi sistem file berikut tidak didukung:

  • Tautan keras — Gunakan symlink sebagai gantinya.

  • File perangkat, FIFO, atau soket UNIX - tidak mknod didukung.

  • Extended Attributes (xattr) — Alat yang bergantung pada metadata xattr tidak didukung.

  • fallocate — Pralokasi file yang jarang tidak didukung.

  • Penguncian file di seluruh sesi — Kunci penasihat berfungsi dalam sesi yang sedang berjalan tetapi tidak dipertahankan di seluruh stop/resume sesi. Alat yang menggunakan penguncian berbasis file (sepertigit) tidak terpengaruh.

catatan

Izin disimpan tetapi tidak diberlakukan dalam sesi. chmoddan stat bekerja dengan benar, tetapi pemeriksaan akses selalu berhasil karena agen berjalan sebagai satu-satunya pengguna di microVM.

Siklus hidup penyimpanan sesi

Data sesi dihapus (diatur ulang ke keadaan bersih) dalam skenario berikut:

  • Sesi tidak dipanggil selama 14 hari.

  • Versi runtime agen diperbarui. Memanggil sesi setelah pembaruan versi menyediakan sistem file baru.

Gunakan DeleteAgentRuntime atau DeleteAgentRuntimeEndpoint untuk menghapus semua data penyimpanan sesi yang terkait dengan runtime atau titik akhir.

Volume penyedia kapasitas (Instans)

Volume penyedia kapasitas adalah jenis penyimpanan terkelola untuk runtime yang menggunakan tipe komputasi Instans. Alih-alih menentukan penyimpanan pada runtime, Anda menentukan volume Amazon EBS bernama pada penyedia kapasitas, dan runtime memasangnya dengan nama logis. AgentCore membuat, melampirkan, dan menyimpan volume untuk Anda—Anda tidak menyediakan atau memasang volume Amazon EBS sendiri.

Seperti penyimpanan sesi, volume penyedia kapasitas diisolasi per sesi dan bertahan di seluruh sesi stop/resume. Karena sesi pada Instans adalah instans EC2 khusus, volume mengikuti siklus hidup sesi tersebut:

  1. Tentukan volume pada penyedia kapasitas — Saat Anda membuat penyedia kapasitas, daftarkan satu atau lebih volume Amazon EBS diec2Configuration.volumes, masing-masing dengan enkripsi logisname,sizeGiB, dan opsional volumeTypeiops,throughput,, dansnapshotId.

  2. Referensikan volume dari runtime — Tambahkan capacityProviderVolume entri filesystemConfigurations dengan volumeName dan amountPath.

  3. Memanggil agen untuk pertama kalinya — membuat AgentCore volume Amazon EBS dan melampirkannya ke instans EC2 sesi di jalur pemasangan Anda.

  4. Hentikan sesi — AgentCore mengakhiri instance EC2 tetapi mempertahankan volume.

  5. Lanjutkan dengan sesi yang sama — AgentCore menyediakan instance baru dan melampirkan kembali volume yang ada, sehingga data Anda utuh. Sesi yang dimulai ulang mungkin berjalan pada instance dengan patch terbaru.

Volume dipertahankan di seluruh pemberhentian ini, termasuk ketika sesi mencapai masa pakai maksimumnya. Itu dihapus hanya saat Anda menghapus sesi, atau ketika Anda menghapus penyedia kapasitas (yang menghapus sesi dan volumenya).

Untuk informasi tentang mengelola data pada volume ini, lihat Mengel ola data Anda di Instans Runtime.

Agen dapat berbagi volume, tetapi berbagi tidak otomatis. Agar volume dipasang untuk runtime agen, runtime tersebut harus mengkonfigurasi capacityProviderVolume (byvolumeName) yang sama dalam dirinya sendirifilesystemConfigurations. Ketika dua runtime tersebut dipanggil dengan yang samaruntimeSessionId, mereka berjalan pada instance yang sama dan masing-masing memasang volume bersama, sehingga mereka dapat berkolaborasi pada file yang sama. Mengkonfigurasi capacityProviderVolume kontrol volume AgentCore mana yang dipasang untuk runtime; itu tidak, dengan sendirinya, mengisolasi data antar agen dalam sesi. Batas isolasi adalah sesi. Untuk model isolasi sesi dan agen, lihat Model keamanan dan izin untuk Instans Runtime.

Jenis penyimpanan sesi terkelola dan jenis bawa sendiri tidak didukung pada runtime Instans. Jenis-jenis ini adalah sessionStorages3FilesAccessPoint,, danefsAccessPoint. Menentukan salah satu dari mereka di samping capacityProviderConfiguration gagal dengan aValidationException. Untuk cara menentukan volume pada penyedia kapasitas dan memasangnya, lihat Mem ulai dengan Instans menggunakan AWS CLI dan penyimpanan Per sisten di seluruh sesi.

Prasyarat untuk membawa sistem file Anda sendiri

Sebelum Anda mengonfigurasi sistem file bawa-sendiri, lengkapi prasyarat berikut.

Konfigurasi VPC

Runtime agen Anda harus menggunakannetworkMode: VPC. Subnet yang Anda tentukan harus tumpang tindih dengan Zona Ketersediaan target mount sistem file.

Izin IAM

Peran eksekusi runtime agen Anda harus menyertakan izin untuk memasang sistem file.

Izin IAM untuk File S3

{ "Effect": "Allow", "Action": [ "s3files:ClientMount", "s3files:ClientWrite", "s3files:GetAccessPoint" ], "Resource": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>", "Condition": { "ArnEquals": { "s3files:AccessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>" } } }

Izin IAM untuk EFS

{ "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:<region>:<account-id>:file-system/<file-system-id>", "Condition": { "ArnEquals": { "elasticfilesystem:AccessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>" } } }

Hilangkan ClientWrite jika agen Anda hanya membutuhkan akses baca. Iz s3files:GetAccessPoint in diperlukan untuk validasi titik akses S3 Files selama pembuatan runtime agen.

Grup keamanan

Izinkan TCP keluar pada port 2049 dari grup keamanan runtime agen Anda ke grup keamanan target mount. Izinkan TCP masuk pada port 2049 pada grup keamanan target mount dari grup keamanan runtime agen.

Konfigurasikan sistem file

Bagian berikut menunjukkan cara mengkonfigurasi setiap jenis sistem file.

Mengonfigurasi titik akses Amazon S3 Files

Untuk mengonfigurasi titik akses S3 Files, tentukan titik akses ARN dan mount path difilesystemConfigurations. Runtime agen Anda harus menggunakan mode jaringan VPC.

contoh
AWS CLI
  1. aws bedrock-agentcore-control create-agent-runtime \ --agent-runtime-name "data-agent" \ --role-arn "arn:aws:iam::<account-id>:role/AgentExecutionRole" \ --network-configuration '{ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }' \ --agent-runtime-artifact '{ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }' \ --filesystem-configurations '[{ "s3FilesAccessPoint": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "mountPath": "/mnt/datasets" } }]'
AWS SDK
  1. Contoh Python menggunakan boto3 untuk membuat AgentCore Runtime dengan titik akses S3 Files.

    import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="data-agent", roleArn="arn:aws:iam::<account-id>:role/AgentExecutionRole", networkConfiguration={ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }, agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }, filesystemConfigurations=[ { "s3FilesAccessPoint": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "mountPath": "/mnt/datasets" } } ] )

Mengonfigurasi titik akses Amazon EFS

Untuk mengonfigurasi titik akses EFS, tentukan titik akses ARN dan mount path difilesystemConfigurations. Runtime agen Anda harus menggunakan mode jaringan VPC.

contoh
AWS CLI
  1. aws bedrock-agentcore-control create-agent-runtime \ --agent-runtime-name "shared-tools-agent" \ --role-arn "arn:aws:iam::<account-id>:role/AgentExecutionRole" \ --network-configuration '{ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }' \ --agent-runtime-artifact '{ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }' \ --filesystem-configurations '[{ "efsAccessPoint": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "mountPath": "/mnt/tools" } }]'
AWS SDK
  1. Contoh Python menggunakan boto3 untuk membuat AgentCore Runtime dengan titik akses EFS.

    import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="shared-tools-agent", roleArn="arn:aws:iam::<account-id>:role/AgentExecutionRole", networkConfiguration={ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }, agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }, filesystemConfigurations=[ { "efsAccessPoint": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "mountPath": "/mnt/tools" } } ] )

Konfigurasikan penyimpanan sesi terkelola

Tambahkan filesystemConfigurations dengan sessionStorage entri saat membuat atau memperbarui runtime agen.

contoh
AWS CLI
  1. aws bedrock-agentcore-control create-agent-runtime \ --agent-runtime-name "coding-agent" \ --role-arn "arn:aws:iam::111122223333:role/AgentExecutionRole" \ --agent-runtime-artifact '{ "containerConfiguration": { "containerUri": "123456789012.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }' \ --filesystem-configurations '[{ "sessionStorage": { "mountPath": "/mnt/workspace" } }]'
AWS SDK
  1. Contoh Python menggunakan boto3 untuk membuat AgentCore Runtime dengan penyimpanan sesi.

    import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="coding-agent", roleArn="arn:aws:iam::111122223333:role/AgentExecutionRole", agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "123456789012.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }, filesystemConfigurations=[ { "sessionStorage": { "mountPath": "/mnt/workspace" } } ] )

Anda juga dapat menambahkan penyimpanan sesi ke runtime agen yang ada menggunakan UpdateAgentRuntime filesystemConfigurations parameter yang sama.

Mengkonfigurasi volume penyedia kapasitas

Untuk memasang volume penyedia kapasitas, pertama-tama tentukan volume pada penyedia kapasitas. Kemudian referensikan dengan nama filesystemConfigurations saat Anda membuat runtime agen. Ini berlaku untuk runtime yang menggunakan tipe komputasi Instances.

contoh
AWS CLI
  1. Tentukan volume pada penyedia kapasitas (inec2Configuration.volumes) saat Anda membuatnya, lalu referensikan dengan volumeName pada runtime agen.

    aws bedrock-agentcore-control create-agent-runtime \ --agent-runtime-name "instances-agent" \ --role-arn "arn:aws:iam::111122223333:role/AgentRuntimeRole" \ --agent-runtime-artifact '{ "containerConfiguration": { "containerUri": "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }' \ --capacity-provider-configuration '{ "capacityProviderArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:capacity-provider/my_capacity_provider-a1b2c3d4e5" }' \ --filesystem-configurations '[{ "capacityProviderVolume": { "volumeName": "scratch", "mountPath": "/mnt/scratch" } }]'
AWS SDK
  1. Contoh Python menggunakan boto3 untuk membuat AgentCore Runtime on Instances dengan volume penyedia kapasitas.

    import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="instances-agent", roleArn="arn:aws:iam::111122223333:role/AgentRuntimeRole", agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }, capacityProviderConfiguration={ "capacityProviderArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:capacity-provider/my_capacity_provider-a1b2c3d4e5" }, filesystemConfigurations=[ { "capacityProviderVolume": { "volumeName": "scratch", "mountPath": "/mnt/scratch" } } ] )

volumeNameHarus cocok dengan volume yang ditentukan dalam penyedia kapasitasec2Configuration.volumes. Untuk langkah-langkah menentukan volume pada penyedia kapasitas, lihat Mem ulai dengan Instans menggunakan AWS CLI.

Gabungkan sistem file

Anda dapat menggabungkan penyimpanan sesi terkelola dengan sistem file bawa-sendiri pada runtime agen microVM tunggal. Contoh berikut mengkonfigurasi ketiga jenis.

import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="full-stack-agent", roleArn="arn:aws:iam::<account-id>:role/AgentExecutionRole", networkConfiguration={ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }, agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }, filesystemConfigurations=[ { "s3FilesAccessPoint": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "mountPath": "/mnt/datasets" } }, { "efsAccessPoint": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "mountPath": "/mnt/tools" } }, { "sessionStorage": { "mountPath": "/mnt/workspace" } } ] )

Memanggil dan menggunakan penyimpanan persisten

Semua sistem file yang dikonfigurasi tersedia di jalur pemasangan mereka saat agen Anda dipanggil. Bring-your-own sistem file (File S3, EFS) dapat diakses segera pada setiap pemanggilan. Penyimpanan sesi terkelola mempertahankan data di seluruh stop/resume siklus menggunakan yang samaruntimeSessionId.

Contoh: Menggunakan penyimpanan sesi di seluruh stop/resume siklus

# First invocation — agent sets up the project aws bedrock-agentcore invoke-agent-runtime \ --agent-runtime-arn "arn:aws:bedrock-agentcore:us-west-2:111122223333:agent-runtime/coding-agent" \ --runtime-session-id "session-001" \ --payload '{"prompt": "Set up the project and install dependencies in /mnt/workspace"}' # Stop the session aws bedrock-agentcore stop-runtime-session \ --agent-runtime-arn "arn:aws:bedrock-agentcore:us-west-2:111122223333:agent-runtime/coding-agent" \ --runtime-session-id "session-001" # Resume later — the project is exactly where the agent left it aws bedrock-agentcore invoke-agent-runtime \ --agent-runtime-arn "arn:aws:bedrock-agentcore:us-west-2:111122223333:agent-runtime/coding-agent" \ --runtime-session-id "session-001" \ --payload '{"prompt": "Run the tests and fix any failures"}'

Agen melihat /mnt/workspace persis seperti yang ditinggalkannya — file sumber, paket yang diinstal, artefak build, dan riwayat .git semuanya utuh. Saat Anda melanjutkan sesi, lingkungan komputasi baru akan memasang penyimpanan persisten. Agen Anda dapat terus bekerja tanpa menginstal ulang paket atau meregenerasi file.

catatan

Saat menelep StopRuntimeSession on secara eksplisit selalu tunggu sampai selesai sebelum melanjutkan sesi. Ini memastikan semua data disalurkan ke penyimpanan yang tahan lama.

catatan

Jalur yang dipasang hanya tersedia pada saat pemanggilan agen, bukan selama inisialisasi.

Batas

Tabel berikut mencantumkan batas untuk konfigurasi sistem file.

Sumber daya Kuota

Total konfigurasi sistem file per runtime agen

5

Konfigurasi titik akses File S3 maksimum

2

Konfigurasi titik akses EFS maksimum

2

Konfigurasi penyimpanan sesi terkelola maksimum

1

Volume penyedia kapasitas maksimum

5

Konfigurasi total, File S3, EFS, dan batas penyimpanan sesi berlaku untuk runtime microVM. Batas volume penyedia kapasitas ditentukan pada provider kapasitas (ec2Configuration.volumes) bukan per runtime.

Kendala jalur pemasangan

Semua konfigurasi sistem file harus mengikuti aturan jalur pemasangan ini:

  • Harus berada di bawah /mnt/ dengan tepat satu tingkat subdirektori (misalnya,/mnt/data,/mnt/workspace).

  • Pola: /mnt/[a-zA-Z0-9._-]+/?

  • Panjang: 6—200 karakter.

  • Setiap jalur pemasangan harus unik di semua konfigurasi.

  • Mount path tidak boleh menjadi subdirektori satu sama lain.

Perilaku siklus hidup

Tabel berikut membandingkan perilaku siklus hidup di seluruh jenis sistem file yang dikelola dan bawa-sendiri.

Perilaku Penyimpanan sesi terkelola (Pratinjau, MicroVM) Volume penyedia kapasitas (Instans) Bring-your-own (File S3, EFS)

Kedaluwarsa siaga

14 hari tanpa pemanggilan - reset data

Tidak ada — volume dipertahankan di seluruh pemberhentian, termasuk saat sesi mencapai masa pakai maksimumnya

Tidak ada — dikelola pelanggan

Pada pembaruan versi runtime

Data dihapus - sistem file baru pada pemanggilan berikutnya

Data tetap ada - volume dilampirkan kembali pada pemanggilan berikutnya

Tidak ada efek - data tetap ada

Saat menghapus

Data sesi dihapus pada DeleteAgentRuntime

Volume dihapus saat Anda menghapus sesi, atau saat Anda menghapus penyedia kapasitas (yang menghapus sesinya)

Sistem file tidak terpasang; data disimpan di akun Anda

Akses bersamaan

Terisolasi per sesi

Terisolasi per sesi; dapat dibagikan oleh agen dalam sesi yang sama ketika setiap runtime mengonfigurasi volume yang sama

Dibagikan di seluruh sesi dan agen

Kepemilikan

Service-managed oleh AgentCore

Service-managed oleh AgentCore (Amazon EBS di akun Anda)

Customer-managed di AWS akun Anda

penting

Untuk sistem file yang membawa Anda sendiri, pastikan agen Anda menangani akses bersamaan dengan tepat. Gunakan pola penamaan file-per-sesi atau kunci file penasihat untuk menghindari konflik.

Kasus penggunaan

Tabel berikut mencantumkan pola umum dan konfigurasi sistem file yang direkomendasikan untuk masing-masing.

Pola Konfigurasi yang disarankan

Agen pengkodean dengan file proyek persisten (microVM)

Penyimpanan sesi terkelola (Pratinjau) di /mnt/workspace

Ruang kerja persisten untuk agen yang berjalan lama di Instans

Volume penyedia kapasitas di /mnt/workspace

Kumpulan data referensi dapat diakses dari agen dan saluran S3

Titik akses S3 Files di /mnt/datasets

Pustaka alat bersama di semua agen

File S3 atau titik akses EFS di /mnt/tools

Multi-agent kolaborasi di ruang kerja bersama

File S3 atau titik akses EFS di /mnt/shared

Long-running analisis dengan pos pemeriksaan

Penyimpanan sesi untuk pos pemeriksaan + File S3 untuk data input

Full-stack agen (kedua kategori digabungkan)

Penyimpanan sesi+File S3 + EFS (3 dudukan)

Contoh: Agen pengkodean dengan ruang kerja persisten

Contoh ini menunjukkan agen pengkodean menggunakan Strands Agents FileSessionManager untuk riwayat percakapan dan penyimpanan sesi untuk file proyek. Keduanya bertahan melintasi stop/resume siklus.

Agen pengkodean dengan penyimpanan sesi

import os # Enable non-interactive mode for strands tools os.environ["BYPASS_TOOL_CONSENT"] = "true" from strands import Agent from strands.session import FileSessionManager from strands.models import BedrockModel from strands_tools import file_read, file_write, shell from bedrock_agentcore.runtime import BedrockAgentCoreApp app = BedrockAgentCoreApp() WORKSPACE = "/mnt/workspace" model = BedrockModel(model_id="us.anthropic.claude-sonnet-4-20250514-v1:0") tools = [file_read, file_write, shell] @app.entrypoint def handle_request(payload): session_id = payload.get("session_id", "default") # Persist conversation history alongside project files session_manager = FileSessionManager( session_id=session_id, storage_dir=f"{WORKSPACE}/.sessions" ) agent = Agent( model=model, tools=tools, session_manager=session_manager, system_prompt="You are a coding assistant. Project files are in /mnt/workspace." ) response = agent(str(payload.get("prompt", ""))) return {"response": response.message["content"][0]["text"]} if __name__ == "__main__": app.run()

requirements.txt

strands-agents strands-agents-tools bedrock-agentcore boto3

Panggil agen, hentikan sesi, lalu lanjutkan. Baik file proyek dan konteks percakapan tetap ada.

Memanggil, menghentikan, dan melanjutkan siklus

import boto3, json client = boto3.client("bedrock-agentcore") agent_arn = "arn:aws:bedrock-agentcore:us-west-2:111122223333:agent-runtime/coding-agent" session_id = "project-xyz-001" def invoke(prompt): resp = client.invoke_agent_runtime( agentRuntimeArn=agent_arn, runtimeSessionId=session_id, payload=json.dumps({"prompt": prompt, "session_id": "conv-001"}).encode() ) return json.loads(b"".join(resp["response"]))["response"] # First invoke: Create a simple script invoke("Write a Python script called calculator.py with add and subtract functions.") # Stop session — compute terminates, storage persists client.stop_runtime_session(agentRuntimeArn=agent_arn, runtimeSessionId=session_id) # Resume same session — new compute, but files and conversation history restored invoke("Add a multiply function to the script you created.") # Agent knows it created calculator.py (conversation history) # AND finds existing file (file persistence)

Men FileSessionManager yimpan riwayat percakapan ke/mnt/workspace/.sessions/, memungkinkan agen mengingat konteks lintas stop/resume siklus.

Persyaratan jaringan

Bagian ini mencakup persyaratan jaringan untuk penyimpanan sesi terkelola dan sistem file bawa-sendiri.

Jaringan penyimpanan sesi terkelola

Jika runtime agen Anda menggunakan mode VPC dengan penyimpanan sesi, agen memerlukan akses jaringan untuk menyinkronkan dengan penyimpanan jarak jauh. Data sesi disimpan di AgentCore S3, sehingga VPC Anda harus mengizinkan konektivitas keluar ke S3. Jika Anda menggunakan titik akhir S3 Gateway dengan kebijakan khusus, Anda dapat menjangkau akses ke bucket penyimpanan sesi regional Anda sebagai berikut:

"Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::acr-storage-*-region-an", "arn:aws:s3:::acr-storage-*-region-an/*" ], "Condition": { "StringEquals": { "aws:PrincipalServiceName": "bedrock-agentcore.amazonaws.com" } }

Ganti region dengan AWS Wilayah Anda (misalnya,us-west-2).

Bring-your-own jaringan sistem file

Bring-your-own sistem file memerlukan jaringan VPC Anda untuk memenuhi persyaratan berikut untuk pemasangan yang berhasil.

Amazon EFS

  • Pasang target — Sistem file EFS Anda harus memiliki target pemasangan setidaknya di salah satu Zona Ketersediaan tempat subnet runtime agen Anda berada. Pasang target di semua Zona Ketersediaan subnet yang dikonfigurasi disarankan untuk ketersediaan tinggi.

  • Satu VPC pada satu waktu — Sistem file EFS dapat memiliki target pemasangan hanya dalam satu VPC pada satu waktu. Cross-account Pemasangan VPC tidak didukung untuk AgentCore.

  • Penyelarasan Zona Ketersediaan — Subnet runtime agen dan target pemasangan EFS harus berbagi setidaknya satu Zona Ketersediaan umum. Cross-AZ Lalu lintas NFS berfungsi tetapi menambahkan latensi dan biaya transfer data.

  • Resolusi DNS — VPC Anda harus mengaktifkan nama host DNS dan resolusi DNS. Agen menyelesaikan nama host target mount <az-id>.<file-system-id>.efs.<region>.amazonaws.com pada waktu pemasangan.

Untuk memeriksa target pemasangan EFS Anda:

aws efs describe-mount-targets --file-system-id fs-0123456789abcdef0 --region us-west-2

Untuk informasi lengkap tentang target pemasangan EFS, lihat Cara kerja Amazon EFS.

Amazon S3 Files

  • Pasang target — Sistem file S3 File Anda harus memiliki target mount di VPC yang sama dengan runtime agen. Target mount harus berada di setidaknya satu dari Availability Zone yang sama dengan subnet runtime agen Anda.

  • Satu target pemasangan per AZ — Setiap Zona Ketersediaan dapat memiliki paling banyak satu target pemasangan File S3.

  • VPC yang sama — Target pemasangan File S3 harus berada di VPC yang sama dengan runtime agen. Cross-VPC akses sistem file tidak didukung.

  • Resolusi DNS — VPC Anda harus menyelesaikan nama host target mount S3 Files <az-id>.<file-system-id>.s3files.<region>.on.aws pada waktu pemasangan. Pastikan resolusi DNS diaktifkan di pengaturan VPC Anda.

Untuk memeriksa target pemasangan File S3 Anda:

aws s3files list-mount-targets --file-system-id fs-0123456789abcdef0 --region us-west-2

Untuk informasi lengkap tentang pemasangan File S3, lihat Mem asang sistem file S3.

Persyaratan bersama

Persyaratan EFS S3 Files

Mode VPC diperlukan

✓

✓

Port NFS 2049 (TCP)

✓

✓

Pasang target di AZ yang sama

✓ (disarankan)

✓ (wajib)

VPC yang sama

✓

✓

AWS Akun yang sama

✓

✓

Resolusi DNS diaktifkan

✓

✓

Cross-account VPC

✗ Tidak didukung

✗ Tidak didukung

penting

Cross-account Konfigurasi VPC tidak didukung. Sumber daya sistem file (sistem file, titik akses, target pemasangan) dan runtime agen harus berada di AWS akun dan VPC yang sama.

Bagaimana AgentCore memasang sistem file

AgentCore menangani operasi pemasangan NFS di dalam microVM secara otomatis:

  • EFS — Dipasang NFSv4.1 melalui TLS (port 2049). Otentikasi IAM digunakan ketika peran eksekusi memiliki elasticfilesystem:ClientMount izin dengan suatu AccessPointArn kondisi.

  • File S3 - Dipasang NFSv4.2 melalui TLS dengan otentikasi IAM wajib. TLS dan IAM selalu diaktifkan dan tidak dapat dinonaktifkan untuk File S3.

Anda tidak perlu menginstalamazon-efs-utils, mengkonfigurasi/etc/fstab, atau mengelola sertifikat TLS. Runtime MicroVM menangani semua operasi pemasangan, rotasi kredensia, dan pemantauan kesehatan.

Pemilihan Subnet dan Zona Ketersediaan

Saat Anda mengonfigurasi subnet VPC dan konfigurasi sistem file pada runtime agen, pilih subnet yang tumpang tindih dengan Zona Ketersediaan target pemasangan sistem file Anda.

Untuk mengidentifikasi ID Zona Ketersediaan subnet Anda:

aws ec2 describe-subnets \ --subnet-ids subnet-0123456789abcdef0 \ --query 'Subnets[0].AvailabilityZoneId'

Untuk mengidentifikasi Zona Ketersediaan target pemasangan EFS Anda:

aws efs describe-mount-targets \ --file-system-id fs-0123456789abcdef0 \ --query 'MountTargets[*].[AvailabilityZoneId, LifeCycleState]' \ --output table

Pastikan subnet runtime agen Anda berada di Availability Zone tempat sistem file Anda memiliki target mount.

Untuk Zona Ketersediaan yang didukung menurut wilayah, lihat Zona Ketersediaan yang Di dukung di topik konfigurasi VPC. Untuk konfigurasi grup keamanan, lihat Contoh: Menghubungkan ke Amazon EFS atau File Amazon S3.

Memecahkan masalah pemasangan sistem file bawa-Anda sendiri

Ketika pemasangan sistem file bring-your-own gagal, InvokeAgentRuntime mengembalikan HTTP 424 (Ketergantungan Gagal).

Gejala Kemungkinan penyebabnya Perbaikan cepat

“Akses ditolak”

Peran eksekusi hilang ClientMount atau ClientWrite

Tambahkan izin IAM dengan kondisi AccessPointArn

“ResourceNotFound" atau “Gagal menyelesaikan”

Titik akses atau target mount dihapus atau tidak tersedia

Verifikasi ARN ada dan target pemasangan Tersedia

Mount hang kemudian gagal (~ 30s)

Grup keamanan memblokir port 2049 atau tidak ada target pemasangan di Zona Ketersediaan agen

Izinkan TCP 2049; verifikasi Zona Ketersediaan tumpang tindih

“Izin ditolak” pada tulisan

Hilang ClientWrite atau ketidakcocokan POSIX UID/GID

Tambahkan izin tulis atau sejajarkan titik akses pengguna POSIX

Setiap mount memiliki batas waktu 30 detik. Semua sistem file yang dikonfigurasi dipasang secara paralel — kegagalan tunggal menyebabkan seluruh pemanggilan gagal.

Untuk informasi selengkapnya, lihat Memec ahkan masalah penyimpanan BYO.