View a markdown version of this page

Configuraciones del sistema de archivos para AgentCore Runtime - Amazon Bedrock AgentCore

Configuraciones del sistema de archivos para AgentCore Runtime

AgentCore Runtime admite sistemas de archivos persistentes a través del filesystemConfigurations parámetro. Cada configuración monta el almacenamiento en la ruta que especifique. No necesita un código de montaje personalizado, contenedores privilegiados ni una organización de descargas.

AgentCore Runtime admite dos categorías de configuraciones de sistemas de archivos:

  • Almacenamiento de sesiones gestionado (versión preliminar): almacenamiento Service-managed por sesión que persiste a lo largo de stop/resume los ciclos. Aislado por sesión. No se requiere VPC.

  • Bring-your-own sistema de archivos: adjunte sus propios puntos de acceso de Amazon S3 Files o Amazon EFS directamente al entorno de ejecución de su agente. Compartido entre sesiones y agentes. Se requiere VPC.

Puede combinar ambas categorías en un único entorno de ejecución del agente (hasta 5 configuraciones en total).

Las opciones de almacenamiento de un vistazo

En la siguiente tabla se comparan los tipos de configuración de los sistemas de archivos disponibles.

Categoría Tipo Aislamiento Persistencia Se requiere VPC Lo mejor para

Administrado

Almacenamiento de sesiones (versión preliminar)

Per-session

Sobrevive stop/resume; caduca durante 14 días por inactividad; se restablece al actualizar la versión

No

Espacio temporal, paquetes instalados, código, archivos de proyecto, estado del agente

CHICO

Amazon S3 Files

Compartido: varias sesiones y agentes acceden a los mismos datos

Customer-managed (permanente, se sincroniza con el bucket de S3)

Se puede acceder a los conjuntos de datos mediante operaciones de archivos estándar y mediante las API de S3

CHICO

Amazon EFS

Compartido: varias sesiones y agentes acceden a los mismos datos

Customer-managed (permanente hasta que los elimines)

Bibliotecas de herramientas compartidas, pesos de modelos, colaboración entre varios agentes de lectura y escritura

Inicio rápido

Las siguientes listas de verificación proporcionan pasos resumidos para configurar cada tipo de sistema de archivos.

Almacenamiento de sesiones gestionado (versión preliminar)

  1. No se requieren permisos de VPC ni de IAM adicionales.

  2. --filesystem-configurations '[{"sessionStorage": {"mountPath": "/mnt/workspace"}}]'Añádelo a tu llamada create-agent-runtime o. update-agent-runtime

  3. Invoque al agente con un--runtime-session-id.

  4. Detenga la sesión y, a continuación, reanude con la misma--runtime-session-id. Verify /mnt/workspace conserva sus datos.

Bring-your-own sistema de archivos

Punto de acceso Amazon S3 Files

  1. s3files:ClientMountAñada s3files:ClientWrite y s3files:GetAccessPoint a su función de ejecución con una s3files:AccessPointArn condición.

  2. Permita que el puerto TCP 2049 saliente del grupo de seguridad en tiempo de ejecución del agente se dirija al grupo de seguridad de destino de S3 Files Mount.

  3. Confirme que el destino de montaje de S3 Files esté en la misma VPC y zona de disponibilidad que las subredes de tiempo de ejecución del agente.

  4. Añada --filesystem-configurations '[{"s3FilesAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/s3data"}}]' a la suya create-agent-runtime o llame. update-agent-runtime

  5. Invoca al agente. Los archivos se /mnt/s3data sincronizan bidireccionalmente con el depósito S3 de respaldo.

Punto de acceso Amazon EFS

  1. elasticfilesystem:ClientMountAñada una elasticfilesystem:AccessPointArn condición elasticfilesystem:ClientWrite a su función de ejecución.

  2. Permita que el puerto TCP 2049 salga del grupo de seguridad del agente en tiempo de ejecución al grupo de seguridad de destino montado en EFS.

  3. Confirme que el destino de montaje de EFS esté en la misma zona de disponibilidad que al menos una de las subredes de tiempo de ejecución del agente.

  4. Añada --filesystem-configurations '[{"efsAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/efs"}}]' a la suya create-agent-runtime o update-agent-runtime llame.

  5. Invoca al agente. Sus archivos están disponibles en/mnt/efs.

Tanto los archivos S3 como los EFS requieren conectividad de VPC en el tiempo de ejecución del agente.

Cómo funciona cada tipo

En las siguientes secciones se describe cómo funciona cada tipo de sistema de archivos en AgentCore Runtime.

Bring-your-own sistemas de archivos

Al configurar un sistema de archivos tipo bring-your-own, AgentCore Runtime monta el punto de acceso especificado en cada sesión en la ruta que configure. Los datos se comparten: varias sesiones, varios agentes o aplicaciones externas pueden acceder al mismo sistema de archivos simultáneamente.

AgentCore gestiona todas las operaciones de montaje automáticamente. No necesita instalar asistentes de montaje, administrar los certificados TLS ni escribir código de montaje en su agente.

nota

Cuando crea un punto de acceso (S3 Files o EFS), especifica un ID de usuario POSIX (UID) y un ID de grupo (GID). Todas las operaciones de archivos a través del punto de acceso se ejecutan con esta identidad. UID/GID Configúrela para que coincida con el usuario con el que se ejecuta el proceso de contenedor (normalmente 1000:1000 para contenedores que no son root o 0:0 para root).

Flujo de montaje de Amazon S3 Files

Al configurar un punto de acceso de S3 Files, se produce la siguiente secuencia:

  1. Debe crear un sistema de archivos S3 Files (respaldado por un bucket de S3) y montar los objetivos en su VPC.

  2. Debe crear un punto de acceso de S3 Files especificando el POSIX UID/GID y el directorio raíz.

  3. El tiempo de ejecución del agente se configura con el ARN del punto de acceso y la ruta de montaje.

  4. Al invocar con un nuevo ID de sesión, AgentCore aprovisiona una microVM con acceso de red a su VPC.

  5. La microVM monta el sistema de archivos a NFSv4.2 través de TLS con autenticación de IAM (puerto 2049) a través de su VPC.

  6. El agente lee y escribe los archivos en la ruta de montaje. Los cambios se sincronizan automáticamente con el depósito S3 de respaldo.

Semántica de los archivos S3

  • Sincronización bidireccional entre el sistema de archivos y el bucket S3 de respaldo

  • Close-to-open coherencia para los clientes de NFS; coherencia eventual de S3 para el acceso desde el lado del bucket

  • Tamaño máximo de archivo: 48 TiB; profundidad máxima de directorio: 1000 niveles

  • No se admiten: enlaces duros, clases de almacenamiento de archivos S3 (Glacier), metadatos de objetos S3 personalizados, PNFs

Flujo de montaje de Amazon EFS

Al configurar un punto de acceso EFS, se produce la siguiente secuencia:

  1. Debe crear un sistema de archivos EFS y montar los destinos en su VPC (uno por zona de disponibilidad).

  2. Cree un punto de acceso EFS especificando el POSIX UID/GID y el directorio raíz.

  3. El tiempo de ejecución del agente se configura con el ARN del punto de acceso y la ruta de montaje.

  4. Al invocar con un nuevo ID de sesión, AgentCore aprovisiona una microVM con acceso de red a su VPC.

  5. La microVM monta el sistema de archivos a través de TLS (puerto 2049) a NFSv4.1 través del destino de montaje situado en la misma zona de disponibilidad.

  6. El agente lee y escribe los archivos en la ruta de montaje mediante operaciones de archivo estándar.

Semántica de EFS

  • POSIX completo: enlaces físicos, enlaces simbólicos, bloqueo de archivos de asesoramiento

  • Acceso simultáneo de lectura y escritura desde múltiples sesiones y agentes

  • Close-to-open coherencia

  • Tamaño máximo de archivo: 47,9 TiB; profundidad máxima de directorio: 1000 niveles

Almacenamiento de sesiones gestionado (versión preliminar)

Mantenga el estado de la sesión en stop/resume una configuración de sistema de archivos mediante el almacenamiento de sesiones gestionado. AgentCore El almacenamiento de sesiones gestionado en tiempo de ejecución es una capacidad totalmente gestionada por el servicio en la que AgentCore Runtime gestiona todas las operaciones de almacenamiento. El agente lee y escribe en un sistema de archivos local montado y el entorno de ejecución replica los datos de forma transparente en el almacenamiento del servicio durante toda la sesión.

El almacenamiento de las sesiones está aislado por sesión: cada sesión solo puede acceder a su propio almacenamiento y no puede leer ni escribir datos de otras sesiones del mismo tiempo de ejecución del agente o de sesiones de diferentes tiempos de ejecución del agente.

Al configurar el almacenamiento de sesiones en un entorno de ejecución de un agente, cada sesión obtiene un directorio persistente en la ruta de montaje que especifique. El ciclo de vida funciona de la siguiente manera:

  1. Primera invocación en una sesión: se aprovisiona una nueva computación aislada. El agente ve un directorio vacío en la ruta de montaje.

  2. El agente escribe los archivos: todas las operaciones con los archivos (lectura, escritura, mkdir, cambiar el nombre) funcionan normalmente, de forma similar a un sistema de archivos local, y los datos se replican de forma asíncrona en un almacenamiento duradero.

  3. La sesión se detiene: el proceso finaliza. Los datos que aún no se hayan conservado se almacenan en un almacenamiento duradero durante un apagado correcto.

  4. Reanudar con la misma sesión: se aprovisiona un nuevo proceso y se restaura el estado del sistema de archivos desde un almacenamiento duradero. El agente puede continuar desde donde lo dejó.

Semántica del sistema de archivos

El almacenamiento de sesiones proporciona un sistema de archivos Linux estándar en la ruta de montaje configurada. Las herramientas y operaciones estándar funcionan sin modificaciones: lscat,mkdir,git, npmpip, y cargo todas funcionan según lo previsto.

Operaciones compatibles

Archivos, directorios y enlaces simbólicos normales. Lectura, escritura, cambio de nombre, eliminación, chmod chownstat, yreaddir: operaciones estándar de archivos POSIX utilizadas por las herramientas de desarrollo comunes.

Límites

Para conocer los límites de almacenamiento de la sesión, incluidos el tamaño máximo de almacenamiento, el número de archivos y la profundidad del directorio, consulte Límites de almacenamiento de la sesión.

Operaciones no compatibles

No se admiten las siguientes operaciones del sistema de archivos:

  • Vínculos duros: utilice enlaces simbólicos en su lugar.

  • No se admiten archivos de dispositivo, FIFO ni sockets UNIX. mknod

  • Atributos extendidos (xattr): no se admiten las herramientas que dependen de los metadatos xattr.

  • fallocate: no se admite la preasignación de archivos dispersos.

  • Bloqueo de archivos en todas las sesiones: los bloqueos de asesoramiento funcionan dentro de una sesión en ejecución, pero no persisten en todas las sesiones. stop/resume Las herramientas que utilizan el bloqueo basado en archivos (por ejemplogit) no se ven afectadas.

nota

Los permisos se almacenan pero no se aplican dentro de la sesión. chmody stat funcionan correctamente, pero las comprobaciones de acceso siempre se realizan correctamente porque el agente se ejecuta como el único usuario de la microVM.

Ciclo de vida del almacenamiento de

Los datos de la sesión se eliminan (se restablecen a un estado limpio) en los siguientes escenarios:

  • La sesión no se invoca durante 14 días.

  • Se ha actualizado la versión de tiempo de ejecución del agente. Al invocar una sesión después de una actualización de la versión, se proporciona un sistema de archivos nuevo.

Use DeleteAgentRuntimeo DeleteAgentRuntimeEndpointelimine todos los datos de almacenamiento de la sesión asociados al tiempo de ejecución o al punto final.

Requisitos previos para crear sus propios sistemas de archivos

Antes de configurar un sistema de archivos tipo «traiga sus propios archivos», complete los siguientes requisitos previos.

Configuración de la VPC

Debe usar el motor de ejecución de su agente. networkMode: VPC Las subredes que especifique deben superponerse con las zonas de disponibilidad de destino montadas en el sistema de archivos.

Permisos de IAM

La función de ejecución del agente en tiempo de ejecución debe incluir permisos para montar el sistema de archivos.

Permisos de IAM para archivos S3

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

Permisos de IAM para EFS

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

Omita ClientWrite si su agente solo necesita acceso de lectura. El s3files:GetAccessPoint permiso es necesario para validar el punto de acceso de S3 Files durante la creación del agente en tiempo de ejecución.

Grupos de seguridad

Permita que el TCP saliente en el puerto 2049 desde el grupo de seguridad en tiempo de ejecución del agente se dirija al grupo de seguridad de destino montado. Permita el TCP entrante en el puerto 2049 del grupo de seguridad de destino del agente en tiempo de ejecución.

Configure los sistemas de archivos

En las siguientes secciones se muestra cómo configurar cada tipo de sistema de archivos.

Configuración de un punto de acceso de Amazon S3 Files

Para configurar un punto de acceso de S3 Files, especifique el ARN del punto de acceso y la ruta de montaje. filesystemConfigurations El tiempo de ejecución del agente debe utilizar el modo de red de VPC.

ejemplo
AWS CLI
  1. aws bedrock-agentcore-control create-agent-runtime \ --agent-runtime-name "data-agent" \ --role-arn "arn:aws:iam::<account-id>:role/AgentExecutionRole" \ --network-configuration '{ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }' \ --agent-runtime-artifact '{ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }' \ --filesystem-configurations '[{ "s3FilesAccessPoint": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "mountPath": "/mnt/datasets" } }]'
AWS SDK
  1. Ejemplo de Python que usa boto3 para crear un AgentCore Runtime con un punto de acceso de S3 Files.

    import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="data-agent", roleArn="arn:aws:iam::<account-id>:role/AgentExecutionRole", networkConfiguration={ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }, agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }, filesystemConfigurations=[ { "s3FilesAccessPoint": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "mountPath": "/mnt/datasets" } } ] )

Configuración de un punto de acceso Amazon EFS

Para configurar un punto de acceso EFS, especifique el ARN del punto de acceso y la ruta de montaje. filesystemConfigurations El tiempo de ejecución del agente debe utilizar el modo de red de VPC.

ejemplo
AWS CLI
  1. aws bedrock-agentcore-control create-agent-runtime \ --agent-runtime-name "shared-tools-agent" \ --role-arn "arn:aws:iam::<account-id>:role/AgentExecutionRole" \ --network-configuration '{ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }' \ --agent-runtime-artifact '{ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }' \ --filesystem-configurations '[{ "efsAccessPoint": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "mountPath": "/mnt/tools" } }]'
AWS SDK
  1. Ejemplo de Python en el que se utiliza boto3 para crear un AgentCore Runtime con un punto de acceso EFS.

    import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="shared-tools-agent", roleArn="arn:aws:iam::<account-id>:role/AgentExecutionRole", networkConfiguration={ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }, agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }, filesystemConfigurations=[ { "efsAccessPoint": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "mountPath": "/mnt/tools" } } ] )

Configure el almacenamiento de sesiones gestionado

filesystemConfigurationsAñádalo con una sessionStorage entrada al crear o actualizar el tiempo de ejecución de un agente.

ejemplo
AWS CLI
  1. aws bedrock-agentcore-control create-agent-runtime \ --agent-runtime-name "coding-agent" \ --role-arn "arn:aws:iam::111122223333:role/AgentExecutionRole" \ --agent-runtime-artifact '{ "containerConfiguration": { "containerUri": "123456789012.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }' \ --filesystem-configurations '[{ "sessionStorage": { "mountPath": "/mnt/workspace" } }]'
AWS SDK
  1. Ejemplo de Python que usa boto3 para crear un AgentCore Runtime con almacenamiento de sesiones.

    import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="coding-agent", roleArn="arn:aws:iam::111122223333:role/AgentExecutionRole", agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "123456789012.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }, filesystemConfigurations=[ { "sessionStorage": { "mountPath": "/mnt/workspace" } } ] )

También puede añadir almacenamiento de sesiones a un entorno de ejecución de agente existente utilizando UpdateAgentRuntimeel mismo filesystemConfigurations parámetro.

Combine sistemas de archivos

Puede combinar el almacenamiento de sesiones gestionado con sistemas de archivos personalizados en un único entorno de ejecución de agente. El siguiente ejemplo configura los tres tipos.

import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="full-stack-agent", roleArn="arn:aws:iam::<account-id>:role/AgentExecutionRole", networkConfiguration={ "networkMode": "VPC", "networkModeConfig": { "subnets": ["<subnet-id-1>", "<subnet-id-2>"], "securityGroups": ["<security-group-id>"] } }, agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "<account-id>.dkr.ecr.<region>.amazonaws.com/my-agent:latest" } }, filesystemConfigurations=[ { "s3FilesAccessPoint": { "accessPointArn": "arn:aws:s3files:<region>:<account-id>:file-system/<file-system-id>/access-point/<access-point-id>", "mountPath": "/mnt/datasets" } }, { "efsAccessPoint": { "accessPointArn": "arn:aws:elasticfilesystem:<region>:<account-id>:access-point/<access-point-id>", "mountPath": "/mnt/tools" } }, { "sessionStorage": { "mountPath": "/mnt/workspace" } } ] )

Invoca y usa el almacenamiento persistente

Todos los sistemas de archivos configurados están disponibles en sus rutas de montaje cuando se invoca el agente. Bring-your-own Se puede acceder inmediatamente a los sistemas de archivos (S3 Files, EFS) en cada invocación. El almacenamiento de sesiones gestionado conserva los datos a lo largo de stop/resume los ciclos utilizando los mismosruntimeSessionId.

Ejemplo: usar el almacenamiento de sesiones a lo largo de stop/resume los ciclos

# First invocation — agent sets up the project aws bedrock-agentcore invoke-agent-runtime \ --agent-runtime-arn "arn:aws:bedrock-agentcore:us-west-2:111122223333:agent-runtime/coding-agent" \ --runtime-session-id "session-001" \ --payload '{"prompt": "Set up the project and install dependencies in /mnt/workspace"}' # Stop the session aws bedrock-agentcore stop-runtime-session \ --agent-runtime-arn "arn:aws:bedrock-agentcore:us-west-2:111122223333:agent-runtime/coding-agent" \ --runtime-session-id "session-001" # Resume later — the project is exactly where the agent left it aws bedrock-agentcore invoke-agent-runtime \ --agent-runtime-arn "arn:aws:bedrock-agentcore:us-west-2:111122223333:agent-runtime/coding-agent" \ --runtime-session-id "session-001" \ --payload '{"prompt": "Run the tests and fix any failures"}'

El agente ve /mnt/workspace exactamente como lo dejó: los archivos fuente, los paquetes instalados, los artefactos de compilación y el historio.git están intactos. Al reanudar una sesión, el nuevo entorno informático monta el almacenamiento persistente. El agente puede seguir trabajando sin tener que volver a instalar los paquetes ni regenerar los archivos.

nota

Cuando llame de forma explícita, espere StopRuntimeSession siempre a que se complete antes de reanudar la sesión. Esto garantiza que todos los datos se almacenen en un almacenamiento duradero.

nota

La ruta montada solo está disponible en el momento de la invocación del agente, no durante la inicialización.

Límites

En la siguiente tabla se enumeran los límites de las configuraciones del sistema de archivos.

Recurso Límite

Configuraciones totales del sistema de archivos por agente en tiempo de ejecución

5

Configuraciones máximas de puntos de acceso de S3 Files

2

Configuraciones máximas de puntos de acceso EFS

2

Configuraciones máximas de almacenamiento de sesiones gestionado

1

Restricciones de ruta de montaje

Todas las configuraciones del sistema de archivos deben seguir estas reglas de ruta de montaje:

  • Debe estar por debajo /mnt/ de exactamente un nivel de subdirectorio (por ejemplo,/mnt/data,/mnt/workspace).

  • Patrón: /mnt/[a-zA-Z0-9._-]+/?

  • Longitud: de 6 a 200 caracteres.

  • Cada ruta de montaje debe ser única en todas las configuraciones.

  • Las rutas de montaje no pueden ser subdirectorios entre sí.

Comportamiento del ciclo

En la siguiente tabla, se compara el comportamiento del ciclo de vida entre el almacenamiento de sesiones gestionado y los sistemas de archivos tipo bring-your-own.

Comportamiento Almacenamiento de sesiones gestionado (versión preliminar) Bring-your-own (Archivos S3, EFS)

Caducidad en estado inactivo

14 días sin invocación: restablecimiento de los datos

Ninguno: gestionado por el cliente

Actualización de la versión en tiempo de ejecución

Datos borrados: sistema de archivos nuevo la próxima vez que se invoque

Sin efecto: los datos persisten

Activado DeleteAgentRuntime

Se eliminaron todos los datos de la sesión

Sistema de archivos desmontado; los datos se conservan en su cuenta

Acceso simultáneo

Aislado por sesión

Compartido entre sesiones y agentes

Ownership

Service-managed por AgentCore

Customer-managed en tu AWS cuenta

importante

En el caso de sistemas de archivos propios, asegúrese de que su agente gestione el acceso simultáneo de forma adecuada. Utilice patrones de nomenclatura de archivos por sesión o bloquee los archivos de advertencia para evitar conflictos.

Casos de uso

En la siguiente tabla se enumeran los patrones más comunes y la configuración de sistema de archivos recomendada para cada uno de ellos.

Patrón Configuración recomendada

Agente de codificación con archivos de proyecto persistentes

Almacenamiento de sesiones gestionado (versión preliminar) en /mnt/workspace

Conjuntos de datos de referencia accesibles tanto desde los agentes como desde las canalizaciones de S3

Punto de acceso a S3 Files en /mnt/datasets

Bibliotecas de herramientas compartidas entre todos los agentes

S3 Files o punto de acceso EFS en /mnt/tools

Multi-agent colaboración en un espacio de trabajo compartido

S3 Files o punto de acceso EFS en /mnt/shared

Long-running análisis con puntos de control

Almacenamiento de sesiones para puntos de control + archivos S3 para datos de entrada

Full-stack agente (ambas categorías combinadas)

Almacenamiento de sesiones + archivos S3 + EFS (3 montajes)

Ejemplo: agente de codificación con espacio de trabajo persistente

Este ejemplo muestra un agente de codificación que utiliza Strands Agents FileSessionManager para el historial de conversaciones y el almacenamiento de sesiones para los archivos del proyecto. Ambos persisten a lo largo de stop/resume los ciclos.

Agente de codificación con almacenamiento de sesiones

import os # Enable non-interactive mode for strands tools os.environ["BYPASS_TOOL_CONSENT"] = "true" from strands import Agent from strands.session import FileSessionManager from strands.models import BedrockModel from strands_tools import file_read, file_write, shell from bedrock_agentcore.runtime import BedrockAgentCoreApp app = BedrockAgentCoreApp() WORKSPACE = "/mnt/workspace" model = BedrockModel(model_id="us.anthropic.claude-sonnet-4-20250514-v1:0") tools = [file_read, file_write, shell] @app.entrypoint def handle_request(payload): session_id = payload.get("session_id", "default") # Persist conversation history alongside project files session_manager = FileSessionManager( session_id=session_id, storage_dir=f"{WORKSPACE}/.sessions" ) agent = Agent( model=model, tools=tools, session_manager=session_manager, system_prompt="You are a coding assistant. Project files are in /mnt/workspace." ) response = agent(payload.get("prompt")) return {"response": response.message["content"][0]["text"]} if __name__ == "__main__": app.run()

requirements.txt

strands-agents strands-agents-tools bedrock-agentcore boto3

Invoque el agente, detenga la sesión y, a continuación, reanude. Tanto los archivos del proyecto como el contexto de la conversación persisten.

Invoca, detiene y reanuda el ciclo

import boto3, json client = boto3.client("bedrock-agentcore") agent_arn = "arn:aws:bedrock-agentcore:us-west-2:111122223333:agent-runtime/coding-agent" session_id = "project-xyz-001" def invoke(prompt): resp = client.invoke_agent_runtime( agentRuntimeArn=agent_arn, runtimeSessionId=session_id, payload=json.dumps({"prompt": prompt, "session_id": "conv-001"}).encode() ) return json.loads(b"".join(resp["response"]))["response"] # First invoke: Create a simple script invoke("Write a Python script called calculator.py with add and subtract functions.") # Stop session — compute terminates, storage persists client.stop_runtime_session(agentRuntimeArn=agent_arn, runtimeSessionId=session_id) # Resume same session — new compute, but files and conversation history restored invoke("Add a multiply function to the script you created.") # Agent knows it created calculator.py (conversation history) # AND finds existing file (file persistence)

FileSessionManagerAlmacena el historial de conversaciones/mnt/workspace/.sessions/, lo que permite al agente recordar el contexto en todos stop/resume los ciclos.

Requisitos de red

En esta sección se describen los requisitos de red tanto para el almacenamiento de sesiones gestionado como para los sistemas de archivos propios.

Almacenamiento de sesiones gestionado y redes

Si el tiempo de ejecución del agente utiliza el modo VPC con almacenamiento de sesión, el agente necesita acceso a la red para sincronizarse con el almacenamiento remoto. Los datos de la sesión se almacenan en AgentCore S3, por lo que su VPC debe permitir la conectividad saliente a S3. Si utilizas un terminal de S3 Gateway con una política personalizada, puedes limitar el acceso a tu depósito de almacenamiento de sesiones regional de la siguiente manera:

"Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::acr-storage-*-region-an", "arn:aws:s3:::acr-storage-*-region-an/*" ], "Condition": { "StringEquals": { "aws:PrincipalServiceName": "bedrock-agentcore.amazonaws.com" } }

regionSustitúyalo por tu AWS región (por ejemplo,us-west-2).

Bring-your-own redes de sistemas de archivos

Bring-your-own los sistemas de archivos requieren que la red de VPC cumpla los siguientes requisitos para que los montajes se realicen correctamente.

Amazon EFS

  • Destinos de montaje: su sistema de archivos EFS debe tener destinos de montaje en al menos una de las zonas de disponibilidad en las que se encuentran las subredes de tiempo de ejecución del agente. Para una alta disponibilidad, se recomienda montar los destinos en todas las zonas de disponibilidad de subredes configuradas.

  • Una VPC a la vez: los sistemas de archivos EFS solo pueden tener destinos de montaje en una VPC a la vez. Cross-account No se admite el montaje de VPC. AgentCore

  • Alineación de zonas de disponibilidad: las subredes de tiempo de ejecución del agente y los destinos de montaje de EFS deben compartir al menos una zona de disponibilidad común. Cross-AZ El tráfico NFS funciona, pero añade costes de latencia y transferencia de datos.

  • Resolución de DNS: la VPC debe tener habilitados los nombres de host DNS y la resolución de DNS. El agente resuelve el nombre de host de destino del montaje en el <az-id>.<file-system-id>.efs.<region>.amazonaws.com momento del montaje.

Para comprobar sus objetivos de montaje EFS:

aws efs describe-mount-targets --file-system-id fs-0123456789abcdef0 --region us-west-2

Para obtener información completa sobre los objetivos de montaje de EFS, consulte Cómo funciona Amazon EFS.

Amazon S3 Files

  • Destinos de montaje: su sistema de archivos de S3 Files debe tener destinos de montaje en la misma VPC que el entorno de ejecución del agente. Los destinos de montaje deben estar en al menos una de las mismas zonas de disponibilidad que las subredes de tiempo de ejecución del agente.

  • Un destino de montaje por zona de disponibilidad: cada zona de disponibilidad puede tener como máximo un destino de montaje de S3 Files.

  • La misma VPC: los destinos de montaje de S3 Files deben estar en la misma VPC que el entorno de ejecución del agente. Cross-VPC No se admite el acceso al sistema de archivos.

  • Resolución de DNS: su VPC debe resolver el nombre de host de destino del montaje de S3 Files en el <az-id>.<file-system-id>.s3files.<region>.on.aws momento del montaje. Asegúrese de que la resolución de DNS esté habilitada en la configuración de la VPC.

Para comprobar los objetivos de montaje de los archivos S3:

aws s3files list-mount-targets --file-system-id fs-0123456789abcdef0 --region us-west-2

Para obtener información completa sobre el montaje de archivos S3, consulte Montaje de sistemas de archivos S3.

Requisitos compartidos

Requisito EFS Archivos de S3

Se requiere el modo VPC

Puerto NFS 2049 (TCP)

Monte los objetivos en la misma zona de disponibilidad

✓ (recomendado)

✓ (obligatorio)

La misma VPC

La misma cuenta AWS

Resolución de DNS activada

Cross-account VPC

✗ No compatible

✗ No se admite

importante

Cross-account No se admiten las configuraciones de VPC. Los recursos del sistema de archivos (sistema de archivos, puntos de acceso, destinos de montaje) y el tiempo de ejecución del agente deben estar en la misma AWS cuenta y VPC.

¿Cómo AgentCore monta los sistemas de archivos?

AgentCore gestiona automáticamente la operación de montaje del NFS dentro de la microVM:

  • EFS: se monta NFSv4.1 mediante TLS (puerto 2049). La autenticación de IAM se utiliza cuando la función de ejecución tiene un elasticfilesystem:ClientMount permiso con una condición. AccessPointArn

  • Archivos S3: se montan mediante NFSv4.2 TLS con autenticación de IAM obligatoria. El TLS y el IAM están siempre activados y no se pueden deshabilitar para los archivos S3.

No necesita instalaramazon-efs-utils, configurar ni administrar los /etc/fstab certificados TLS. El entorno de ejecución de microVM gestiona todas las operaciones de montaje, la rotación de credenciales y la supervisión del estado.

Selección de subredes y zonas de disponibilidad

Al configurar las subredes de VPC y las configuraciones del sistema de archivos en un entorno de ejecución del agente, seleccione las subredes que se superpongan con las zonas de disponibilidad de destino del sistema de archivos.

Para identificar el ID de la zona de disponibilidad de sus subredes:

aws ec2 describe-subnets \ --subnet-ids subnet-0123456789abcdef0 \ --query 'Subnets[0].AvailabilityZoneId'

Para identificar la zona de disponibilidad de sus objetivos de montaje de EFS:

aws efs describe-mount-targets \ --file-system-id fs-0123456789abcdef0 \ --query 'MountTargets[*].[AvailabilityZoneId, LifeCycleState]' \ --output table

Asegúrese de que las subredes de tiempo de ejecución del agente estén en las zonas de disponibilidad en las que el sistema de archivos tenga los objetivos de montaje.

Para ver las zonas de disponibilidad compatibles por región, consulte las zonas de disponibilidad compatibles en el tema de configuración de la VPC. Para ver la configuración del grupo de seguridad, consulte Ejemplo: conexión a Amazon EFS o Amazon S3 Files.

Solucione problemas con los montajes de sistemas de archivos propios

Cuando se produce un error al montar un sistema de archivos tipo «traiga su propio sistema de archivos», devuelve HTTP 424 (dependencia fallida). InvokeAgentRuntime

Síntoma Causa probable Solución rápida

«Acceso denegado»

Falta el rol de ejecución ClientMount o ClientWrite

Agregue permisos de IAM con una condición AccessPointArn

«ResourceNotFound» o «No se pudo resolver»

El punto de acceso o el destino de montaje se han eliminado o no están disponibles

Compruebe que el ARN existe y que los objetivos de montaje están disponibles

El montaje se bloquea y luego falla (aproximadamente 30 segundos)

El grupo de seguridad bloquea el puerto 2049 o no monta ningún objetivo en la zona de disponibilidad del agente

Permita el TCP 2049; compruebe la superposición de las zonas de disponibilidad

Se escribe «Permiso denegado»

Falta ClientWrite o no coincide en POSIX UID/GID

Agregue el permiso de escritura o alinee el usuario POSIX del punto de acceso

Cada montura tiene un tiempo de espera de 30 segundos. Todos los sistemas de archivos configurados se montan en paralelo: un solo error provoca un error en toda la invocación.

Para obtener más información, consulte Solución de problemas de almacenamiento BYO.