View a markdown version of this page

Solucionar problemas de tiempo de ejecución AgentCore - Base amazónica AgentCore
Las invocaciones de mi agente fallan con el mensaje «Este tiempo de ejecución no es» MMDSv2-enabled ValidationExceptionLas invocaciones de mi agente fallan y se producen errores de tiempo de espera de 504 GatewayMi compilación de Docker falla con el mensaje «403 Forbidden» al extraer imágenes base de PythonAparece el error «Servicio desconocido: 'bedrock-agent-core-runtime'» cuando uso boto3Cuando intento crear un Amazon Bedrock Runtime, aparece AccessDeniedException «» AgentCoreMi compilación de Docker falla con el «error de formato exec/bin/sh: exec»¿Cuáles son los requisitos para los contenedores Docker que se utilizan con Amazon Bedrock Runtime? AgentCoreMi herramienta de larga duración se interrumpe después de 15 minutosMis sesiones inactivas no se publican y estoy agotando mi cuota de sesión¿Cómo accedo al código de ejecución de SessionId mi código de agente para etiquetar o agrupar los recursos?Tengo RuntimeClientError (403) problemasMe faltan registros o están vacíos CloudWatchTengo problemas con el formato de la cargaNecesito ayuda para entender los códigos de error HTTPNecesito recomendaciones para probar a mi agenteNecesito ayuda para solucionar problemas con los contenedoresNecesito ayuda para solucionar problemas con los agentes del protocolo MCPNecesito ayuda para solucionar el problema de la transmisión bidireccional utilizando WebSocketLos cambios que he hecho en el código no se reflejan en las sesiones existentesFaltan intervalos cuando se invoca mi tiempo de ejecución desde una función de LambdaEl montaje de mis archivos S3 o EFS falla y aparece el mensaje «Acceso denegado»El montaje de mis archivos S3 o EFS falla con "» ResourceNotFoundSe agota el tiempo de espera para el montaje de mis archivos S3 o EFSCuando escribo en mi sistema de archivos montado, aparece el mensaje «Permiso denegado»Mi contenedor no se inicia debido al error HTTP 424 en las imágenes de capa superiorMi proveedor de capacidad está en el estado CREATE_FAILEDMis agentes en Instances no tienen acceso a sus credencialesPrácticas recomendadas

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solucionar problemas de tiempo de ejecución AgentCore

Este tema de solución de problemas le ayuda a identificar y resolver los problemas más comunes al trabajar con AgentCore Runtime. Si sigue estas soluciones, puede diagnosticar y solucionar rápidamente los problemas relacionados con los tiempos de ejecución de los agentes.

Temas

Las invocaciones de mi agente fallan con el mensaje «Este tiempo de ejecución no es» MMDSv2-enabled ValidationException

Cuando esto ocurre: cuando se invoca el tiempo de ejecución de un agente medianteInvokeAgentRuntime,ExecuteCommand,InvokeAgentRuntimeWithWebSocketStream, InvokeAgentRuntimeCommandShell o GetAgentCard

Por qué ocurre esto: a partir del 30 de junio de 2026, Amazon Bedrock AgentCore Runtime requiere que todos los tiempos de ejecución de los agentes utilicen MMDSv2 (versión 2 del servicio de metadatos de MicroVM). El servicio rechaza las invocaciones dirigidas a los tiempos de ejecución sin metadataConfiguration establecer o con el valor de o. requireMMDSV2 false null

Solución: llame UpdateAgentRuntime con la opción requireMMDSV2 establecida en: 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}")

Tras la actualización, las nuevas invocaciones se realizarán correctamente. Las sesiones existentes no se ven afectadas.

Las invocaciones de mi agente fallan y se producen errores de tiempo de espera de 504 Gateway

Cuando esto ocurre: durante la invocación del agente mediante el SDK o la consola

Por qué ocurre esto: hay varios factores que pueden impedir que el agente responda dentro del tiempo de espera

Hay varios factores que pueden provocar esto:

  • Problemas con los contenedores: asegúrate de que tu imagen de Docker muestre el puerto 8080 y tenga la ruta /invocations

  • Compatibilidad con ARM64: Actualmente, su contenedor debe ser compatible con ARM64

  • Lógica de reintento: revise los mecanismos de reintento para gestionar los problemas transitorios

Mi compilación de Docker falla con el mensaje «403 Forbidden» al extraer imágenes base de Python

Cuando esto ocurre: durante docker build o docker run cuando se utilizan imágenes public.ecr.aws base

Por qué ocurre esto: Problemas de autenticación pública de ECR: la autenticación caducada o faltante es un problema común.

Solución: inicie sesión en ECR Public o cierre la sesión por completo:

# 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

Aparece el error «Servicio desconocido: 'bedrock-agent-core-runtime'» cuando uso boto3

Cuando esto ocurre: al invocar las API de Amazon Bedrock con el SDK boto3 AgentCore

Por qué ocurre esto: biblioteca boto3 desactualizada: un problema común, ya que la mayoría de las instalaciones no tienen el SDK más reciente

Solución: actualice a las versiones más recientes de boto3 y botocore:

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

Cuando intento crear un Amazon Bedrock Runtime, aparece AccessDeniedException «» AgentCore

Cuando esto ocurre: durante la creación del agente mediante la consola, el SDK o la CLI

Por qué ocurre esto: su usuario carece de permisos o el rol de ejecución no está configurado correctamente para Amazon Bedrock AgentCore

Solución: hay varios factores que pueden provocar esto:

  • Faltan permisos para la persona que llama. Asegúrese de que las credenciales de la persona que llama las tenganbedrock-agentcore:CreateAgentRuntime.

  • Amazon Bedrock AgentCore no puede asumir la función de ejecución. Asegúrese de que el rol de ejecución siga esta guía sobre los permisos para el rol de ejecución de Amazon Bedrock AgentCore Runtime.

Mi compilación de Docker falla con el «error de formato exec/bin/sh: exec»

Cuando esto ocurre: al crear contenedores para la implementación de Amazon Bedrock AgentCore

Por qué ocurre esto: creación de contenedores ARM64 en sistemas x86 sin una configuración multiplataforma adecuada

Solución: cree contenedores compatibles con ARM64. Puedes considerar usar buildx para compilaciones multiplataforma. Alternativamente, puedes usar. CodeBuild Para ver un código de ejemplo, consulte los AgentCore ejemplos de Amazon Bedrock.

¿Cuáles son los requisitos para los contenedores Docker que se utilizan con Amazon Bedrock Runtime? AgentCore

Consulte los requisitos de Amazon Bedrock AgentCore Runtime para obtener más información.

En resumen, su contenedor Docker debe cumplir estos requisitos:

  • Puerto: Expose el puerto 8080 (pronto se admitirán puertos adicionales)

  • Punto final: debe tener una /invocations ruta disponible

  • Arquitectura: debe ser compatible con ARM64

  • Respuesta: Debe manejar el formato de carga esperado

Mi herramienta de larga duración se interrumpe después de 15 minutos

Para obtener más información, consulte Gestionar agentes asincrónicos y de larga duración con Amazon Bedrock AgentCore Runtime para obtener más información.

Cuando esto ocurre: durante operaciones de agentes de larga duración o flujos de trabajo complejos

Por qué ocurre esto: Amazon Bedrock finaliza AgentCore automáticamente las sesiones después de 15 minutos de inactividad. La plataforma determina la actividad a partir de la /ping respuesta: un informe de sesión HealthyBusy se mantiene activo, mientras que un informe de sesión Healthy se considera inactivo y su tiempo de inactividad se mide desde la status última vez que se modificó (consulte el campo siguiente). time_of_last_update

Solución: asegúrese de que su /ping terminal vuelva a funcionar HealthyBusy mientras se está trabajando en segundo plano:

{"status": "HealthyBusy"}

Si utiliza el AgentCore SDK de Bedrock, la respuesta de ping se gestiona automáticamente. Para las implementaciones personalizadas, asegúrese de que su controlador de ping regrese durante el procesamiento. HealthyBusy

Mis sesiones inactivas no se publican y estoy agotando mi cuota de sesión

Cuando esto ocurre: el número de sesiones aumenta continuamente bajo carga y las sesiones no se liberan una vez transcurrido el tiempo de espera de inactividad (por ejemplo, se produce un maxVms error deServiceQuotaExceededException/durante una ráfaga de invocaciones), aunque cada sesión esté inactiva.

Por qué ocurre esto: Cuando una sesión informaHealthy, la plataforma mide el tiempo que ha estado inactiva a partir del time_of_last_update campo de tu /ping respuesta, que debe reflejar cuándo se modificó por última vez. status Si tu controlador de ping establece time_of_last_update la hora actual en cada ping, el tiempo de inactividad registrado se sigue restableciendo, lo que evita que se active el tiempo de espera de inactividad. De este modo, las sesiones permanecen activas hasta que MaxLifetime se agote la cuota de sesión.

Solución: time_of_last_update actualízalas solo cuando status realmente cambien, u omítelas por completo para que la plataforma haga un seguimiento de los cambios de estado por sí sola:

{"status": "Healthy"}

Si utilizas el AgentCore SDK de Bedrock, actualízalo a la versión más reciente, en la que la respuesta del ping se gestione correctamente. Como medida provisional, las llamadas StopRuntimeSession liberan las sesiones bloqueadas.

¿Cómo accedo al código de ejecución de SessionId mi código de agente para etiquetar o agrupar los recursos?

Cuando esto se aplica: desea agrupar, etiquetar o rastrear los recursos (por ejemplo, objetos de S3 o registros) según la sesión de ejecución del agente actual.

Soluciones:

  • Si utilizas el SDK de Bedrock Agents, úsalo. context.session_id

  • Si está creando un servidor de tiempo de ejecución personalizado, extráigalo del encabezado X-Amzn-Bedrock-AgentCore-Runtime-Session-Id HTTP.

Solución 1: Para los agentes que utilizan el AgentCore SDK de Amazon Bedrock de Bedrock, utilícelo context.session_id desde el punto de entrada de su 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

Solución 2: Para servidores HTTP en tiempo de ejecución personalizados

El identificador de la sesión en tiempo de ejecución se pasa a este encabezado HTTP. Analízalo a partir de la solicitud entrante y utilízalo para etiquetar, correlacionar o propagar en sentido descendente.

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

Tengo RuntimeClientError (403) problemas

Problema

Cuando intentas invocar el tiempo de ejecución de tu agente, recibes un RuntimeClientError «"» 403.

Causas

Este error se produce normalmente debido a:

  • Errores al iniciar el contenedor

  • Problemas de permisos con el rol de ejecución

  • Problemas de autenticación con el token del portador

Resolución

Sigue estos pasos para resolver el problema:

  1. CloudWatch Registros de comprobación: cualquier problema relacionado con la puesta en marcha del contenedor aparecerá como un 403 - RuntimeClientError. Navegue hasta el siguiente grupo de CloudWatch registros para comprobar si hay errores de inicio:

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/[runtime-logs]
  2. Verifique el rol de ejecución: asegúrese de que el rol de ejecución de su agente tenga los permisos necesarios. Para obtener más información, consulte Función AgentCore de ejecución en tiempo de ejecución.

  3. Valide la autenticación: en el caso de los agentes del protocolo MCP, asegúrese de que el token portador sea válido y no haya caducado.

Me faltan registros o están vacíos CloudWatch

Problema

Se producen errores pero no ves ningún inicio de sesión relevante CloudWatch.

Solución

Prueba estos métodos para diagnosticar el problema:

  1. Compruebe el grupo de registro correcto: asegúrese de buscar en el grupo de CloudWatch registros correcto. El patrón estándar es:

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/runtime-logs
  2. Ejecute localmente para el diagnóstico: si no hay ningún CloudWatch registro, intente ejecutar el contenedor del agente de forma local utilizando exactamente la misma carga útil que utilizó para la invocación en AgentCore Runtime. Esto puede ayudar a identificar los problemas que podrían no estar visibles en los registros.

  3. Habilite el registro detallado: actualice el código de su agente para incluir un registro más detallado, especialmente en lo que respecta a los puntos de entrada y a cualquier lógica de gestión de errores.

Tengo problemas con el formato de la carga

Problema

La invocación del agente en tiempo de ejecución falla aunque el contenedor se inicie correctamente.

Resolución

Siga estos pasos para resolver los problemas de formato de la carga útil:

  1. Verifique la estructura de la carga útil: asegúrese de que la estructura de la carga útil coincida con lo que espera su agente. Presta especial atención a:

    • Si tu código de agente espera incluir una input palabra clave en la carga útil, asegúrate de incluirla:

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

      { "prompt": "Your question here" }
  2. Verifique la documentación: revise el formato de entrada esperado en la documentación.

Necesito ayuda para entender los códigos de error HTTP

Problema

Su agente devuelve códigos de error HTTP que son difíciles de interpretar.

Ejemplo de mensaje de error

Es posible que veas un error como el siguiente:

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

Resolución

Estos son los códigos de error más comunes y sus significados:

4.2.2 Entidad no procesable

Esto ocurre cuando el contenedor encuentra problemas de validación con la carga útil de entrada.

Causas habituales:

  • Faltan campos obligatorios en la carga útil (por ejemplo, falta el campo de «entrada»)

  • Tipos de datos incorrectos para los campos

  • Formato no válido para la carga

403 Forbidden

Problemas de autenticación o autorización.

Comprueba tu token de portador o tus permisos de IAM.

409 RetryableConflictException

Una segunda operación llegó a una sesión mientras aún estaba siendo aprovisionada o desactivada. Verá el mensajeSession operation in progress, please retry.

Qué significa: Se trata de un conflicto transitorio que se puede volver a intentar, no de un error terminal. La ventana es breve. Already-running las sesiones no se ven afectadas.

Cómo solucionarlo: Vuelva a intentar la operación con un breve retraso exponencial. En el caso de HTTP-based las API (comoInvokeAgentRuntime, yStopRuntimeSession)InvokeAgentRuntimeCommand, los AWS SDK lo reintentan automáticamente cuando están habilitados los reintentos predeterminados. Si inhabilitaste los reintentos o llamaste a la API directamente sin un AWS SDK, agrega el reintento tú mismo. En el caso de WebSocket-based las API (como InvokeAgentRuntimeWithWebSocketStream yInvokeAgentRuntimeCommandShell), los AWS SDK no se reintentan automáticamente. Vuelva a intentarlo siempre usted mismo.

500 Error interno del servidor

Excepciones de tiempo de ejecución en el código de su agente.

Consulta CloudWatch los registros para ver los rastros detallados de las pilas.

Necesito recomendaciones para probar a mi agente

Para depurar sistemáticamente los problemas de ejecución del agente:

Realice primero una prueba local

Antes de realizar la implementación en AgentCore Runtime:

  • Ejecuta tu contenedor de agentes de forma local con la misma imagen de Docker

  • Comprueba que funciona exactamente con la misma carga útil

Compara las cargas útiles

Garantice la coherencia entre los entornos:

  • Asegúrese de que la estructura de carga útil entre las pruebas locales y la invocación en AgentCore tiempo de ejecución sea idéntica

  • Presta especial atención al anidamiento de campos como «input» y «prompt»

Necesito ayuda para solucionar problemas con los contenedores

Si sospecha que hay problemas relacionados con los contenedores:

Extraiga y ejecute localmente

Pruebe la imagen de su contenedor en su máquina local:

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

Prueba con curl

Envía las solicitudes de prueba a tu contenedor local:

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

Revisa los registros de los contenedores

Examine la salida del contenedor para ver si hay errores:

docker logs <container-id>

Necesito ayuda para solucionar problemas con los agentes del protocolo MCP

Para los agentes de protocolo MCP, siga estos pasos específicos de solución de problemas:

Verifique la ruta del punto final

Los servidores MCP deberían escuchar 0.0.0.0:8000/mcp/

Utilice MCP Inspector

Realice una prueba con la herramienta MCP Inspector:

  1. Instale y ejecute el MCP Inspector: npx @modelcontextprotocol/inspector

  2. Conéctese a su servidor local en http://localhost:8000/mcp

  3. Para los agentes desplegados, utilice el URL-encoded punto final adecuado

Problemas de autenticación

Compruebe la configuración de autenticación:

  • Asegúrese de que el token del portador esté correctamente configurado en los encabezados

  • Compruebe que su grupo de usuarios de Cognito esté configurado correctamente

Necesito ayuda para solucionar el problema de la transmisión bidireccional utilizando WebSocket

Para la transmisión bidireccional con WebSocket agentes, sigue estos pasos específicos de solución de problemas:

Verifique la configuración del punto final

WebSocket los agentes deben ejecutarse en el puerto 8080 y ofrecer WebSocket conexiones en la ruta /ws

Realice pruebas locales con una complejidad incremental

Comience con pruebas locales sencillas antes de la implementación:

  1. Pruebe la conexión básica: compruebe que su agente acepte WebSocket las conexiones en ws://localhost:8080/ws

  2. Pruebe el manejo de mensajes: envíe mensajes de texto sencillos y verifique las respuestas

  3. Gestión de sesiones de prueba: compruebe que las conversaciones persistentes funcionan según lo esperado

  4. Gestión de errores en las pruebas: asegúrese de que su agente gestione correctamente las interrupciones de conexión y los mensajes con formato incorrecto

Problemas de autenticación

Compruebe la configuración de autenticación de los agentes desplegados:

  • Para OAuth: asegúrese de que el token del portador sea válido y no haya caducado

  • Para SIGv4: asegúrate de que los datos introducidos en el algoritmo de firma sean correctos, incluidos la WebSocket URL, los encabezados y el método de solicitud

  • Utilice el método de autenticación correcto que coincida con la configuración de su agente

Problemas de conexión comunes

Solucione los problemas de WebSocket conexión más comunes:

  • Verifique la compatibilidad del formato de los mensajes entre las expectativas de su agente y de su cliente

  • Configure la fragmentación de los marcos de los mensajes o implemente la fragmentación para mantenerse dentro de los límites de tamaño de los marcos de los mensajes (64 KB) y de velocidad de fotogramas (250 fotogramas por segundo) a fin de evitar el cierre de la conexión

Los cambios que he hecho en el código no se reflejan en las sesiones existentes

Problema

Actualizó el tiempo de ejecución de su agente con un código nuevo, pero las sesiones existentes siguen usando la versión anterior.

Por qué ocurre esto

Cada sesión de microVM se crea con los activos de código (agentRuntimeArtifact) que se implementaron en el momento de la creación de la sesión. Una vez establecida la sesión, continúa usando esa versión del código hasta que finalice la sesión, incluso cuando los activos del código se actualicen como parte de la ejecución de la UpdateAgentRuntime operación.

Solución

Para acceder al código actualizado, utilice un nuevo identificador de sesión.

Faltan intervalos cuando se invoca mi tiempo de ejecución desde una función de Lambda

Cuando esto ocurre: al invocar AgentCore Runtime desde una función de Lambda

Por qué sucede esto: Lambda genera su propio encabezado. X-Amzn-Trace-Id Si el seguimiento de Lambda lo tieneSampled=0, este contexto sin muestrear se propaga a AgentCore Runtime y el Runtime omite la generación de intervalos para esa invocación.

Solución:

  • Habilite el rastreo activo de Lambda: active el rastreo X-Ray activo en su función de Lambda para que produzca rastreos muestreados (). Sampled=1

  • Verifique la búsqueda de CloudWatch transacciones: asegúrese de haber completado la configuración en Configurar la observabilidad y de que el destino del segmento de seguimiento esté establecido en Registros. CloudWatch

  • Compruebe la decisión de muestreo: registre la variable de _X_AMZN_TRACE_ID entorno en la función de Lambda. Si apareceSampled=0, significa que el rastreo activo no está habilitado o que una persona que llama en sentido ascendente está tomando la decisión de muestrear.

El montaje de mis archivos S3 o EFS falla y aparece el mensaje «Acceso denegado»

Cuando esto ocurre: durante la invocación de un agente con archivos S3 o almacenamiento EFS configurado

Por qué ocurre esto: al rol de ejecución le faltan los permisos necesarios del sistema de archivos. Para obtener más información sobre la configuración del almacenamiento persistente, consulte Configuraciones del sistema de archivos para AgentCore Runtime.

Solución:

En el caso de los archivos S3, asegúrese de que su función de ejecución tenga:

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

Para EFS, asegúrese de que su rol de ejecución tenga:

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

Omita s3files:ClientWrite o elasticfilesystem:ClientWrite si su agente solo necesita acceso de lectura.

El montaje de mis archivos S3 o EFS falla con "» ResourceNotFound

Cuando esto ocurre: durante la invocación de un agente con archivos S3 o almacenamiento EFS configurado

Por qué ocurre esto: el sistema de archivos o el punto de acceso se eliminaron después de crear el agente o los ID son incorrectos.

Solución:

  • Compruebe que el sistema de archivos existe:

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

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

  • Verifique que el punto de acceso exista:

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

  • Verifique que los destinos de montaje existan en todas las zonas de disponibilidad requeridas:

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

    • Asegúrese de que cada destino de montaje muestre el estado Disponible y esté en la misma VPC que el tiempo de ejecución del agente.

  • Si se eliminó el recurso, vuelva a crearlo y actualice el tiempo de ejecución del agente con el ARN del nuevo punto de acceso

Se agota el tiempo de espera para el montaje de mis archivos S3 o EFS

Cuando esto ocurre: durante la invocación de un agente con el almacenamiento de archivos S3 o EFS configurado. La invocación puede tardar más de lo habitual antes de fallar.

Por qué ocurre esto: la configuración de red de la VPC bloquea el tráfico de NFS (puerto 2049) entre el procesamiento del agente y los destinos de montaje del sistema de archivos.

Solución:

  • Compruebe los grupos de seguridad en los objetivos de montaje: compruebe que el grupo de seguridad adjunto a sus objetivos de montaje permita la entrada de TCP por el puerto 2049 desde el grupo de seguridad utilizado por el agente en tiempo de ejecución

  • Compruebe los grupos de seguridad durante el tiempo de ejecución del agente: compruebe que el grupo de seguridad utilizado por el agente en tiempo de ejecución permita la salida del TCP por el puerto 2049 al grupo de seguridad de destino de montaje

  • Verifique que los objetivos de montaje existan en las zonas de disponibilidad correctas: los objetivos de montaje deben existir en las mismas zonas de disponibilidad que las subredes configuradas en el tiempo de ejecución de su agente:

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

  • Verifique el enrutamiento de subredes: asegúrese de que sus subredes tengan un enrutamiento adecuado (ruta de VPC local para el rango de CIDR)

Cuando escribo en mi sistema de archivos montado, aparece el mensaje «Permiso denegado»

Cuando esto ocurre: la invocación del agente se realiza correctamente y el agente puede leer los archivos del montaje, pero la escritura falla y dice «Permiso denegado»

Por qué ocurre esto: el rol de IAM no tiene permisos de escritura o los permisos POSIX del directorio establecidos durante la creación del punto de acceso no permiten la escritura para el usuario del agente.

Solución:

  • Compruebe los permisos de IAM: asegúrese de que su función de ejecución incluya s3files:ClientWrite (archivos S3) o elasticfilesystem:ClientWrite (EFS). Sin permisos de escritura, el montaje es de solo lectura. Para obtener más información, consulte los permisos del rol de ejecución de Amazon Bedrock AgentCore Runtime.

  • Compruebe los permisos POSIX: si el directorio es propiedad de un usuario diferente al de su proceso contenedor, se denegarán las escrituras. Con cualquiera de las siguientes opciones:

    • Configure el posixUser de su punto de acceso para que coincida con el modo en que se ejecuta uid/gid su contenedor, de modo que todas las operaciones se realicen como ese usuario.

    • Establezca los permisos de directorio en 777 para permitir que todos los usuarios escriban.

Mi contenedor no se inicia debido al error HTTP 424 en las imágenes de capa superior

Cuando esto ocurre: las InvokeAgentRuntime llamadas devuelven el protocolo HTTP 424 (dependencia fallida) y se muestran Failed to mount overlay: No such file or directory los registros de los agentes. Esto ocurre cuando la imagen de tu contenedor tiene más de 53 capas Y utiliza una directiva USER no numérica (por ejemplo, USER myuser en lugar deUSER 1000).

Por qué sucede esto: las imágenes de contenedor con muchas capas combinadas con directivas USER no numéricas pueden provocar errores de inicialización.

Solución: utilice una de estas soluciones alternativas:

  • Usa una directiva USER numérica: en tu Dockerfile, USER myuser sustitúyala por el UID numérico (por ejemplo,). USER 1000 Puedes encontrar el UID de usuario ejecutándolo dentro del contenedor. id myuser Esto evita por completo el montaje del sistema de archivos.

  • Reduzca las capas de imagen: utilice compilaciones de Docker de varias etapas para reducir su imagen a menos de 53 capas. Puedes comprobar el número de capas de tu imagen con:

docker inspect <image> | jq '.[0].RootFS.Layers | length'
  • Aplasta capas: usa docker build --squash una herramienta similar docker-squash para aplanar las capas de la imagen.

Mi proveedor de capacidad está en el estado CREATE_FAILED

Cuando esto ocurre: después de CreateCapacityProvider solicitar el tipo de procesamiento de la instancia, el proveedor de capacidad no contacta ACTIVE y, en su lugar, ingresa. CREATE_FAILED

Por qué ocurre esto: un proveedor de capacidad depende de varios recursos (como una plantilla de lanzamiento y un grupo de Auto Scaling) que el rol de operador del proveedor de capacidad debe poder crear. La falta de permisos en esa función provoca un error de creación.

Solución: llame a la GetCapacityProvider API para recuperar el motivo del error en el statusReason campo. statusReasonIdentifica los recursos que no se pudieron crear. Otorgue al rol de operador del proveedor de capacidad los permisos que necesita para crear esos recursos y, a continuación, vuelva a crear el proveedor de capacidad. Para obtener más información sobre la función de operador, consulte el modelo de seguridad y los permisos para las instancias en tiempo de ejecución.

Mis agentes en Instances no tienen acceso a sus credenciales

Cuando esto ocurre: un agente que ejecuta una sesión de Instancias no puede obtener las credenciales que necesita para llamar a AWS los servicios.

Por qué ocurre esto: falta la función de ejecución en tiempo de ejecución o no la puede asumir AgentCore.

Solución: asegúrese de que la función de ejecución que configuró para su tiempo de ejecución exista y permita bedrock-agentcore.amazonaws.com realizar llamadassts:AssumeRole. Para obtener más información, consulte los permisos del rol de ejecución de Amazon Bedrock AgentCore Runtime.

Prácticas recomendadas

Habilite el registro completo

Implemente un registro exhaustivo en su agente:

  • Incluya el request/response inicio de sesión de su agente

  • Registre las rutas críticas y las condiciones de error

Utilice el manejo estructurado de errores

Implemente informes de errores claros:

  • Devuelve mensajes de error claros con códigos específicos

  • Incluya información procesable en las respuestas de error

Pruebe los cambios incrementales

Siga un enfoque de pruebas metódico:

  • Cuando modifique su agente, pruébelo localmente antes de la implementación

  • Valide la compatibilidad de la carga útil con los entornos locales e implementados

Supervise el rendimiento

Configure la supervisión para su agente:

  • Usa CloudWatch las métricas para rastrear los patrones de invocación

  • Configure alarmas para las tasas de error y la latencia