View a markdown version of this page

Risoluzione dei problemi relativi AgentCore al runtime - Amazon Bedrock AgentCore
Le chiamate del mio agente falliscono con «This runtime is not» MMDSv2-enabled ValidationExceptionLe chiamate del mio agente falliscono con errori 504 Gateway TimeoutLa mia build Docker fallisce con «403 Forbidden» quando estraggo immagini di base PythonRicevo l'errore «Unknown service: 'bedrock-agent-core-runtime'» quando uso boto3Ricevo "AccessDeniedException" quando cerco di creare un Amazon Bedrock Runtime AgentCoreLa mia build di Docker fallisce con «exec/bin/sh: exec format error»Quali sono i requisiti per i contenitori Docker utilizzati con Amazon Bedrock Runtime AgentCore ?Il mio utensile a lunga durata si interrompe dopo 15 minutiLe mie sessioni inattive non vengono rilasciate e sto esaurendo la mia quota di sessioniCome posso accedere al runtime SessionId del codice del mio agente per etichettare o raggruppare le risorse?Ho (403) problemi RuntimeClientErrorHo dei log mancanti o vuoti CloudWatchHo problemi con il formato del payloadHo bisogno di aiuto per comprendere i codici di errore HTTPHo bisogno di consigli per testare il mio agenteHo bisogno di aiuto per risolvere i problemi relativi ai containerHo bisogno di aiuto per la risoluzione dei problemi relativi agli agenti del protocollo MCPHo bisogno di aiuto per la risoluzione dei problemi relativi allo streaming bidirezionale utilizzando WebSocketLe mie modifiche al codice non si riflettono nelle sessioni esistentiMancano gli intervalli quando il mio runtime viene richiamato da una funzione LambdaIl montaggio di My S3 Files o EFS fallisce con «Accesso negato»Il montaggio dei miei file S3 o EFS fallisce con "» ResourceNotFoundTimeout del montaggio di My S3 Files o EFSRicevo il messaggio «Autorizzazione negata» quando scrivo sul mio filesystem montatoIl mio contenitore non si avvia con l'errore HTTP 424 su immagini di alto livelloBest practice

Risoluzione dei problemi relativi AgentCore al runtime

Questo argomento sulla risoluzione dei problemi consente di identificare e risolvere i problemi più comuni relativi all'utilizzo di Runtime. AgentCore Seguendo queste soluzioni, è possibile diagnosticare e risolvere rapidamente i problemi relativi ai runtime degli agenti.

Argomenti

Le chiamate del mio agente falliscono con «This runtime is not» MMDSv2-enabled ValidationException

Quando ciò si verifica: quando si richiama il runtime di un agente tramiteInvokeAgentRuntime,,ExecuteCommand, o InvokeAgentRuntimeWithWebSocketStream InvokeAgentRuntimeCommandShell GetAgentCard

Perché questo accade: a partire dal 30 giugno 2026, Amazon Bedrock AgentCore Runtime richiede che tutti i runtime degli agenti utilizzino MMDSv2 (MicroVM Metadata Service versione 2). Il servizio rifiuta le chiamate destinate a runtime senza set o con set to o. metadataConfiguration requireMMDSV2 false null

Soluzione: chiama UpdateAgentRuntimecon set to in: requireMMDSV2 true metadataConfiguration

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

Dopo l'aggiornamento, le nuove chiamate avranno esito positivo. Le sessioni esistenti non sono interessate.

Le chiamate del mio agente falliscono con errori 504 Gateway Timeout

Quando ciò si verifica: durante la chiamata dell'agente tramite SDK o console

Perché ciò accade: diversi fattori possono impedire all'agente di rispondere entro il periodo di timeout

Ciò può essere causato da diversi fattori:

  • Problemi relativi al contenitore: assicurati che l'immagine Docker esponga la porta 8080 e abbia il percorso /invocations

  • Compatibilità ARM64: attualmente il contenitore deve essere compatibile con ARM64

  • Retry Logic: esamina i meccanismi di ripetizione dei tentativi per la gestione dei problemi transitori

La mia build Docker fallisce con «403 Forbidden» quando estraggo immagini di base Python

Quando ciò accade: durante docker build o docker run durante l'utilizzo di immagini di base public.ecr.aws

Perché questo accade: problemi di autenticazione ECR Public: l'autenticazione scaduta o mancante è un problema comune.

Soluzione: accedi a ECR Public o disconnettiti completamente:

# 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

Ricevo l'errore «Unknown service: 'bedrock-agent-core-runtime'» quando uso boto3

In questo caso: quando si richiamano le AgentCore API Amazon Bedrock utilizzando l'SDK boto3

Perché ciò accade: libreria boto3 obsoleta, problema comune in quanto la maggior parte delle installazioni non dispone dell'SDK più recente

Soluzione: esegui l'aggiornamento alle versioni più recenti di boto3 e botocore:

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

Ricevo "AccessDeniedException" quando cerco di creare un Amazon Bedrock Runtime AgentCore

In questo caso: durante la creazione dell'agente tramite console, SDK o CLI

Perché questo accade: l'utente non dispone delle autorizzazioni o il ruolo di esecuzione non è configurato correttamente per Amazon Bedrock AgentCore

Soluzione: diversi fattori possono causare questo problema:

La mia build di Docker fallisce con «exec/bin/sh: exec format error»

In questo caso: durante la creazione di contenitori per la distribuzione di Amazon Bedrock AgentCore

Perché questo accade: creazione di contenitori ARM64 su sistemi x86 senza un'adeguata configurazione multipiattaforma

Soluzione: crea contenitori compatibili con ARM64. Puoi prendere in considerazione l'utilizzo di buildx per build multipiattaforma. In alternativa, puoi usare. CodeBuild Per esempio di codice, consulta Amazon Bedrock AgentCore Samples.

Quali sono i requisiti per i contenitori Docker utilizzati con Amazon Bedrock Runtime AgentCore ?

Consulta i requisiti di Amazon Bedrock AgentCore Runtime per tutti i dettagli.

In sintesi, il contenitore Docker deve soddisfare questi requisiti:

  • Porta: Expose port 8080 (presto verranno supportate porte aggiuntive)

  • Endpoint: deve avere un percorso disponibile /invocations

  • Architettura: deve essere compatibile con ARM64

  • Risposta: dovrebbe gestire il formato di payload previsto

Il mio utensile a lunga durata si interrompe dopo 15 minuti

Per informazioni complete, consulta Gestire agenti asincroni e di lunga durata con Amazon Bedrock Amazon Bedrock Runtime AgentCore .

Quando ciò si verifica: durante operazioni a esecuzione prolungata degli agenti o flussi di lavoro complessi

Perché questo accade: Amazon Bedrock interrompe AgentCore automaticamente le sessioni dopo 15 minuti di inattività. La piattaforma determina l'attività in base alla /ping risposta: un report di sessione HealthyBusy viene mantenuto attivo, mentre un report di sessione Healthy viene considerato idoneo all'inattività e il relativo tempo di inattività viene misurato a partire dall'statusultima modifica (vedi il campo seguente). time_of_last_update

Soluzione: assicurati che l'/pingendpoint venga ripristinato HealthyBusy mentre è in corso il lavoro in background:

{"status": "HealthyBusy"}

Se utilizzi Bedrock AgentCore SDK, la risposta al ping viene gestita automaticamente. Per le implementazioni personalizzate, assicurati che il gestore del ping ritorni durante l'elaborazione. HealthyBusy

Le mie sessioni inattive non vengono rilasciate e sto esaurendo la mia quota di sessioni

Quando ciò si verifica: il numero di sessioni aumenta continuamente sotto carico e le sessioni non vengono rilasciate dopo il timeout di inattività (ad esempio, maxVms erroriServiceQuotaExceededException/durante una serie di chiamate), anche se ogni sessione è inattiva.

Perché ciò accade: quando una sessione viene segnalataHealthy, la piattaforma misura per quanto tempo è rimasta inattiva dal time_of_last_update campo della /ping risposta, il che deve indicare la data dell'ultima modifica. status Se il gestore del ping imposta l'ora corrente time_of_last_update per ogni ping, il tempo di inattività segnalato continua a essere ripristinato, il che impedisce l'attivazione del timeout di inattività. Le sessioni resteranno attive fino MaxLifetime a esaurimento della quota di sessioni.

Soluzione: esegui l'aggiornamento time_of_last_update solo quando status effettivamente cambia o omettilo completamente in modo che la piattaforma tenga traccia dei cambiamenti di stato da sola:

{"status": "Healthy"}

Se utilizzi Bedrock AgentCore SDK, esegui l'upgrade alla versione più recente, in cui la risposta al ping viene gestita correttamente. Come soluzione provvisoria, le chiamate StopRuntimeSession rilasciano sessioni bloccate.

Come posso accedere al runtime SessionId del codice del mio agente per etichettare o raggruppare le risorse?

In tal caso: si desidera raggruppare, etichettare o tracciare le risorse (ad esempio, oggetti S3, registri) in base alla sessione di runtime dell'agente corrente.

Soluzioni:

  • Se utilizzi l'SDK di Bedrock Agents, usa. context.session_id

  • Se stai creando un server di runtime personalizzato, estrailo dall'intestazione X-Amzn-Bedrock-AgentCore-Runtime-Session-Id HTTP.

Soluzione 1: per gli agenti che utilizzano l' AgentCore SDK Amazon Bedrock di Bedrock, utilizzalo context.session_id dal punto di accesso dell'agente

@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

Soluzione 2: per server HTTP di runtime personalizzati

L'ID della sessione di runtime viene passato in questa intestazione HTTP. Analizzalo dalla richiesta in entrata e usalo per l'etichettatura, la correlazione o la propagazione a valle.

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

Ho (403) problemi RuntimeClientError

Problema

Si riceve un 403 "RuntimeClientError" quando si tenta di richiamare il runtime dell'agente.

Cause

Questo errore si verifica in genere a causa di:

  • Errori di avvio del contenitore

  • Problemi di autorizzazione relativi al ruolo di esecuzione

  • Problemi di autenticazione con il token bearer

Resolution (Risoluzione)

Segui questi passaggi per risolvere il problema:

  1. Verifica CloudWatch i registri: eventuali problemi con l'avvio del contenitore verranno visualizzati come 403 -. RuntimeClientError Passa al seguente gruppo di CloudWatch log per verificare la presenza di errori di avvio:

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/[runtime-logs]
  2. Verifica il ruolo di esecuzione: assicurati che il ruolo di esecuzione del tuo agente disponga delle autorizzazioni necessarie. Per ulteriori informazioni, consulta Ruolo di esecuzione in AgentCore fase di esecuzione.

  3. Convalida l'autenticazione: per gli agenti del protocollo MCP, assicurati che il token bearer sia valido e non scaduto.

Ho dei log mancanti o vuoti CloudWatch

Problema

Si verificano errori ma non viene visualizzato alcun log in pertinente. CloudWatch

Soluzione

Prova questi approcci per diagnosticare il problema:

  1. Verifica il gruppo di log corretto: assicurati di cercare nel gruppo di CloudWatch log giusto. Lo schema standard è:

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/runtime-logs
  2. Esegui localmente per la diagnostica: se non ci sono CloudWatch registri, prova a eseguire il contenitore dell'agente localmente utilizzando lo stesso payload utilizzato per la chiamata in Runtime. AgentCore Questo può aiutare a identificare problemi che potrebbero non essere visibili nei log.

  3. Abilita la registrazione dettagliata: aggiorna il codice dell'agente per includere una registrazione più dettagliata, in particolare per quanto riguarda i punti di ingresso e qualsiasi logica di gestione degli errori.

Ho problemi con il formato del payload

Problema

La chiamata al runtime dell'agente fallisce anche se il contenitore viene avviato correttamente.

Resolution (Risoluzione)

Segui questi passaggi per risolvere i problemi relativi al formato del payload:

  1. Verifica la struttura del payload: assicurati che la struttura del payload corrisponda a ciò che il tuo agente si aspetta. Presta particolare attenzione a:

    • Se il codice dell'agente prevede una input parola chiave nel payload, assicurati di includerla:

      { "input": { "prompt": "Your question here" } }
    • Non solo:

      { "prompt": "Your question here" }
  2. Controlla la documentazione: esamina il formato di input previsto nella documentazione.

Ho bisogno di aiuto per comprendere i codici di errore HTTP

Problema

Il tuo agente restituisce codici di errore HTTP difficili da interpretare.

Esempio di messaggio di errore

Potresti visualizzare un errore del tipo:

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

Resolution (Risoluzione)

Ecco i codici di errore più comuni e il loro significato:

422 Entità non processabile

Ciò accade quando il contenitore riscontra problemi di convalida con il payload di input.

Cause comuni:

  • Campi obbligatori mancanti nel payload (ad esempio, campo «input» mancante)

  • Tipi di dati errati per i campi

  • Formato non valido per il payload

403 Forbidden (403 Non consentito)

Problemi di autenticazione o autorizzazione.

Controlla il tuo token bearer o le autorizzazioni IAM.

500 Errore interno del server

Eccezioni di runtime nel codice dell'agente.

Controlla CloudWatch i log per tracce dettagliate dello stack.

Ho bisogno di consigli per testare il mio agente

Per eseguire sistematicamente il debug dei problemi di runtime dell'agente:

Esegui prima il test localmente

Prima della distribuzione su AgentCore Runtime:

  • Esegui il contenitore del tuo agente localmente utilizzando la stessa immagine Docker

  • Verifica che funzioni con lo stesso payload

Confronta i payload

Garantisci la coerenza tra gli ambienti:

  • Assicurati che la struttura del payload tra i test locali e l'invocazione AgentCore di Runtime sia identica

  • Presta particolare attenzione all'annidamento di campi come «input» e «prompt»

Ho bisogno di aiuto per risolvere i problemi relativi ai container

Se sospetti problemi relativi ai contenitori:

Estrai ed esegui localmente

Prova l'immagine del contenitore sul tuo computer locale:

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

Prova con curl

Invia richieste di test al tuo contenitore locale:

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

Controlla i registri del contenitore

Esamina l'output del contenitore per individuare eventuali errori:

docker logs <container-id>

Ho bisogno di aiuto per la risoluzione dei problemi relativi agli agenti del protocollo MCP

Per gli agenti del protocollo MCP, seguite questi passaggi specifici per la risoluzione dei problemi:

Verifica il percorso dell'endpoint

I server MCP devono ascoltare 0.0.0.0:8000/mcp/

Usa MCP Inspector

Prova con lo strumento MCP Inspector:

  1. Installa ed esegui MCP Inspector: npx @modelcontextprotocol/inspector

  2. Connect al server locale all'indirizzo http://localhost:8000/mcp

  3. Per gli agenti distribuiti, utilizzate l'endpoint appropriato URL-encoded

Problemi di autenticazione

Verifica la configurazione dell'autenticazione:

  • Assicurati che il token bearer sia impostato correttamente nelle intestazioni

  • Verifica che il tuo pool di utenti di Cognito sia configurato correttamente

Ho bisogno di aiuto per la risoluzione dei problemi relativi allo streaming bidirezionale utilizzando WebSocket

Per lo streaming bidirezionale tramite WebSocket agenti, segui questi passaggi specifici per la risoluzione dei problemi:

Verifica la configurazione degli endpoint

WebSocket gli agenti devono funzionare sulla porta 8080 e servire le WebSocket connessioni sul percorso /ws

Esegui il test localmente con complessità incrementale

Inizia con semplici test locali prima di implementare:

  1. Verifica la connessione di base: verifica che il tuo agente accetti WebSocket le connessioni a ws://localhost:8080/ws

  2. Gestione dei messaggi di prova: invia semplici messaggi di testo e verifica le risposte

  3. Gestione delle sessioni di test: verifica che le conversazioni persistenti funzionino come previsto

  4. Gestione degli errori di test: assicurati che il tuo agente gestisca correttamente le interruzioni di connessione e i messaggi non corretti

Problemi di autenticazione

Verifica la configurazione di autenticazione per gli agenti distribuiti:

  • Per OAuth: assicurati che il token bearer sia valido e non scaduto

  • Per SigV4: assicurati che l'input nell'algoritmo di firma sia corretto, inclusi l' WebSocket URL, le intestazioni e il metodo di richiesta

  • Utilizza il metodo di autenticazione corretto che corrisponde alla configurazione del tuo agente

Problemi di connessione comuni

Risolvi i problemi di WebSocket connessione più comuni:

  • Verifica la compatibilità del formato dei messaggi tra le aspettative del tuo agente e del cliente

  • Configura la frammentazione dei frame dei messaggi o implementa la suddivisione in blocchi per rispettare i limiti delle dimensioni dei frame dei messaggi (64 KB) e della frequenza dei frame dei messaggi (250 frame al secondo) per evitare la chiusura della connessione

Le mie modifiche al codice non si riflettono nelle sessioni esistenti

Problema

Hai aggiornato il runtime dell'agente con un nuovo codice, ma le sessioni esistenti continuano a utilizzare la vecchia versione.

Perché questo accade

Ogni sessione MicroVM viene creata con le risorse di codice (agentRuntimeArtifact) distribuite al momento della creazione della sessione. Una volta stabilita, una sessione continua a utilizzare quella versione del codice fino al termine della sessione, anche quando le risorse di codice vengono aggiornate durante l'esecuzione dell'operazione. UpdateAgentRuntime

Soluzione

Per accedere al codice aggiornato, utilizza un nuovo ID di sessione.

Mancano gli intervalli quando il mio runtime viene richiamato da una funzione Lambda

In questo caso: quando si richiama AgentCore Runtime da una funzione Lambda

Perché questo accade: Lambda genera la propria X-Amzn-Trace-Id intestazione. Se la traccia Lambda lo haSampled=0, questo contesto non campionato si propaga a AgentCore Runtime e il runtime salta la generazione dello span per quella chiamata.

Soluzione::

  • Abilita il tracciamento attivo Lambda: attiva il tracciamento X-Ray attivo sulla tua funzione Lambda in modo che produca tracce campionate (). Sampled=1

  • Verifica la ricerca CloudWatch delle transazioni: assicurati di aver completato la configurazione in Configure observability e che la destinazione del segmento di traccia sia impostata su Logs. CloudWatch

  • Verifica la decisione di campionamento: registra la variabile di _X_AMZN_TRACE_ID ambiente all'interno della tua funzione Lambda. Se viene visualizzatoSampled=0, il tracciamento attivo non è abilitato o è un chiamante a monte a prendere la decisione di campionamento.

Il montaggio di My S3 Files o EFS fallisce con «Accesso negato»

In questo caso: durante la chiamata di un agente con S3 Files o storage EFS configurato

Perché ciò accade: al ruolo di esecuzione mancano le autorizzazioni richieste per il filesystem. Per ulteriori informazioni sulla configurazione dell'archiviazione persistente, consulta Configurazioni del file system per Runtime. AgentCore

Soluzione::

Per i file S3, assicurati che il tuo ruolo di esecuzione abbia:

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

Per EFS, assicurati che il tuo ruolo di esecuzione abbia:

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

Ometti s3files:ClientWrite o elasticfilesystem:ClientWrite se il tuo agente necessita solo dell'accesso in lettura.

Il montaggio dei miei file S3 o EFS fallisce con "» ResourceNotFound

In questo caso: durante la chiamata di un agente con S3 Files o storage EFS configurato

Perché questo accade: il filesystem o il punto di accesso sono stati eliminati dopo la creazione dell'agente oppure gli ID non sono corretti.

Soluzione::

  • Verifica l'esistenza del file system:

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

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

  • Verifica che il punto di accesso esista:

    • 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>

  • Verifica che gli obiettivi di montaggio esistano in tutte le zone di disponibilità richieste:

    • 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>

    • Assicurati che ogni destinazione di montaggio mostri lo stato Disponibile e si trovi nello stesso VPC del runtime dell'agente.

  • Se la risorsa è stata eliminata, ricreala e aggiorna il runtime dell'agente con il nuovo punto di accesso ARN

Timeout del montaggio di My S3 Files o EFS

In questo caso: durante la chiamata di un agente con S3 Files o storage EFS configurato. La chiamata potrebbe richiedere più tempo del solito prima di fallire.

Perché ciò accade: la configurazione di rete VPC blocca il traffico NFS (porta 2049) tra l'elaborazione dell'agente e le destinazioni di montaggio del file system.

Soluzione::

  • Controlla i gruppi di sicurezza sugli obiettivi di montaggio: verifica che il gruppo di sicurezza collegato ai target di montaggio consenta il protocollo TCP in entrata sulla porta 2049 proveniente dal gruppo di sicurezza utilizzato dal runtime dell'agente

  • Controlla i gruppi di sicurezza sul runtime dell'agente: verifica che il gruppo di sicurezza utilizzato dal runtime dell'agente consenta il protocollo TCP in uscita sulla porta 2049 verso il gruppo di sicurezza di destinazione del montaggio

  • Verifica che gli obiettivi di montaggio esistano nelle zone di disponibilità corrette: i target di montaggio devono esistere nelle stesse zone di disponibilità delle sottoreti configurate nel runtime dell'agente:

    • 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>

  • Verifica il routing delle sottoreti: assicurati che le sottoreti abbiano un routing corretto (route VPC locale per l'intervallo CIDR)

Ricevo il messaggio «Autorizzazione negata» quando scrivo sul mio filesystem montato

Quando ciò si verifica: la chiamata dell'agente ha esito positivo e l'agente può leggere i file dal mount, ma la scrittura fallisce con «Autorizzazione negata»

Perché ciò accade: o al ruolo IAM mancano le autorizzazioni di scrittura oppure le autorizzazioni POSIX sulla directory impostata durante la creazione del punto di accesso non consentono le scritture per l'utente dell'agente.

Soluzione::

  • Verifica le autorizzazioni IAM: assicurati che il tuo ruolo di esecuzione includa s3files:ClientWrite (file S3) o (elasticfilesystem:ClientWriteEFS). Senza autorizzazioni di scrittura, il montaggio è di sola lettura. Per ulteriori informazioni, consulta le autorizzazioni per il ruolo di esecuzione di Amazon Bedrock AgentCore Runtime.

  • Verifica le autorizzazioni POSIX: se la directory è di proprietà di un utente diverso dal processo del contenitore, le scritture verranno negate. Una delle seguenti opzioni:

    • Imposta POSIXUser del tuo punto di accesso in modo che corrisponda a quello con cui viene eseguito uid/gid il contenitore, in modo che tutte le operazioni vengano eseguite come tale utente.

    • Imposta le autorizzazioni della directory su 777 per consentire a tutti gli utenti di scrivere.

Il mio contenitore non si avvia con l'errore HTTP 424 su immagini di alto livello

In questo caso: le InvokeAgentRuntime chiamate restituiscono HTTP 424 (Failed Dependency) e vengono visualizzati i log dell'agente. Failed to mount overlay: No such file or directory Ciò si verifica quando l'immagine del contenitore ha più di 53 livelli E utilizza una direttiva USER non numerica (ad esempio, invece di). USER myuser USER 1000

Perché ciò accade: le immagini del contenitore con molti livelli combinate con direttive USER non numeriche possono causare errori di inizializzazione.

Soluzione: utilizzate una di queste soluzioni alternative:

  • Usa una direttiva USER numerica: nel tuo Dockerfile, sostituiscila USER myuser con l'UID numerico (ad esempio,). USER 1000 Puoi trovare l'UID del tuo utente eseguendolo all'interno del contenitore. id myuser Questo evita completamente il montaggio del filesystem.

  • Riduci i livelli dell'immagine: utilizza build Docker in più fasi per ridurre l'immagine a meno di 53 livelli. Puoi controllare il numero di livelli dell'immagine con:

docker inspect <image> | jq '.[0].RootFS.Layers | length'
  • Livelli di squash: usa docker build --squash uno strumento simile docker-squash per appiattire i livelli dell'immagine.

Best practice

Abilita la registrazione completa

Implementa una registrazione completa nel tuo agente:

  • Includi request/response l'accesso al tuo agente

  • Registra percorsi critici e condizioni di errore

Utilizza la gestione strutturata degli errori

Implementa una chiara segnalazione degli errori:

  • Restituisci messaggi di errore chiari con codici specifici

  • Includi informazioni utili nelle risposte agli errori

Verifica le modifiche incrementali

Segui un approccio metodico di test:

  • Quando modifichi il tuo agente, esegui il test localmente prima della distribuzione

  • Convalida la compatibilità del payload con gli ambienti locali e distribuiti

Monitora le prestazioni

Configura il monitoraggio per il tuo agente:

  • Usa le CloudWatch metriche per tracciare i modelli di invocazione

  • Imposta allarmi per i tassi di errore e la latenza