View a markdown version of this page

Memecahkan Masalah AgentCore Runtime - Batuan Dasar Amazon AgentCore
Pemanggilan agen saya gagal dengan “Runtime ini tidak” MMDSv2-enabled ValidationExceptionPemanggilan agen saya gagal dengan kesalahan 504 Gateway TimeoutBuild Docker saya gagal dengan “403 Forbidden” saat menarik gambar dasar PythonSaya mendapatkan kesalahan “Layanan tidak dikenal: 'bedrock-agent-core-runtime'” saat menggunakan boto3Saya mendapatkan "AccessDeniedException" saat mencoba membuat Amazon Bedrock AgentCore RuntimeBuild Docker saya gagal dengan “exec/bin/sh: exec format error”Apa persyaratan untuk kontainer Docker yang digunakan dengan Amazon Bedrock AgentCore Runtime?Alat saya yang sudah lama berjalan terganggu setelah 15 menitSesi idle saya tidak dirilis dan kuota sesi saya habisBagaimana cara mengakses runtime SessionId dalam kode agen saya untuk menandai atau mengelompokkan sumber daya?Saya memiliki RuntimeClientError (403) masalahSaya memiliki CloudWatch Log yang hilang atau kosongSaya memiliki masalah format payloadSaya butuh bantuan untuk memahami kode kesalahan HTTPSaya perlu rekomendasi untuk menguji agen sayaSaya butuh bantuan men-debug masalah wadahSaya butuh bantuan pemecahan masalah agen protokol MCPSaya butuh bantuan untuk memecahkan masalah streaming dua arah menggunakan WebSocketPerubahan kode saya tidak tercermin dalam sesi yang adaRentang hilang saat runtime saya dipanggil dari fungsi LambdaFile S3 atau pemasangan EFS saya gagal dengan “Akses ditolak”File S3 atau pemasangan EFS saya gagal dengan "” ResourceNotFoundWaktu pemasangan File S3 atau EFS saya habisSaya mendapatkan “Izin Ditolak” saat menulis ke sistem file saya yang dipasangWadah saya gagal memulai dengan kesalahan HTTP 424 pada gambar lapisan tinggiPraktik terbaik

Memecahkan Masalah AgentCore Runtime

Topik pemecahan masalah ini membantu Anda mengidentifikasi dan menyelesaikan masalah umum saat bekerja dengan AgentCore Runtime. Dengan mengikuti solusi ini, Anda dapat dengan cepat mendiagnosis dan memperbaiki masalah dengan runtime agen Anda.

Topik

Pemanggilan agen saya gagal dengan “Runtime ini tidak” MMDSv2-enabled ValidationException

Ketika ini terjadi: Saat menjalankan runtime agen melaluiInvokeAgentRuntime,,, ExecuteCommandInvokeAgentRuntimeWithWebSocketStream, InvokeAgentRuntimeCommandShell atau GetAgentCard

Mengapa ini terjadi: Mulai 30 Juni 2026, Amazon Bedrock AgentCore Runtime mengharuskan semua runtime agen untuk menggunakan MMDSv2 (MicroVM Metadata Service Version 2). Layanan menolak pemanggilan yang menargetkan runtime tanpa metadataConfiguration disetel, atau dengan disetel ke atau. requireMMDSV2 false null

Solusi: Panggil UpdateAgentRuntimedengan requireMMDSV2 disetel ke true dalammetadataConfiguration:

import boto3 client = boto3.client('bedrock-agentcore-control', region_name='us-west-2') try: client.update_agent_runtime( agentRuntimeId='your-agent-runtime-id', metadataConfiguration={ 'requireMMDSV2': True } ) print("MMDSv2 enabled successfully.") except client.exceptions.ResourceNotFoundException as e: print(f"Runtime not found: {e}") except Exception as e: print(f"Error enabling MMDSv2: {e}")

Setelah Anda memperbarui, pemanggilan baru akan berhasil. Sesi yang ada tidak terpengaruh.

Pemanggilan agen saya gagal dengan kesalahan 504 Gateway Timeout

Ketika ini terjadi: Selama pemanggilan agen melalui SDK atau konsol

Mengapa ini terjadi: Beberapa faktor dapat mencegah agen Anda merespons dalam periode batas waktu

Beberapa faktor dapat menyebabkan ini:

  • Masalah Kontainer: Pastikan gambar Docker Anda mengekspos port 8080 dan memiliki jalurnya /invocations

  • Kompatibilitas ARM64: Saat ini wadah Anda harus kompatibel dengan ARM64

  • Coba Lagi Logika: Tinjau mekanisme coba lagi untuk menangani masalah sementara

Build Docker saya gagal dengan “403 Forbidden” saat menarik gambar dasar Python

Ketika ini terjadi: Selama docker build atau docker run saat menggunakan gambar public.ecr.aws dasar

Mengapa ini terjadi: Masalah otentikasi publik ECR — otentikasi kedaluwarsa atau hilang adalah masalah umum.

Solusi: Entah login ke ECR Public atau logout sepenuhnya:

# Option 1: Login to ECR Public aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws # Option 2: Logout (recommended for avoiding token expiration) docker logout public.ecr.aws # Option 3: Use Docker Hub directly in Dockerfile FROM python:3.10-slim # instead of public.ecr.aws/docker/library/python:3.10-slim

Saya mendapatkan kesalahan “Layanan tidak dikenal: 'bedrock-agent-core-runtime'” saat menggunakan boto3

Ketika ini terjadi: Saat menjalankan Amazon Bedrock AgentCore API menggunakan boto3 SDK

Mengapa ini terjadi: Pustaka boto3 usang — masalah umum karena sebagian besar instalasi tidak memiliki SDK terbaru

Solusi: Perbarui ke versi boto3 dan botocore terbaru:

pip install --upgrade boto3 botocore # Minimum versions: boto3 1.39.8+, botocore 1.33.8+

Saya mendapatkan "AccessDeniedException" saat mencoba membuat Amazon Bedrock AgentCore Runtime

Ketika ini terjadi: Selama pembuatan agen melalui konsol, SDK, atau CLI

Mengapa ini terjadi: Entah pengguna Anda tidak memiliki izin, atau peran eksekusi tidak dikonfigurasi dengan benar untuk Amazon Bedrock AgentCore

Solusi: Beberapa faktor dapat menyebabkan ini:

  • Izin tidak ada untuk penelepon. Pastikan bahwa kredensyal pemanggil memiliki. bedrock-agentcore:CreateAgentRuntime

  • Peran Eksekusi tidak dapat diasumsikan oleh Bedrock Amazon Bedrock AgentCore. Pastikan bahwa peran eksekusi mengikuti panduan ini tentang izin untuk peran eksekusi Amazon Bedrock AgentCore Runtime.

Build Docker saya gagal dengan “exec/bin/sh: exec format error”

Ketika ini terjadi: Saat membangun kontainer untuk penyebaran Amazon Bedrock AgentCore

Mengapa ini terjadi: Membangun kontainer ARM64 pada sistem x86 tanpa pengaturan lintas platform yang tepat

Solusi: Bangun kontainer yang kompatibel dengan ARM64. Anda dapat mempertimbangkan untuk menggunakan buildx untuk build lintas platform. Atau, Anda dapat menggunakan CodeBuild. Misalnya kode, lihat AgentCore Sampel Batuan Dasar Amazon.

Apa persyaratan untuk kontainer Docker yang digunakan dengan Amazon Bedrock AgentCore Runtime?

Tinjau persyaratan Amazon Bedrock AgentCore Runtime untuk detail selengkapnya.

Singkatnya, wadah Docker Anda harus memenuhi persyaratan ini:

  • Port: Ekspos port 8080 (port tambahan akan segera didukung)

  • Titik akhir: Harus memiliki /invocations jalur yang tersedia

  • Arsitektur: Harus kompatibel dengan ARM64

  • Tanggapan: Harus menangani format payload yang diharapkan

Alat saya yang sudah lama berjalan terganggu setelah 15 menit

Untuk selengkapnya, lihat Menangani agen asinkron dan berjalan lama dengan Amazon Bedrock Amazon Bedrock Runtime untuk detail selengkapnya. AgentCore

Ketika ini terjadi: Selama operasi agen yang berjalan lama atau alur kerja yang kompleks

Mengapa ini terjadi: Amazon Bedrock AgentCore secara otomatis menghentikan sesi setelah 15 menit tidak aktif. Platform menentukan aktivitas dari /ping respons: pelaporan HealthyBusy sesi tetap hidup, sementara pelaporan sesi diperlakukan sebagai Healthy tidak memenuhi syarat dan waktu idle diukur dari saat yang status terakhir diubah (lihat time_of_last_update bidang di bawah).

Solusi: Pastikan /ping titik akhir Anda kembali HealthyBusy saat pekerjaan latar belakang sedang berlangsung:

{"status": "HealthyBusy"}

Jika Anda menggunakan Bedrock AgentCore SDK, respons ping ditangani secara otomatis. Untuk implementasi kustom, pastikan ping handler Anda kembali HealthyBusy saat memproses.

Sesi idle saya tidak dirilis dan kuota sesi saya habis

Ketika ini terjadi: Jumlah sesi naik terus menerus di bawah pemuatan dan sesi tidak dirilis setelah batas waktu idle (misalnya,ServiceQuotaExceededException/maxVmskesalahan selama ledakan pemanggilan), meskipun setiap sesi menganggur.

Mengapa ini terjadi: Ketika sesi melaporkanHealthy, platform mengukur berapa lama sesi telah menganggur dari time_of_last_update lapangan dalam /ping respons Anda, yang harus mencerminkan kapan yang status terakhir berubah. Jika penangan ping Anda menyetel time_of_last_update ke waktu saat ini pada setiap ping, waktu idle yang dilaporkan akan terus mengatur ulang, yang mencegah waktu tunggu idle diaktifkan. Sesi kemudian hidup sampai MaxLifetime dan dapat menghabiskan kuota sesi Anda.

Solusi: Perbarui time_of_last_update hanya ketika status benar-benar berubah, atau hilangkan sepenuhnya sehingga platform melacak perubahan statusnya sendiri:

{"status": "Healthy"}

Jika Anda menggunakan Bedrock AgentCore SDK, tingkatkan ke versi terbaru, di mana respons ping ditangani dengan benar. Sebagai pengganti sementara, memanggil StopRuntimeSession rilis macet sesi.

Bagaimana cara mengakses runtime SessionId dalam kode agen saya untuk menandai atau mengelompokkan sumber daya?

Jika ini berlaku: Anda ingin mengelompokkan, menandai, atau melacak sumber daya (misalnya, objek S3, log) dengan sesi runtime agen saat ini.

Solusi:

  • Jika Anda menggunakan Bedrock Agents SDK, gunakan. context.session_id

  • Jika Anda membangun server runtime kustom, ekstrak dari header X-Amzn-Bedrock-AgentCore-Runtime-Session-Id HTTP.

Solusi 1: Untuk agen yang menggunakan Bedrock Amazon Bedrock AgentCore SDK, gunakan context.session_id dari titik masuk agen Anda

@app.entrypoint def my_agent(payload, context): session_id = context.session_id # Use session_id for S3 object tagging/organization s3_client = boto3.client('s3') s3_client.put_object( Bucket='my-bucket', Key=f'agent-outputs/{session_id}/output.json', Body=json.dumps(result), Tagging=f'SessionId={session_id}' ) return result

Solusi 2: Untuk server HTTP runtime kustom

ID sesi runtime diteruskan di header HTTP ini. Parse dari permintaan yang masuk dan gunakan untuk penandaan, korelasi, atau propagasi hilir.

X-Amzn-Bedrock-AgentCore-Runtime-Session-Id: <value>

Saya memiliki RuntimeClientError (403) masalah

Masalah

Anda menerima 403 "RuntimeClientError" ketika mencoba untuk memanggil runtime agen Anda.

Penyebab

Kesalahan ini biasanya terjadi karena:

  • Kegagalan startup kontainer

  • Masalah izin dengan peran eksekusi

  • Masalah otentikasi dengan token pembawa

Resolusi

Ikuti langkah-langkah ini untuk mengatasi masalah:

  1. Periksa CloudWatch Log: Masalah apa pun dengan memulai penampung akan tercermin sebagai 403 - RuntimeClientError. Arahkan ke grup CloudWatch log berikut untuk memeriksa kesalahan startup:

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/[runtime-logs]
  2. Verifikasi Peran Eksekusi: Pastikan peran eksekusi agen Anda memiliki izin yang diperlukan. Untuk informasi selengkapnya, lihat Peran eksekusi AgentCore runtime.

  3. Validasi Otentikasi: Untuk agen protokol MCP, pastikan token pembawa Anda valid dan tidak kedaluwarsa.

Saya memiliki CloudWatch Log yang hilang atau kosong

Masalah

Anda menemukan kesalahan tetapi tidak melihat log masuk yang relevan CloudWatch.

Solusi

Cobalah pendekatan ini untuk mendiagnosis masalah ini:

  1. Periksa Grup Log yang Benar: Pastikan Anda mencari di grup CloudWatch log kanan. Pola standarnya adalah:

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/runtime-logs
  2. Jalankan Locally for Diagnostics: Jika tidak ada CloudWatch Log, coba jalankan container agen secara lokal menggunakan payload yang sama persis yang Anda gunakan untuk pemanggilan di Runtime. AgentCore Ini dapat membantu mengidentifikasi masalah yang mungkin tidak terlihat di log.

  3. Aktifkan Verbose Logging: Perbarui kode agen Anda untuk menyertakan pencatatan yang lebih rinci, terutama di sekitar titik masuk dan logika penanganan kesalahan apa pun.

Saya memiliki masalah format payload

Masalah

Pemanggilan runtime agen Anda gagal meskipun penampung berhasil dimulai.

Resolusi

Ikuti langkah-langkah ini untuk mengatasi masalah format payload:

  1. Verifikasi Struktur Muatan: Pastikan struktur muatan Anda sesuai dengan apa yang diharapkan agen Anda. Berikan perhatian khusus pada:

    • Jika kode agen Anda mengharapkan input kata kunci dalam payload, pastikan untuk memasukkannya:

      { "input": { "prompt": "Your question here" } }
    • Tidak hanya:

      { "prompt": "Your question here" }
  2. Periksa Dokumentasi: Tinjau format input yang diharapkan dalam dokumentasi.

Saya butuh bantuan untuk memahami kode kesalahan HTTP

Masalah

Agen Anda mengembalikan kode kesalahan HTTP yang sulit ditafsirkan.

Contoh pesan kesalahan

Anda mungkin melihat kesalahan seperti:

An error occurred (RuntimeClientError) when calling the InvokeAgentRuntime operation: Received error (<HTTP Status Code>) from runtime. Please check your CloudWatch logs for more information

Resolusi

Berikut adalah kode kesalahan yang paling umum dan artinya:

422 Entitas yang Tidak Dapat Diproses

Ini terjadi ketika penampung mengalami masalah validasi dengan muatan input.

Penyebab umum:

  • Bidang wajib tidak ada di payload (misalnya, bidang “input” yang hilang)

  • Tipe data yang salah untuk bidang

  • Format payload tidak valid

403 Dilarang

Masalah otentikasi atau otorisasi.

Periksa token pembawa atau izin IAM Anda.

500 Kesalahan Server Internal

Pengecualian runtime dalam kode agen Anda.

Periksa CloudWatch log untuk jejak tumpukan terperinci.

Saya perlu rekomendasi untuk menguji agen saya

Untuk men-debug masalah runtime agen secara sistematis:

Uji secara lokal terlebih dahulu

Sebelum menerapkan ke AgentCore Runtime:

  • Jalankan wadah agen Anda secara lokal menggunakan gambar Docker yang sama

  • Verifikasi itu berfungsi dengan muatan yang sama persis

Bandingkan payloads

Pastikan konsistensi antar lingkungan:

  • Pastikan struktur payload antara pengujian lokal dan pemanggilan AgentCore Runtime identik

  • Berikan perhatian khusus pada penyarangan bidang seperti “input” dan “prompt”

Saya butuh bantuan men-debug masalah wadah

Jika Anda mencurigai masalah terkait kontainer:

Tarik dan jalankan secara lokal

Uji gambar kontainer Anda di mesin lokal Anda:

docker pull <your-ecr-repo-uri> docker run -p 8080:8080 <your-ecr-repo-uri>

Uji dengan ikal

Kirim permintaan pengujian ke wadah lokal Anda:

curl -X POST http://localhost:8080/invocations \ -H "Content-Type: application/json" \ -d '{"input": {"prompt": "Hello world!"}}'

Periksa log kontainer

Periksa keluaran kontainer untuk kesalahan:

docker logs <container-id>

Saya butuh bantuan pemecahan masalah agen protokol MCP

Untuk agen protokol MCP, ikuti langkah-langkah pemecahan masalah khusus ini:

Verifikasi jalur titik akhir

Server MCP harus mendengarkan 0.0.0.0:8000/mcp/

Gunakan MCP Inspector

Uji dengan alat MCP Inspector:

  1. Instal dan jalankan MCP Inspector: npx @modelcontextprotocol/inspector

  2. Connect ke server lokal Anda di http://localhost:8000/mcp

  3. Untuk agen yang digunakan, gunakan titik akhir dengan benar URL-encoded

Masalah otentikasi

Periksa konfigurasi otentikasi:

  • Pastikan token pembawa diatur dengan benar di header

  • Verifikasi kumpulan pengguna Cognito Anda telah diatur dengan benar

Saya butuh bantuan untuk memecahkan masalah streaming dua arah menggunakan WebSocket

Untuk streaming dua arah menggunakan WebSocket agen, ikuti langkah-langkah pemecahan masalah khusus ini:

Verifikasi konfigurasi titik akhir

WebSocket agen harus berjalan di port 8080 dan melayani WebSocket koneksi di jalur /ws

Uji secara lokal dengan kompleksitas tambahan

Mulailah dengan pengujian lokal sederhana sebelum menerapkan:

  1. Uji koneksi dasar: Verifikasi agen Anda menerima WebSocket koneksi di ws://localhost:8080/ws

  2. Uji penanganan pesan: Kirim pesan teks sederhana dan verifikasi tanggapan

  3. Manajemen sesi pengujian: Verifikasi percakapan persisten berfungsi seperti yang diharapkan

  4. Penanganan kesalahan pengujian: Pastikan agen Anda dengan anggun menangani penurunan koneksi dan pesan yang salah

Masalah otentikasi

Periksa konfigurasi otentikasi untuk agen yang digunakan:

  • Untuk OAuth: Pastikan token pembawa valid dan tidak kedaluwarsa

  • Untuk SigV4: Pastikan input ke algoritma penandatanganan sudah benar, termasuk WebSocket URL, header, dan metode permintaan

  • Gunakan metode otentikasi yang benar yang cocok dengan konfigurasi agen Anda

Masalah koneksi umum

Mengatasi masalah WebSocket koneksi umum:

  • Verifikasi kompatibilitas format pesan antara agen Anda dan harapan klien

  • Konfigurasikan fragmentasi bingkai pesan atau terapkan chunking agar tetap berada dalam batas ukuran bingkai pesan (64 KB) dan kecepatan bingkai pesan (250 frame per detik) untuk mencegah penutupan koneksi

Perubahan kode saya tidak tercermin dalam sesi yang ada

Masalah

Anda telah memperbarui runtime agen Anda dengan kode baru, tetapi sesi yang ada terus menggunakan versi lama.

Mengapa ini terjadi

Setiap sesi microVM dibuat dengan aset kode (agentRuntimeArtifact) yang digunakan pada saat pembuatan sesi. Setelah sesi dibuat, ia terus menggunakan versi kode tersebut sampai sesi berakhir, bahkan ketika aset kode diperbarui sebagai bagian dari melakukan UpdateAgentRuntimeoperasi.

Solusi

Untuk mengakses kode yang diperbarui, gunakan ID sesi baru.

Rentang hilang saat runtime saya dipanggil dari fungsi Lambda

Ketika ini terjadi: Saat menjalankan AgentCore Runtime dari fungsi Lambda

Mengapa ini terjadi: Lambda menghasilkan tajuknya sendiriX-Amzn-Trace-Id. Jika jejak Lambda memilikiSampled=0, konteks tanpa sampel ini menyebar ke AgentCore Runtime dan runtime melewatkan pembuatan rentang untuk pemanggilan itu.

Solusi:

  • Aktifkan penelusuran aktif Lambda: Aktifkan penelusuran X-Ray aktif pada fungsi Lambda Anda sehingga menghasilkan jejak sampel (). Sampled=1

  • Verifikasi Penelusuran CloudWatch Transaksi: Pastikan Anda telah menyelesaikan penyiapan di Konfigurasi observabilitas dan tujuan segmen penelusuran Anda disetel ke CloudWatch Log.

  • Periksa keputusan pengambilan sampel: Log variabel _X_AMZN_TRACE_ID lingkungan di dalam fungsi Lambda Anda. Jika ditampilkanSampled=0, penelusuran aktif tidak diaktifkan atau penelepon hulu membuat keputusan pengambilan sampel.

File S3 atau pemasangan EFS saya gagal dengan “Akses ditolak”

Ketika ini terjadi: Selama pemanggilan agen dengan file S3 atau penyimpanan EFS dikonfigurasi

Mengapa ini terjadi: Peran eksekusi tidak memiliki izin sistem file yang diperlukan. Untuk informasi selengkapnya tentang mengonfigurasi penyimpanan persisten, lihat Konfigurasi sistem berkas untuk AgentCore Runtime.

Solusi:

Untuk File S3, pastikan peran eksekusi Anda memiliki:

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

Untuk EFS, pastikan peran eksekusi Anda memiliki:

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

Abaikan s3files:ClientWrite atau elasticfilesystem:ClientWrite jika agen Anda hanya membutuhkan akses baca.

File S3 atau pemasangan EFS saya gagal dengan "” ResourceNotFound

Ketika ini terjadi: Selama pemanggilan agen dengan file S3 atau penyimpanan EFS dikonfigurasi

Mengapa ini terjadi: Sistem file atau titik akses dihapus setelah agen dibuat, atau ID salah.

Solusi:

  • Verifikasi sistem file ada:

    • File S3: aws s3files list-file-systems --region <region>

    • EFS: aws efs describe-file-systems --region <region>

  • Verifikasi titik akses ada:

    • File S3: aws s3files list-access-points --file-system-id <fs-id> --region <region>

    • EFS: aws efs describe-access-points --file-system-id <fs-id> --region <region>

  • Verifikasi target pemasangan ada di semua zona ketersediaan yang diperlukan:

    • File S3: aws s3files list-mount-targets --file-system-id <fs-id> --region <region>

    • EFS: aws efs describe-mount-targets --file-system-id <fs-id> --region <region>

    • Pastikan setiap target pemasangan menunjukkan status Tersedia dan berada dalam VPC yang sama dengan runtime agen.

  • Jika sumber daya dihapus, buat ulang dan perbarui runtime agen dengan titik akses baru ARN

Waktu pemasangan File S3 atau EFS saya habis

Ketika ini terjadi: Selama pemanggilan agen dengan file S3 atau penyimpanan EFS dikonfigurasi. Doa mungkin memakan waktu lebih lama dari biasanya sebelum gagal.

Mengapa ini terjadi: Konfigurasi jaringan VPC memblokir lalu lintas NFS (port 2049) antara komputasi agen dan target pemasangan sistem file.

Solusi:

  • Periksa grup keamanan pada target pemasangan: Verifikasi grup keamanan yang terpasang pada target pemasangan Anda memungkinkan TCP masuk pada port 2049 dari grup keamanan yang digunakan oleh runtime agen Anda

  • Periksa grup keamanan saat runtime agen: Verifikasi grup keamanan yang digunakan oleh runtime agen Anda memungkinkan TCP keluar pada port 2049 ke grup keamanan target pemasangan

  • Pastikan target pemasangan ada di zona ketersediaan yang benar: Target pemasangan harus ada di zona ketersediaan yang sama dengan subnet yang dikonfigurasi pada runtime agen Anda:

    • File S3: aws s3files list-mount-targets --file-system-id <fs-id> --region <region>

    • EFS: aws efs describe-mount-targets --file-system-id <fs-id> --region <region>

  • Verifikasi perutean subnet: Pastikan subnet Anda memiliki perutean yang tepat (rute VPC lokal untuk rentang CIDR)

Saya mendapatkan “Izin Ditolak” saat menulis ke sistem file saya yang dipasang

Ketika ini terjadi: Pemanggilan agen berhasil dan agen dapat membaca file dari mount, tetapi penulisan gagal dengan “Izin ditolak”

Mengapa ini terjadi: Entah peran IAM tidak memiliki izin tulis, atau izin POSIX pada direktori yang disetel selama pembuatan titik akses tidak mengizinkan penulisan untuk pengguna agen.

Solusi:

  • Periksa izin IAM: Pastikan peran eksekusi Anda termasuk s3files:ClientWrite (File S3) atau (elasticfilesystem:ClientWriteEFS). Tanpa izin menulis, mount hanya baca. Untuk informasi selengkapnya, lihat izin untuk peran eksekusi Amazon Bedrock AgentCore Runtime.

  • Periksa izin POSIX: Jika direktori dimiliki oleh pengguna yang berbeda dari proses penampung Anda, penulisan akan ditolak. Entah:

    • Tetapkan PosixUser jalur akses Anda agar sesuai dengan container uid/gid Anda berjalan sebagai, sehingga semua operasi dilakukan sebagai pengguna tersebut.

    • Setel izin direktori ke 777 untuk memungkinkan semua pengguna menulis.

Wadah saya gagal memulai dengan kesalahan HTTP 424 pada gambar lapisan tinggi

Ketika ini terjadi: InvokeAgentRuntime Panggilan Anda mengembalikan HTTP 424 (Ketergantungan Gagal) dan log agen Anda ditampilkan. Failed to mount overlay: No such file or directory Ini terjadi ketika gambar kontainer Anda memiliki lebih dari 53 lapisan DAN menggunakan direktif USER non-numerik (misalnya, USER myuser bukan). USER 1000

Mengapa ini terjadi: Gambar kontainer dengan banyak lapisan yang dikombinasikan dengan arahan USER non-numerik dapat menyebabkan kegagalan inisialisasi.

Solusi: Gunakan salah satu solusi ini:

  • Gunakan direktif USER numerik: Di Dockerfile Anda, ganti USER myuser dengan UID numerik (mis.,). USER 1000 Anda dapat menemukan UID pengguna Anda dengan menjalankan id myuser di dalam wadah. Ini menghindari pemasangan sistem file sepenuhnya.

  • Kurangi lapisan gambar: Gunakan build Docker multi-tahap untuk mengurangi gambar Anda menjadi kurang dari 53 lapisan. Anda dapat memeriksa jumlah lapisan gambar Anda dengan:

docker inspect <image> | jq '.[0].RootFS.Layers | length'
  • Lapisan squash: Gunakan docker build --squash atau alat seperti docker-squash untuk meratakan layer gambar Anda.

Praktik terbaik

Aktifkan pencatatan komprehensif

Terapkan logging menyeluruh di agen Anda:

  • Sertakan request/response masuk ke agen Anda

  • Log jalur kritis dan kondisi kesalahan

Gunakan penanganan kesalahan terstruktur

Menerapkan pelaporan kesalahan yang jelas:

  • Kembalikan pesan kesalahan yang jelas dengan kode tertentu

  • Sertakan informasi yang dapat ditindaklanjuti dalam respons kesalahan

Uji perubahan inkremental

Ikuti pendekatan pengujian metodis:

  • Saat memodifikasi agen Anda, uji secara lokal sebelum penerapan

  • Validasi kompatibilitas payload dengan lingkungan lokal dan yang diterapkan

Pantau kinerja

Siapkan pemantauan untuk agen Anda:

  • Gunakan CloudWatch metrik untuk melacak pola pemanggilan

  • Mengatur alarm untuk tingkat kesalahan dan latensi