View a markdown version of this page

Konfigurasi sistem file untuk AgentCore Code Interpreter - 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 Code Interpreter

AgentCore Code Interpreter mendukung pemasangan sistem file Anda sendiri ke sesi penerjemah kode melalui filesystemConfigurations parameter. Setiap konfigurasi memasang Amazon S3 Files atau titik akses Amazon EFS di jalur yang Anda tentukan. Anda tidak memerlukan kode pemasangan khusus, wadah istimewa, atau orkestrasi unduhan — AgentCore melakukan semua operasi pemasangan di dalam kotak pasir sesi.

Bring-your-own sistem file adalah penyimpanan bersama: beberapa sesi, beberapa penafsir kode, atau aplikasi eksternal dapat mengakses titik akses yang sama secara bersamaan. Data disimpan dan dikelola di AWS akun Anda sendiri.

Anda dapat menyediakan filesystemConfigurations saat Anda membuat penerjemah kode dengan CreateCodeInterpreter (setiap sesi yang dimulai dari penerjemah kode mewarisi mount), atau ketika Anda memulai sesi dengan StartCodeInterpreterSession (mount berlaku untuk sesi itu). Parameter dan bentuknya identik di kedua tempat.

catatan

Tidak seperti AgentCore Runtime, AgentCore Code Interpreter tidak menawarkan opsi penyimpanan sesi terkelola. Code Interpreter hanya mendukung penggunaan File Amazon S3 Anda sendiri dan titik akses Amazon EFS.

Sekilas tentang opsi penyimpanan

Tabel berikut membandingkan jenis sistem file yang tersedia.

Tipe Isolasi Tetap Diperlukan VPC Terbaik untuk

Amazon S3 Files

Berbagi — beberapa sesi dan penafsir kode mengakses data yang sama

Customer-managed (permanen, disinkronkan ke bucket S3 pendukung)

Ya

Kumpulan data dan artefak dapat diakses melalui operasi file standar dan API S3

Amazon EFS

Berbagi — beberapa sesi dan penafsir kode mengakses data yang sama

Customer-managed (permanen sampai Anda menghapusnya)

Ya

Data referensi bersama, unduhan, kolaborasi baca-tulis di seluruh sesi

Quick start

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

Titik akses File Amazon S3

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

  2. Izinkan port TCP 2049 keluar dari grup keamanan penerjemah kode 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 penerjemah kode Anda.

  4. Tambahkan filesystemConfigurations dengan s3FilesConfiguration entri ke CreateCodeInterpreter atau StartCodeInterpreterSession panggilan Anda.

  5. Mulai sesi. File di jalur pemasangan Anda (misalnya,/mnt/s3data) disinkronkan dua arah dengan bucket S3 pendukung.

Titik akses Amazon EFS

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

  2. Izinkan port TCP 2049 keluar dari grup keamanan penerjemah kode Anda ke grup keamanan target pemasangan EFS Anda.

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

  4. Tambahkan filesystemConfigurations dengan efsConfiguration entri ke CreateCodeInterpreter atau StartCodeInterpreterSession panggilan Anda.

  5. Mulai sesi. File Anda tersedia di jalur pemasangan Anda (misalnya,/mnt/efs).

File S3 dan EFS memerlukan konektivitas VPC pada penerjemah kode.

Cara kerjanya

Saat Anda mengonfigurasi sistem file bawa sendiri, AgentCore Code Interpreter memasang titik akses yang ditentukan ke kotak pasir sesi di jalur yang Anda konfigurasikan. Data dibagikan — beberapa sesi, beberapa penafsir kode, 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.

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.

Alur pemasangan File Amazon S3

  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 mengkonfigurasi penerjemah kode (atau sesi) dengan titik akses ARN, sistem file ARN, dan jalur pemasangan.

  4. Saat sesi dimulai, AgentCore menyediakan kotak pasir dengan akses jaringan ke VPC Anda.

  5. Sandbox 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.

Alur pemasangan Amazon EFS

  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 penerjemah kode (atau sesi) dengan titik akses ARN, sistem file ARN, dan jalur pemasangan.

  4. Saat sesi dimulai, AgentCore menyediakan kotak pasir dengan akses jaringan ke VPC Anda.

  5. Kotak pasir 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.

Prasyarat

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

Konfigurasi VPC

Penerjemah kode Anda harus menggunakan mode VPC jaringan. Subnet yang Anda tentukan harus tumpang tindih dengan Zona Ketersediaan target mount sistem file.

Izin IAM

Peran eksekusi penerjemah kode 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.

Grup keamanan

Izinkan TCP keluar pada port 2049 dari grup keamanan penerjemah kode Anda ke grup keamanan target mount. Izinkan TCP masuk pada port 2049 pada grup keamanan target mount dari grup keamanan penerjemah kode.

Konfigurasikan sistem file

Tentukan setiap sistem file filesystemConfigurations sebagai an s3FilesConfiguration atau anefsConfiguration. Keduanya membutuhkan tiga bidang:

  • accessPointArn— ARN File S3 atau titik akses EFS untuk dipasang.

  • fileSystemArn— ARN dari sistem file yang memiliki titik akses. Bidang ini wajib diisi.

  • mountPath— Jalur absolut dalam sesi di mana titik akses dipasang (misalnya,/mnt/s3data).

Anda dapat menyediakan filesystemConfigurations di dua tempat, menggunakan bentuk yang sama:

  • Control plane — CreateCodeInterpreter — Tunggangan diwarisi oleh setiap sesi yang dimulai dari penerjemah kode. Penerjemah kode harus menggunakan mode jaringan VPC.

  • Bidang data StartCodeInterpreterSession — — Tunggangan berlaku untuk sesi tertentu.

catatan

Anda dapat menyediakan konfigurasi sistem file di bidang kontrol (CreateCodeInterpreter), bidang data (StartCodeInterpreterSession), atau keduanya — selama penerjemah kode menggunakan mode jaringan VPC dan S3 Files atau titik akses EFS dikonfigurasi dengan benar (target mount, izin IAM, dan grup keamanan). Konfigurasi dari CreateCodeInterpreter diwarisi oleh setiap sesi; konfigurasi dari StartCodeInterpreterSession berlaku ke sesi itu. Ketika keduanya disediakan, keduanya digabungkan untuk sesi, dan setiap jalur pemasangan harus unik di seluruh set gabungan.

Bagian berikut menunjukkan kedua panggilan API untuk setiap jenis sistem file.

Mengonfigurasi titik akses Amazon S3 Files

Pesawat kontrol: CreateCodeInterpreter

contoh
AWS CLI
  1. aws bedrock-agentcore-control create-code-interpreter \ --name "data-code-interpreter" \ --execution-role-arn "arn:aws:iam::<account-id>:role/CodeInterpreterExecutionRole" \ --network-configuration '{ "networkMode": "VPC", "vpcConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }' \ --filesystem-configurations '[{ "s3FilesConfiguration": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "fileSystemArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/s3data" } }]'
AWS SDK
  1. Contoh Python menggunakan boto3 untuk membuat penerjemah kode dengan titik akses File S3.

    import boto3 cp = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = cp.create_code_interpreter( name="data-code-interpreter", executionRoleArn="arn:aws:iam::<account-id>:role/CodeInterpreterExecutionRole", networkConfiguration={ "networkMode": "VPC", "vpcConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }, filesystemConfigurations=[ { "s3FilesConfiguration": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "fileSystemArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/s3data" } } ] )

Bidang data: StartCodeInterpreterSession

contoh
AWS CLI
  1. aws bedrock-agentcore start-code-interpreter-session \ --code-interpreter-identifier "<code-interpreter-id>" \ --name "byos-session" \ --session-timeout-seconds 3600 \ --filesystem-configurations '[{ "s3FilesConfiguration": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "fileSystemArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/s3data" } }]'
AWS SDK
  1. Contoh Python menggunakan boto3 untuk memulai sesi penerjemah kode dengan titik akses File S3.

    import boto3 dp = boto3.client("bedrock-agentcore", region_name="us-west-2") response = dp.start_code_interpreter_session( codeInterpreterIdentifier="<code-interpreter-id>", name="byos-session", sessionTimeoutSeconds=3600, filesystemConfigurations=[ { "s3FilesConfiguration": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "fileSystemArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/s3data" } } ] ) session_id = response["sessionId"]

Mengonfigurasi titik akses Amazon EFS

Pesawat kontrol: CreateCodeInterpreter

contoh
AWS CLI
  1. aws bedrock-agentcore-control create-code-interpreter \ --name "shared-tools-code-interpreter" \ --execution-role-arn "arn:aws:iam::<account-id>:role/CodeInterpreterExecutionRole" \ --network-configuration '{ "networkMode": "VPC", "vpcConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }' \ --filesystem-configurations '[{ "efsConfiguration": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "fileSystemArn": "arn:aws:elasticfilesystem:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/efs" } }]'
AWS SDK
  1. Contoh Python menggunakan boto3 untuk membuat penerjemah kode dengan titik akses EFS.

    import boto3 cp = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = cp.create_code_interpreter( name="shared-tools-code-interpreter", executionRoleArn="arn:aws:iam::<account-id>:role/CodeInterpreterExecutionRole", networkConfiguration={ "networkMode": "VPC", "vpcConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }, filesystemConfigurations=[ { "efsConfiguration": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "fileSystemArn": "arn:aws:elasticfilesystem:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/efs" } } ] )

Bidang data: StartCodeInterpreterSession

contoh
AWS CLI
  1. aws bedrock-agentcore start-code-interpreter-session \ --code-interpreter-identifier "<code-interpreter-id>" \ --name "byos-session" \ --session-timeout-seconds 3600 \ --filesystem-configurations '[{ "efsConfiguration": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "fileSystemArn": "arn:aws:elasticfilesystem:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/efs" } }]'
AWS SDK
  1. Contoh Python menggunakan boto3 untuk memulai sesi penerjemah kode dengan titik akses EFS.

    import boto3 dp = boto3.client("bedrock-agentcore", region_name="us-west-2") response = dp.start_code_interpreter_session( codeInterpreterIdentifier="<code-interpreter-id>", name="byos-session", sessionTimeoutSeconds=3600, filesystemConfigurations=[ { "efsConfiguration": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "fileSystemArn": "arn:aws:elasticfilesystem:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/efs" } } ] ) session_id = response["sessionId"]

Gabungkan sistem file

Anda dapat melampirkan beberapa titik akses (hingga batas di bawah) dalam satu panggilan dengan menambahkan lebih banyak entri kefilesystemConfigurations. Setiap entri harus menggunakan jalur pemasangan yang unik.

filesystemConfigurations=[ { "s3FilesConfiguration": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "fileSystemArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/s3data" } }, { "efsConfiguration": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "fileSystemArn": "arn:aws:elasticfilesystem:<region>:<account-id>:file-system/<file-system-id>", "mountPath": "/mnt/efs" } } ]

Konfirmasikan sistem file yang terpasang

Gunakan GetCodeInterpreter untuk mengonfirmasi pener filesystemConfigurations jemah kode, dan GetCodeInterpreterSession untuk mengonfirmasi konfigurasi efektif pada sesi yang sedang berjalan. Konfigurasi yang ditetapkan pada pembuatan penerjemah kode dan pada sesi dimulai keduanya muncul dalam respons sesi.

Batas

Batas konfigurasi sistem file diberlakukan per permintaan. CreateCodeInterpreterkonfigurasi diwarisi oleh setiap sesi, dan StartCodeInterpreterSession konfigurasi berlaku untuk sesi itu. Tunggangan efektif sesi adalah kombinasi keduanya.

Jenis konfigurasi Per CreateCodeInterpreter Per StartCodeInterpreterSession Gabungan per sesi

Titik akses File Amazon S3

2

2

4

Titik akses Amazon EFS

2

2

4

Total konfigurasi sistem file

4

4

8

Misalnya, Anda dapat mengonfigurasi 1 titik akses File S3 dan 1 titik akses EFS aktifCreateCodeInterpreter, lalu menambahkan 1 titik akses S3 Files dan 1 titik akses EFS aktifStartCodeInterpreterSession, untuk total 4 mount dalam sesi. Setiap jalur pemasangan harus unik di seluruh set gabungan.

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/s3data).

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

  • Setiap jalur pemasangan harus unik di semua konfigurasi.

  • Mount path tidak boleh menjadi subdirektori satu sama lain.

Memecahkan masalah pemasangan sistem file

Ketika pemasangan sistem file bawa-Anda sendiri gagal, StartCodeInterpreterSession mengembalikan kesalahan dan sesi tidak menjadi. READY

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

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

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

Semua sistem file yang dikonfigurasi dipasang secara paralel saat sesi dimulai — kegagalan pemasangan tunggal menyebabkan sesi mulai gagal.