View a markdown version of this page

Konfigurasi sistem file untuk AgentCore Runtime - Batuan Dasar Amazon AgentCore

Konfigurasi sistem file untuk AgentCore Runtime

AgentCore Runtime mendukung sistem file persisten melalui filesystemConfigurations 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 sesi terkelola (Pratinjau) — penyimpanan Service-managed per sesi yang bertahan di seluruh siklus. stop/resume Terisolasi per sesi. Tidak diperlukan VPC.

  • 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. VPC diperlukan.

Anda dapat menggabungkan kedua kategori pada satu runtime agen (hingga 5 konfigurasi total).

Sekilas tentang opsi penyimpanan

Tabel berikut membandingkan jenis konfigurasi sistem file yang tersedia.

Kategori Tipe Isolasi Tetap VPC diperlukan Terbaik untuk

Dikelola

Penyimpanan sesi (Pratinjau)

Per-session

Bertahan stop/resume; Kedaluwarsa idle 14 hari; me-reset pada pembaruan versi

Tidak

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

BYO

Amazon S3 Files

Berbagi — beberapa sesi dan agen mengakses data yang sama

Customer-managed (permanen, disinkronkan ke ember S3)

Ya

Kumpulan data dapat diakses melalui operasi file standar dan API S3

BYO

Amazon EFS

Berbagi — beberapa sesi dan agen mengakses data yang sama

Customer-managed (permanen sampai Anda menghapusnya)

Ya

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

Quick start

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

Penyimpanan sesi terkelola (Pratinjau)

  1. Tidak diperlukan VPC atau izin IAM tambahan.

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

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

  4. Hentikan sesi, lalu lanjutkan dengan yang sama--runtime-session-id. /mnt/workspaceVerifikasi menyimpan data Anda.

Bring-your-own sistem berkas

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 pemasangan 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 update-agent-runtime panggilan create-agent-runtime atau panggilan Anda.

  5. Panggil agen. File /mnt/s3data disinkronkan 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 bahwa target pemasangan EFS berada di Availability Zone yang sama dengan setidaknya salah satu subnet runtime agen Anda.

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

Saat Anda mengonfigurasi sistem file yang dibawa 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 jalur akses berjalan sebagai identitas ini. Atur UID/GID agar sesuai dengan pengguna yang dijalankan proses penampung Anda (biasanya 1000:1000 untuk wadah non-root, atau 0:0 untuk root).

Aliran pemasangan File Amazon S3

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

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

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

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

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

  5. MicroVM memasang sistem file NFSv4.2 melalui TLS dengan autentikasi 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 File semantik

  • Sinkronisasi dua arah antara sistem file dan backing bucket S3

  • Close-to-open konsistensi untuk klien NFS; S3 konsistensi akhirnya untuk akses sisi ember

  • Ukuran file maks: 48 TiB; kedalaman direktori maks: 1.000 level

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

Aliran pemasangan Amazon EFS

Saat Anda mengonfigurasi titik akses EFS, urutan berikut akan terjadi:

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

  2. Anda membuat titik akses EFS 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, AgentCore berikan microVM dengan akses jaringan ke VPC Anda.

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

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

EFS semantik

  • POSIX Penuh: tautan keras, tautan simbolis, penguncian file penasehat

  • Akses baca-tulis bersamaan dari beberapa sesi dan agen

  • Close-to-open konsistensi

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

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 selama 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 berfungsi 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) berfungsi seperti biasa, mirip dengan sistem file lokal, dan data direplikasi secara asinkron ke penyimpanan yang tahan lama.

  3. Sesi berhenti - Komputasi dihentikan. Data apa pun yang belum bertahan akan disiram ke penyimpanan yang tahan lama selama shutdown yang anggun.

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

Semantik sistem file

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

Operasi yang didukung

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

Batas

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

Operasi yang tidak didukung

Operasi sistem file berikut tidak didukung:

  • Tautan keras — Gunakan symlink sebagai gantinya.

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

  • Atribut yang diperluas (xattr) — Alat yang bergantung pada metadata xattr tidak didukung.

  • FALLOCATE - Praalokasi file jarang tidak didukung.

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

catatan

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

Siklus hidup penyimpanan sesi

Data sesi dihapus (reset 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.

Menggunakan DeleteAgentRuntimeatau DeleteAgentRuntimeEndpointmenghapus semua data penyimpanan sesi yang terkait dengan runtime atau endpoint.

Prasyarat untuk membawa sistem file Anda sendiri

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

Konfigurasi VPC

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

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>" } } }

Abaikan ClientWrite jika agen Anda hanya membutuhkan akses baca. s3files:GetAccessPointIzin diperlukan untuk validasi titik akses File S3 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.

Konfigurasikan titik akses File Amazon S3

Untuk mengkonfigurasi titik akses File S3, tentukan titik akses ARN dan pasang jalur di. filesystemConfigurations 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 File S3.

    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" } } ] )

Konfigurasikan titik akses Amazon EFS

Untuk mengonfigurasi titik akses EFS, tentukan titik akses ARN dan jalur pemasangan di. filesystemConfigurations 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 filesystemConfigurations parameter UpdateAgentRuntimeyang sama.

Gabungkan sistem file

Anda dapat menggabungkan penyimpanan sesi terkelola dengan sistem file yang dibawa sendiri pada satu runtime agen. 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 pemasangannya saat agen Anda dipanggil. Bring-your-own sistem file (S3 Files, 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 ditinggalkan — file sumber, paket yang diinstal, artefak build, dan histori.git semuanya utuh. Saat Anda melanjutkan sesi, lingkungan komputasi baru memasang penyimpanan yang bertahan. Agen Anda dapat terus bekerja tanpa menginstal ulang paket atau membuat ulang file.

catatan

Saat menelepon secara eksplisit, StopRuntimeSession selalu tunggu sampai selesai sebelum melanjutkan sesi. Ini memastikan semua data dibilas 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

Pasang kendala jalur

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.

  • Jalur pemasangan tidak bisa menjadi subdirektori satu sama lain.

Perilaku siklus hidup

Tabel berikut membandingkan perilaku siklus hidup antara penyimpanan sesi terkelola dan sistem file yang dibawa sendiri.

Perilaku Penyimpanan sesi terkelola (Pratinjau) Bring-your-own (File S3, EFS)

Kedaluwarsa idle

14 hari tanpa pemanggilan - reset data

Tidak ada - dikelola pelanggan

Pada pembaruan versi runtime

Data dihapus - sistem file baru pada panggilan berikutnya

Tidak berpengaruh - data tetap ada

Pada DeleteAgentRuntime

Semua data sesi dihapus

Sistem file dilepas; data disimpan di akun Anda

Akses bersamaan

Terisolasi per sesi

Dibagikan di seluruh sesi dan agen

Kepemilikan

Service-managed oleh AgentCore

Customer-managed di AWS akun Anda

penting

Untuk membawa sistem file 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

Penyimpanan sesi terkelola (Pratinjau) di /mnt/workspace

Kumpulan data referensi dapat diakses dari agen dan saluran pipa S3

Titik akses File S3 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 dengan FileSessionManager riwayat percakapan dan penyimpanan sesi untuk file proyek. Keduanya bertahan di seluruh 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(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. 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)

FileSessionManagerMenyimpan riwayat percakapan/mnt/workspace/.sessions/, memungkinkan agen untuk mengingat konteks lintas stop/resume siklus.

Persyaratan jaringan

Bagian ini mencakup persyaratan jaringan untuk penyimpanan sesi terkelola dan sistem file yang dibawa 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, jadi VPC Anda harus mengizinkan konektivitas keluar ke S3. Jika Anda menggunakan endpoint S3 Gateway dengan kebijakan kustom, Anda dapat mengakses cakupan 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 berkas

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 mount di setidaknya salah satu Availability Zone tempat subnet runtime agen Anda berada. Target pemasangan di semua Zona Ketersediaan subnet yang dikonfigurasi direkomendasikan untuk ketersediaan tinggi.

  • Satu VPC pada satu waktu — sistem file EFS dapat memiliki target mount 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 Availability Zone yang 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 selengkapnya tentang target pemasangan EFS, lihat Cara kerja Amazon EFS.

Amazon S3 Files

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

  • Satu target pemasangan per AZ — Setiap Availability Zone 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 <az-id>.<file-system-id>.s3files.<region>.on.aws host target pemasangan File S3 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 Memasang sistem file S3.

Persyaratan bersama

Persyaratan EFS S3 Files

Diperlukan mode VPC

Port NFS 2049 (TCP)

Pasang target di AZ yang sama

✓ (disarankan)

✓ (diperlukan)

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 mount) dan runtime agen harus berada di AWS akun dan VPC yang sama.

Cara AgentCore memasang sistem file

AgentCore menangani operasi pemasangan NFS di dalam microVM secara otomatis:

  • EFS - Dipasang NFSv4.1 melalui TLS (port 2049). Autentikasi 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 kredensyal, dan pemantauan kesehatan.

Pemilihan Subnet dan Availability Zone

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 Availability Zone subnet Anda:

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

Untuk mengidentifikasi Availability Zone 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 Zones di mana sistem file Anda memiliki target mount.

Untuk Availability Zone yang didukung menurut wilayah, lihat Zona Ketersediaan yang Didukung dalam topik konfigurasi VPC. Untuk konfigurasi grup keamanan, lihat Contoh: Menyambungkan ke File Amazon EFS atau Amazon S3.

Memecahkan masalah membawa mount sistem file Anda sendiri

Ketika pemasangan sistem file yang dibawa sendiri 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 pemasangan dihapus atau tidak tersedia

Verifikasi ARN ada dan target pemasangan Tersedia

Mount hang lalu gagal (~ 30-an)

Grup keamanan memblokir port 2049 atau tidak ada target pemasangan di Availability Zone agen

Izinkan TCP 2049; verifikasi Availability Zone tumpang tindih

“Izin ditolak” saat menulis

Ketidakcocokan hilang ClientWrite atau POSIX UID/GID

Tambahkan izin menulis atau menyelaraskan 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 Memecahkan masalah penyimpanan BYO.