View a markdown version of this page

Résoudre les problèmes d'exécution AgentCore - Base rocheuse de l'Amazonie AgentCore
Les appels de mon agent échouent avec le message « Ce runtime n'est pas MMDSv2-enabled » ValidationExceptionLes appels de mon agent échouent avec des erreurs 504 Gateway TimeoutMa version de Docker échoue avec « 403 Forbidden » lors de l'extraction d'images de base PythonJ'obtiens l'erreur « Service inconnu : 'bedrock-agent-core-runtime' » lors de l'utilisation de boto3J'obtiens « AccessDeniedException » lorsque j'essaie de créer un environnement d'exécution Amazon Bedrock AgentCoreMa version de Docker échoue avec « exec/bin/sh: exec format error »Quelles sont les exigences relatives aux conteneurs Docker utilisés avec Amazon Bedrock AgentCore Runtime ?Mon outil de longue durée est interrompu au bout de 15 minutesMes sessions inactives ne sont pas publiées et j'épuise mon quota de sessionsComment accéder à l'environnement d'exécution SessionId dans le code de mon agent pour baliser ou regrouper des ressources ?J'ai RuntimeClientError (403) problèmesJ'ai des CloudWatch journaux vides ou manquantsJ'ai des problèmes de format de charge utileJ'ai besoin d'aide pour comprendre les codes d'erreur HTTPJ'ai besoin de recommandations pour tester mon agentJ'ai besoin d'aide pour résoudre les problèmes de conteneursJ'ai besoin d'aide pour résoudre les problèmes liés aux agents du protocole MCPJ'ai besoin d'aide pour résoudre le problème du streaming bidirectionnel à l'aide de WebSocketMes modifications de code ne sont pas reflétées dans les sessions existantesLes spans sont manquantes lorsque mon environnement d'exécution est invoqué depuis une fonction LambdaLe montage de mes fichiers S3 ou EFS échoue avec « Accès refusé »Le montage de mes fichiers S3 ou EFS échoue avec « ResourceNotFound »Le montage de mes fichiers S3 ou EFS expireJ'obtiens « Autorisation refusée » lorsque j'écris sur mon système de fichiers montéMon conteneur ne démarre pas avec une erreur HTTP 424 sur les images à couche supérieureMon fournisseur de capacité est dans l'état CREATE_FAILEDMes agents sur Instances n'ont pas accès à leurs informations d'identificationBonnes pratiques

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résoudre les problèmes d'exécution AgentCore

Cette rubrique de dépannage vous aide à identifier et à résoudre les problèmes courants liés à l'utilisation de AgentCore Runtime. En suivant ces solutions, vous pouvez rapidement diagnostiquer et résoudre les problèmes liés au temps d'exécution de vos agents.

Rubriques

Les appels de mon agent échouent avec le message « Ce runtime n'est pas MMDSv2-enabled » ValidationException

Lorsque cela se produit : lors de l'appel d'un moteur d'exécution d'un agent via InvokeAgentRuntimeExecuteCommand, InvokeAgentRuntimeWithWebSocketStreamInvokeAgentRuntimeCommandShell, ou GetAgentCard

Pourquoi cela se produit : à compter du 30 juin 2026, Amazon Bedrock AgentCore Runtime exige que tous les environnements d'exécution des agents utilisent MMDSv2 (MicroVM Metadata Service version 2). Le service rejette les appels ciblant des environnements d'exécution non metadataConfiguration définis, ou dont la valeur est requireMMDSV2 définie sur ou. false null

Solution : appelez UpdateAgentRuntime avec requireMMDSV2 réglé pour true entrer 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}")

Après la mise à jour, les nouvelles invocations réussiront. Les sessions existantes ne sont pas affectées.

Les appels de mon agent échouent avec des erreurs 504 Gateway Timeout

Dans ce cas : lors de l'appel de l'agent via le SDK ou la console

Pourquoi cela se produit : plusieurs facteurs peuvent empêcher votre agent de répondre dans le délai imparti

Plusieurs facteurs peuvent en être la cause :

  • Problèmes de conteneur : assurez-vous que votre image Docker expose le port 8080 et contient le chemin /invocations

  • Compatibilité ARM64 : Actuellement, votre conteneur doit être compatible ARM64

  • Logique des nouvelles tentatives : passez en revue les mécanismes de nouvelle tentative pour gérer les problèmes transitoires

Ma version de Docker échoue avec « 403 Forbidden » lors de l'extraction d'images de base Python

Lorsque cela se produit : pendant docker build ou docker run lors de l'utilisation d'images public.ecr.aws de base

Pourquoi cela se produit : problèmes d'authentification ECR Public : l'authentification expirée ou manquante est un problème courant.

Solution : connectez-vous à ECR Public ou déconnectez-vous complètement :

# 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

J'obtiens l'erreur « Service inconnu : 'bedrock-agent-core-runtime' » lors de l'utilisation de boto3

Lorsque cela se produit : lors de l'appel des AgentCore API Amazon Bedrock à l'aide du SDK boto3

Pourquoi cela se produit : bibliothèque boto3 obsolète — problème courant car la plupart des installations ne disposent pas du dernier SDK

Solution : mise à jour vers les dernières versions de boto3 et botocore :

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

J'obtiens « AccessDeniedException » lorsque j'essaie de créer un environnement d'exécution Amazon Bedrock AgentCore

Dans ce cas : lors de la création de l'agent via la console, le SDK ou l'interface de ligne de commande

Pourquoi cela se produit : soit votre utilisateur n'a pas d'autorisations, soit le rôle d'exécution n'est pas correctement configuré pour Amazon Bedrock AgentCore

Solution : Plusieurs facteurs peuvent en être la cause :

  • Autorisations manquantes pour l'appelant. Assurez-vous que les informations d'identification de l'appelant possèdentbedrock-agentcore:CreateAgentRuntime.

  • Le rôle d'exécution ne peut pas être assumé par Amazon Bedrock AgentCore. Assurez-vous que le rôle d'exécution respecte ces instructions concernant les autorisations pour le rôle d'exécution Amazon Bedrock AgentCore Runtime.

Ma version de Docker échoue avec « exec/bin/sh: exec format error »

Lorsque cela se produit : lors de la création de conteneurs pour le déploiement d'Amazon Bedrock AgentCore

Pourquoi cela se produit : création de conteneurs ARM64 sur des systèmes x86 sans configuration multiplateforme appropriée

Solution : créez des conteneurs compatibles ARM64. Vous pouvez envisager d'utiliser buildx pour les builds multiplateformes. Vous pouvez également utiliser CodeBuild. Pour un exemple de code, consultez les AgentCore échantillons https://github.com/awslabs/amazon-bedrock-agentcore-samples/ Amazon Bedrock.

Quelles sont les exigences relatives aux conteneurs Docker utilisés avec Amazon Bedrock AgentCore Runtime ?

Consultez les exigences AgentCore d'Amazon Bedrock Runtime pour plus de détails.

En résumé, votre conteneur Docker doit répondre aux exigences suivantes :

  • Port : Exposez le port 8080 (des ports supplémentaires seront bientôt pris en charge)

  • Point de terminaison : le /invocations chemin doit être disponible

  • Architecture : doit être compatible avec ARM64

  • Réponse : Devrait gérer le format de charge utile attendu

Mon outil de longue durée est interrompu au bout de 15 minutes

Pour plus d'informations, consultez Gérer les agents asynchrones et de longue durée avec Amazon Bedrock AgentCore Runtime pour plus de détails.

Lorsque cela se produit : lors d'opérations d'agent de longue durée ou de flux de travail complexes

Pourquoi cela se produit : Amazon Bedrock met AgentCore automatiquement fin aux sessions après 15 minutes d'inactivité. La plateforme détermine l'activité à partir de la /ping réponse : un rapport de session HealthyBusy est maintenu en vie, tandis qu'un rapport de session Healthy est considéré comme éligible à l'inactivité et son temps d'inactivité est mesuré à partir de la status dernière modification (voir le time_of_last_update champ ci-dessous).

Solution : assurez-vous que votre /ping terminal revient HealthyBusy pendant que le travail d'arrière-plan est en cours :

{"status": "HealthyBusy"}

Si vous utilisez le AgentCore SDK Bedrock, la réponse ping est gérée automatiquement. Pour les implémentations personnalisées, assurez-vous que votre gestionnaire de ping est renvoyé HealthyBusy pendant le traitement.

Mes sessions inactives ne sont pas publiées et j'épuise mon quota de sessions

Lorsque cela se produit : le nombre de sessions augmente continuellement en cas de charge et les sessions ne sont pas libérées après le délai d'inactivité (par exemple, maxVms des erreursServiceQuotaExceededException/lors d'une rafale d'appels), même si chaque session est inactive.

Pourquoi cela se produit : lorsqu'une session génère un rapportHealthy, la plateforme mesure depuis combien de temps elle est restée inactive à partir du time_of_last_update champ de votre /ping réponse, qui doit refléter la date de la status dernière modification. Si votre gestionnaire de ping définit l'heure actuelle time_of_last_update pour chaque ping, le temps d'inactivité indiqué est constamment réinitialisé, ce qui empêche le déclenchement du délai d'inactivité. Les sessions sont ensuite diffusées jusqu'à MaxLifetime épuisement de votre quota de sessions.

Solution : mettez à jour time_of_last_update uniquement lorsque cela change status réellement, ou omettez-le complètement pour que la plateforme suive elle-même les changements de statut :

{"status": "Healthy"}

Si vous utilisez le AgentCore SDK Bedrock, passez à la dernière version, dans laquelle la réponse ping est gérée correctement. En guise de solution, l'appel StopRuntimeSession libère des sessions bloquées.

Comment accéder à l'environnement d'exécution SessionId dans le code de mon agent pour baliser ou regrouper des ressources ?

Lorsque cela s'applique : vous souhaitez regrouper, baliser ou suivre des ressources (par exemple, des objets S3, des journaux) en fonction de la session d'exécution de l'agent en cours.

Solutions :

  • Si vous utilisez le SDK Bedrock Agents, utilisez. context.session_id

  • Si vous créez un serveur d'exécution personnalisé, extrayez-le de l'en-tête X-Amzn-Bedrock-AgentCore-Runtime-Session-Id HTTP.

Solution 1 : pour les agents utilisant le AgentCore SDK Bedrock Amazon Bedrock, utilisez-le depuis le point d'entrée context.session_id de votre agent

@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

Solution 2 : pour les serveurs HTTP d'exécution personnalisés

L'ID de session d'exécution est transmis dans cet en-tête HTTP. Analysez-le à partir de la demande entrante et utilisez-le pour le balisage, la corrélation ou la propagation en aval.

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

J'ai RuntimeClientError (403) problèmes

Problème

Vous recevez un 403 « RuntimeClientError » lorsque vous tentez d'appeler le moteur d'exécution de votre agent.

Les causes

Cette erreur se produit généralement pour les raisons suivantes :

  • Échecs de démarrage du conteneur

  • Problèmes d'autorisations liés au rôle d'exécution

  • Problèmes d'authentification avec le jeton du porteur

Résolution

Pour résoudre le problème, procédez comme suit :

  1. Vérifiez CloudWatch les journaux  : tout problème lié au démarrage du conteneur sera indiqué par un 403 - RuntimeClientError. Accédez au groupe de CloudWatch journaux suivant pour vérifier les erreurs de démarrage :

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/[runtime-logs]
  2. Vérifiez le rôle d'exécution  : assurez-vous que le rôle d'exécution de votre agent dispose des autorisations nécessaires. Pour plus d'informations, consultez la section Rôle AgentCore d'exécution au moment de l'exécution.

  3. Valider l'authentification  : pour les agents du protocole MCP, assurez-vous que votre jeton porteur est valide et qu'il n'a pas expiré.

J'ai des CloudWatch journaux vides ou manquants

Problème

Vous rencontrez des erreurs mais aucun identifiant pertinent ne s'affiche CloudWatch.

Solution

Essayez les approches suivantes pour diagnostiquer le problème :

  1. Vérifiez le groupe de journaux correct  : assurez-vous que vous recherchez le bon groupe de CloudWatch journaux. Le schéma standard est le suivant :

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/runtime-logs
  2. Exécuter localement pour les diagnostics  : s'il n'y a pas de CloudWatch journaux, essayez d'exécuter le conteneur de l'agent localement en utilisant exactement la même charge utile que celle utilisée pour l'invocation dans AgentCore Runtime. Cela peut aider à identifier les problèmes qui peuvent ne pas être visibles dans les journaux.

  3. Activez la journalisation détaillée  : mettez à jour le code de votre agent pour inclure une journalisation plus détaillée, en particulier en ce qui concerne les points d'entrée et toute logique de gestion des erreurs.

J'ai des problèmes de format de charge utile

Problème

L'appel à l'exécution de votre agent échoue même si le conteneur démarre correctement.

Résolution

Pour résoudre les problèmes de format de charge utile, procédez comme suit :

  1. Vérifiez la structure de la charge utile  : assurez-vous que la structure de votre charge utile correspond aux attentes de votre agent. Portez une attention particulière à :

    • Si le code de votre agent attend un input mot clé dans la charge utile, assurez-vous de l'inclure :

      { "input": { "prompt": "Your question here" } }
    • Pas seulement :

      { "prompt": "Your question here" }
  2. Vérifiez la documentation  : vérifiez le format d'entrée attendu dans la documentation.

J'ai besoin d'aide pour comprendre les codes d'erreur HTTP

Problème

Votre agent renvoie des codes d'erreur HTTP difficiles à interpréter.

Exemple de message d'erreur

Il se peut que vous voyiez une erreur telle que :

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

Résolution

Voici les codes d'erreur les plus courants et leur signification :

422 Entité non traitable

Cela se produit lorsque le conteneur rencontre des problèmes de validation avec la charge utile d'entrée.

Causes courantes :

  • Champs obligatoires manquants dans la charge utile (par exemple, champ « de saisie » manquant)

  • Types de données incorrects pour les champs

  • Format non valide pour la charge utile

403 Forbidden

Problèmes d'authentification ou d'autorisation.

Vérifiez votre jeton porteur ou les autorisations IAM.

409 RetryableConflictException

Une deuxième opération a atteint une session alors qu'elle était encore en cours de provisionnement ou de désinstallation. Vous voyez le messageSession operation in progress, please retry.

Ce que cela signifie : Il s'agit d'un conflit transitoire pouvant être réessayé, et non d'une erreur terminale. La fenêtre est courte. Already-running les sessions ne sont pas affectées.

Comment y remédier : Réessayez l'opération avec une courte temporisation exponentielle. Pour les HTTP-based API (telles queInvokeAgentRuntime, etStopRuntimeSession)InvokeAgentRuntimeCommand, les AWS SDK réessayent automatiquement cette opération lorsque les nouvelles tentatives par défaut sont activées. Si vous avez désactivé les nouvelles tentatives ou si vous avez appelé l'API directement sans AWS SDK, ajoutez vous-même la nouvelle tentative. Pour les WebSocket-based API (telles que InvokeAgentRuntimeWithWebSocketStream etInvokeAgentRuntimeCommandShell), les AWS SDK ne réessayent pas automatiquement. Réessayez toujours vous-même.

Erreur interne du serveur 500

Exceptions d'exécution dans le code de votre agent.

Consultez les CloudWatch journaux pour obtenir des traces détaillées de la pile.

J'ai besoin de recommandations pour tester mon agent

Pour résoudre systématiquement les problèmes d'exécution de l'agent, procédez comme suit :

Testez d'abord localement

Avant le déploiement sur AgentCore Runtime :

  • Exécutez votre conteneur d'agents localement en utilisant la même image Docker

  • Vérifiez qu'il fonctionne avec exactement la même charge utile

Comparez les charges utiles

Garantissez la cohérence entre les environnements :

  • Assurez-vous que la structure de charge utile entre les tests locaux et l'invocation du AgentCore Runtime est identique

  • Portez une attention particulière à l'imbrication des champs tels que « saisie » et « invite »

J'ai besoin d'aide pour résoudre les problèmes de conteneurs

Si vous suspectez des problèmes liés aux conteneurs :

Tirez et exécutez localement

Testez l'image de votre conteneur sur votre machine locale :

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

Testez avec curl

Envoyez des demandes de test à votre conteneur local :

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

Vérifiez les journaux des conteneurs

Examinez la sortie du conteneur pour détecter d'éventuelles erreurs :

docker logs <container-id>

J'ai besoin d'aide pour résoudre les problèmes liés aux agents du protocole MCP

Pour les agents du protocole MCP, suivez ces étapes de dépannage spécifiques :

Vérifier le chemin du terminal

Les serveurs MCP devraient écouter 0.0.0.0:8000/mcp/

Utiliser MCP Inspector

Testez avec l'outil MCP Inspector :

  1. Installez et exécutez le MCP Inspector : npx @modelcontextprotocol/inspector

  2. Connectez-vous à votre serveur local à http://localhost:8000/mcp

  3. Pour les agents déployés, utilisez le URL-encoded terminal approprié

Problèmes d’authentification

Vérifiez la configuration de l'authentification :

  • Assurez-vous que le jeton du porteur est correctement défini dans les en-têtes

  • Vérifiez que votre groupe d'utilisateurs Cognito est correctement configuré

J'ai besoin d'aide pour résoudre le problème du streaming bidirectionnel à l'aide de WebSocket

Pour le streaming bidirectionnel à l'aide d' WebSocket agents, suivez ces étapes de dépannage spécifiques :

Vérifier la configuration des terminaux

WebSocket les agents doivent s'exécuter sur le port 8080 et servir les WebSocket connexions sur /ws le chemin

Testez localement avec une complexité incrémentielle

Commencez par de simples tests locaux avant de déployer :

  1. Testez la connexion de base : vérifiez que votre agent accepte WebSocket les connexions à ws://localhost:8080/ws

  2. Gestion des messages de test : envoyez des messages texte simples et vérifiez les réponses

  3. Gestion des sessions de test : vérifiez que les conversations persistantes fonctionnent comme prévu

  4. Gestion des erreurs de test : assurez-vous que votre agent gère correctement les interruptions de connexion et les messages mal formés

Problèmes d’authentification

Vérifiez la configuration de l'authentification pour les agents déployés :

  • Pour OAuth : assurez-vous que le jeton du porteur est valide et qu'il n'a pas expiré

  • Pour Sigv4 : assurez-vous que les entrées de l'algorithme de signature sont correctes, y compris l' WebSocket URL, les en-têtes et la méthode de demande

  • Utilisez la méthode d'authentification appropriée qui correspond à la configuration de votre agent

Problèmes de connexion courants

Résolvez les problèmes de WebSocket connexion courants :

  • Vérifiez la compatibilité du format de message entre les attentes de votre agent et celles de vos clients

  • Configurez la fragmentation des trames de messages ou implémentez le découpage pour respecter les limites de taille de trame de message (64 Ko) et de débit de messages (250 images par seconde) afin d'empêcher la fermeture de la connexion

Mes modifications de code ne sont pas reflétées dans les sessions existantes

Problème

Vous avez mis à jour le moteur d'exécution de votre agent avec un nouveau code, mais les sessions existantes continuent d'utiliser l'ancienne version.

Pourquoi cela se produit

Chaque session MicroVM est créée avec les actifs de code (agentRuntimeArtifact) qui ont été déployés au moment de la création de la session. Une fois qu'une session est établie, elle continue à utiliser cette version du code jusqu'à la fin de la session, même lorsque les éléments de code sont mis à jour dans le cadre de l'exécution de l'UpdateAgentRuntimeopération.

Solution

Pour accéder à votre code mis à jour, utilisez un nouvel identifiant de session.

Les spans sont manquantes lorsque mon environnement d'exécution est invoqué depuis une fonction Lambda

Lorsque cela se produit : lors de l'appel de AgentCore Runtime à partir d'une fonction Lambda

Pourquoi cela se produit : Lambda génère son propre X-Amzn-Trace-Id en-tête. Si c'est le cas de la trace LambdaSampled=0, ce contexte non échantillonné se propage vers AgentCore Runtime et le runtime ignore la génération de span pour cette invocation.

Solution :

  • Activer le suivi actif Lambda : activez le suivi X-Ray actif sur votre fonction Lambda afin qu'elle produise des traces échantillonnées (). Sampled=1

  • Vérifiez CloudWatch la recherche de transactions : assurez-vous d'avoir terminé la configuration dans Configurer l'observabilité et que la destination de votre segment de trace est définie sur CloudWatch Logs.

  • Vérifiez la décision d'échantillonnage : enregistrez la variable d'_X_AMZN_TRACE_IDenvironnement dans votre fonction Lambda. Si cela s'afficheSampled=0, le traçage actif n'est pas activé ou c'est un appelant en amont qui prend la décision d'échantillonnage.

Le montage de mes fichiers S3 ou EFS échoue avec « Accès refusé »

Lorsque cela se produit : lors de l'appel d'un agent avec des fichiers S3 ou un stockage EFS configuré

Pourquoi cela se produit : le rôle d'exécution ne dispose pas des autorisations de système de fichiers requises. Pour plus d'informations sur la configuration du stockage persistant, consultez la section Configurations du système de fichiers pour AgentCore Runtime.

Solution :

Pour les fichiers S3, assurez-vous que votre rôle d'exécution est le suivant :

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

Pour EFS, assurez-vous que votre rôle d'exécution est le suivant :

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

Omettez s3files:ClientWrite ou elasticfilesystem:ClientWrite si votre agent n'a besoin que d'un accès en lecture.

Le montage de mes fichiers S3 ou EFS échoue avec « ResourceNotFound »

Lorsque cela se produit : lors de l'appel d'un agent avec des fichiers S3 ou un stockage EFS configuré

Pourquoi cela se produit : le système de fichiers ou le point d'accès a été supprimé après la création de l'agent, ou les ID sont incorrects.

Solution :

  • Vérifiez que le système de fichiers existe :

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

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

  • Vérifiez que le point d'accès existe :

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

  • Vérifiez que les cibles de montage existent dans toutes les zones de disponibilité requises :

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

    • Assurez-vous que chaque cible de montage affiche l'état Disponible et se trouve dans le même VPC que l'environnement d'exécution de l'agent.

  • Si la ressource a été supprimée, recréez-la et mettez à jour le runtime de l'agent avec le nouvel ARN du point d'accès

Le montage de mes fichiers S3 ou EFS expire

Lorsque cela se produit : lors de l'appel d'un agent avec des fichiers S3 ou un stockage EFS configuré. L'invocation peut prendre plus de temps que d'habitude avant d'échouer.

Pourquoi cela se produit : La configuration réseau du VPC bloque le trafic NFS (port 2049) entre le calcul de l'agent et les cibles de montage du système de fichiers.

Solution :

  • Vérifiez les groupes de sécurité sur les cibles de montage : vérifiez que le groupe de sécurité attaché à vos cibles de montage autorise le TCP entrant sur le port 2049 en provenance du groupe de sécurité utilisé par l'environnement d'exécution de votre agent

  • Vérifiez les groupes de sécurité lors de l'exécution de l'agent : vérifiez que le groupe de sécurité utilisé par l'environnement d'exécution de votre agent autorise le TCP sortant sur le port 2049 vers le groupe de sécurité cible du montage

  • Vérifiez que les cibles de montage existent dans les zones de disponibilité appropriées : Les cibles de montage doivent exister dans les mêmes zones de disponibilité que les sous-réseaux configurés lors de l'exécution de votre agent :

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

  • Vérifiez le routage des sous-réseaux : assurez-vous que vos sous-réseaux disposent d'un routage approprié (route VPC locale pour la plage CIDR)

J'obtiens « Autorisation refusée » lorsque j'écris sur mon système de fichiers monté

Lorsque cela se produit : l'appel de l'agent réussit et l'agent peut lire les fichiers depuis le montage, mais l'écriture échoue avec « Autorisation refusée »

Pourquoi cela se produit : soit le rôle IAM ne dispose pas d'autorisations d'écriture, soit les autorisations POSIX sur le répertoire définies lors de la création du point d'accès n'autorisent pas les écritures pour l'utilisateur de l'agent.

Solution :

  • Vérifiez les autorisations IAM : assurez-vous que votre rôle d'exécution inclut s3files:ClientWrite (fichiers S3) ou elasticfilesystem:ClientWrite (EFS). Sans autorisations d'écriture, le montage est en lecture seule. Pour plus d'informations, consultez la section Autorisations pour le rôle d'exécution d'Amazon Bedrock AgentCore Runtime.

  • Vérifiez les autorisations POSIX : si le répertoire appartient à un utilisateur différent de celui de votre processus de conteneur, les écritures seront refusées. Deux options s'offrent à vous :

    • Définissez le POSIXuser de votre point d'accès pour qu'il corresponde à celui sous uid/gid lequel votre conteneur s'exécute, afin que toutes les opérations soient effectuées sous cet utilisateur.

    • Définissez les autorisations du répertoire sur 777 pour permettre à tous les utilisateurs d'écrire.

Mon conteneur ne démarre pas avec une erreur HTTP 424 sur les images à couche supérieure

Dans ce cas : vos InvokeAgentRuntime appels renvoient le protocole HTTP 424 (échec de dépendance) et les journaux de votre agent s'affichentFailed to mount overlay: No such file or directory. Cela se produit lorsque votre image de conteneur comporte plus de 53 couches ET utilise une directive USER non numérique (par exemple, USER myuser au lieu deUSER 1000).

Pourquoi cela se produit : les images de conteneur comportant de nombreuses couches combinées à des directives USER non numériques peuvent provoquer des échecs d'initialisation.

Solution : utilisez l'une des solutions suivantes :

  • Utilisez une directive USER numérique : dans votre Dockerfile, remplacez-la USER myuser par l'UID numérique (par exemple,). USER 1000 Vous pouvez trouver l'UID de votre utilisateur en vous connectant id myuser à l'intérieur du conteneur. Cela permet d'éviter complètement le montage du système de fichiers.

  • Réduire les couches d'image : utilisez des versions Docker en plusieurs étapes pour réduire votre image à moins de 53 couches. Vous pouvez vérifier le nombre de couches de votre image avec :

docker inspect <image> | jq '.[0].RootFS.Layers | length'
  • Superposez les calques : utilisez docker build --squash ou utilisez un outil similaire docker-squash pour aplatir les calques de votre image.

Mon fournisseur de capacité est dans l'état CREATE_FAILED

Lorsque cela se produit : après avoir appelé le type CreateCapacityProvider de calcul Instances, le fournisseur de capacité n'atteint pas ACTIVE et entre à la placeCREATE_FAILED.

Pourquoi cela se produit : un fournisseur de capacité s'appuie sur de multiples ressources (telles qu'un modèle de lancement et un groupe Auto Scaling) que le rôle d'opérateur du fournisseur de capacité doit être en mesure de créer. L'absence d'autorisations sur ce rôle entraîne un échec de création.

Solution : appelez l'GetCapacityProviderAPI pour récupérer la raison de l'échec dans le statusReason champ. statusReasonIdentifie les ressources qui n'ont pas pu être créées. Accordez au rôle d'opérateur du fournisseur de capacité les autorisations dont il a besoin pour créer ces ressources, puis créez à nouveau le fournisseur de capacité. Pour plus d'informations sur le rôle de l'opérateur, consultez la section Modèle de sécurité et autorisations pour les instances d'exécution.

Mes agents sur Instances n'ont pas accès à leurs informations d'identification

Dans ce cas : un agent qui s'exécute sur une session Instances ne peut pas obtenir les informations d'identification dont il a besoin pour appeler AWS les services.

Pourquoi cela se produit : le rôle d'exécution d'exécution est absent ou ne peut pas être assumé par AgentCore.

Solution : assurez-vous que le rôle d'exécution que vous avez configuré pour votre environnement d'exécution existe et permet bedrock-agentcore.amazonaws.com d'appelersts:AssumeRole. Pour plus d'informations, consultez la section Autorisations pour le rôle d'exécution d'Amazon Bedrock AgentCore Runtime.

Bonnes pratiques

Activez une journalisation complète

Mettez en place une journalisation complète dans votre agent :

  • Incluez la request/response connexion à votre agent

  • Enregistrez les chemins critiques et les conditions d'erreur

Utiliser la gestion structurée des erreurs

Implémentez des rapports d'erreurs clairs :

  • Renvoie des messages d'erreur clairs avec des codes spécifiques

  • Inclure des informations exploitables dans les réponses aux erreurs

Testez les modifications incrémentielles

Suivez une approche de test méthodique :

  • Lorsque vous modifiez votre agent, testez localement avant le déploiement

  • Valider la compatibilité de la charge utile avec les environnements locaux et déployés

Surveillez les performances

Configurez la surveillance pour votre agent :

  • Utilisez CloudWatch des métriques pour suivre les modèles d'invocation

  • Configurez des alarmes pour les taux d'erreur et la latence