View a markdown version of this page

Configuraciones del sistema de archivos para AgentCore Runtime - Base amazónica AgentCore

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.

Configuraciones del sistema de archivos para AgentCore Runtime

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

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

  • Almacenamiento administrado: Service-managed almacenamiento en el que se AgentCore gestionan todas las operaciones de almacenamiento. Hay dos tipos gestionados, uno para cada tipo de procesamiento:

    • Almacenamiento de sesiones (versión preliminar): Per-session almacenamiento en tiempos de ejecución de microVM que persiste a lo largo stop/resume de los ciclos. Aislado por sesión. No se requiere VPC.

    • Volúmenes de proveedores de capacidad: volúmenes de Amazon EBS en tiempos de ejecución de instancias, definidos en el proveedor de capacidad y montados por nombre lógico. Persiste durante toda la sesión. stop/resume

  • Bring-your-own sistema de archivos: adjunte sus propios puntos de acceso a Amazon S3 Files o Amazon EFS directamente al tiempo de ejecución de su agente. Se comparte entre sesiones y agentes. Se requiere una VPC. Disponible en tiempos de ejecución de microVM.

El tipo administrado depende del tipo de procesamiento del tiempo de ejecución. Usa el almacenamiento de sesión en los tiempos de ejecución de microVM y los volúmenes del proveedor de capacidad en los tiempos de ejecución de las instancias. En los tiempos de ejecución de microVM, puede combinar el almacenamiento de sesiones con sus propios sistemas de archivos en un único tiempo de ejecución de agente (hasta 5 configuraciones en total).

Las opciones de almacenamiento de un vistazo

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

Categoría Tipo Aislamiento Persistencia Tipo de computación Se requiere una VPC Lo mejor para

Administrado

Almacenamiento de sesiones (versión preliminar)

Per-session

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

Solo microVM

No

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

Administrado

Volumen de proveedores de capacidad

Per-session

Sobrevive stop/resume; se conserva hasta que elimines la sesión

Solo instancias

Sí (configurado en el proveedor de capacidad)

Espacio virtual, archivos de espacio de trabajo, cachés y puntos de control para sesiones de instancias de larga duración

CHICO

Amazon S3 Files

Compartido: varias sesiones y agentes acceden a los mismos datos

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

MicroVM

Sí

Conjuntos de datos accesibles mediante operaciones de archivos estándar y mediante las API de S3

NIÑO

Amazon EFS

Compartido: varias sesiones y agentes acceden a los mismos datos

Customer-managed (permanente hasta que lo elimines)

microVM

Sí

Bibliotecas de herramientas compartidas, ponderaciones de modelos, colaboración entre múltiples agentes de lectura y escritura

Inicio rápido

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

Almacenamiento de sesiones administrado (versión preliminar)

El almacenamiento de sesiones está disponible en tiempos de ejecución de microVM.

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

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

  3. Invoca 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.

Volumen de proveedores de capacidad

Los volúmenes de los proveedores de capacidad están disponibles en los tiempos de ejecución de las instancias.

  1. Defina uno o más volúmenes de Amazon EBS con nombre en el proveedor de capacidad al crearlo (enec2Configuration.volumes).

  2. Cree el tiempo de ejecución del agente con un capacityProviderConfiguration que haga referencia al proveedor de capacidad.

  3. --filesystem-configurations '[{"capacityProviderVolume": {"volumeName": "scratch", "mountPath": "/mnt/scratch"}}]'Añádalo a la misma create-agent-runtime llamada haciendo referencia a un volumen por su nombre lógico.

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

Para ver el tutorial completo, consulte Introducción a las instancias mediante la AWS CLI.

Bring-your-own sistema de archivos

Punto de acceso a Amazon S3 Files

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

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

  3. Confirme que el destino de montaje de los archivos de S3 esté en la misma VPC y zona de disponibilidad que las subredes de tiempo de ejecución de sus agentes.

  4. --filesystem-configurations '[{"s3FilesAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/s3data"}}]'Agréguelo a su create-agent-runtime o llame. update-agent-runtime

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

Punto de acceso Amazon EFS

  1. Añada elasticfilesystem:ClientMount y elasticfilesystem:ClientWrite a su rol de ejecución con una elasticfilesystem:AccessPointArn condición.

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

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

  4. --filesystem-configurations '[{"efsAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/efs"}}]'Agréguelo a su create-agent-runtime o update-agent-runtime llame.

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

Tanto S3 Files como 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 personalizado, 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 de forma simultánea.

AgentCore gestiona todas las operaciones de montaje de forma automática. No es necesario instalar los ayudantes de montaje, gestionar los certificados TLS ni escribir el código de montaje en el agente.

nota

Cuando creas un punto de acceso (archivos S3 o EFS), especificas 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. Configúrala UID/GID para que coincida con el usuario con el que se ejecuta el proceso del contenedor (normalmente 1000:1000 para los contenedores que no son raíz, o 0:0 para los usuarios root).

Flujo de montaje de archivos de Amazon S3

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

  1. Creas un sistema de archivos de S3 Files (respaldado por un bucket de S3) y montas los destinos en tu VPC.

  2. Creas un punto de acceso a 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 identificador de sesión, AgentCore aprovisiona una microVM con acceso de red a tu VPC.

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

  6. Su agente lee y escribe archivos en la ruta de montaje. Los cambios se sincronizan automáticamente con el bucket S3 correspondiente.

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 físicos, clases de almacenamiento de archivos de S3 (Glacier), metadatos de objetos de S3 personalizados, PNF

Flujo de montaje de Amazon EFS

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

  1. Se crea un sistema de archivos EFS y se montan los destinos en la VPC (uno por zona de disponibilidad).

  2. Crea 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 identificador de sesión, AgentCore aprovisiona una microVM con acceso de red a tu VPC.

  5. La microVM monta el sistema de archivos mediante NFSv4.1 TLS (puerto 2049) mediante el destino de montaje en la misma zona de disponibilidad.

  6. Su agente lee y escribe archivos en la ruta de montaje mediante operaciones de archivos 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 administrado (vista previa)

Persiste el estado de la sesión en stop/resume una configuración de sistema de archivos mediante el almacenamiento de sesiones administrado. AgentCore El almacenamiento de sesiones gestionado en tiempo de ejecución es una capacidad totalmente gestionada por servicios en la que AgentCore Runtime gestiona todas las operaciones de almacenamiento. Su agente lee y escribe en un soporte de sistema de archivos local 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 se aísla 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 de agentes.

Al configurar el almacenamiento de sesiones en el tiempo 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 de una sesión: se aprovisiona un nuevo proceso aislado. El agente ve un directorio vacío en la ruta de montaje.

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

  3. La sesión se detiene: finaliza el procesamiento. Los datos que aún no se han conservado se almacenan de forma duradera durante el cierre correcto.

  4. Reanudar con la misma sesión: se aprovisiona un nuevo procesamiento y el estado del sistema de archivos se restaura a partir de 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:ls,cat,mkdir,git,npm,pip, y cargo todas funcionan según lo esperado.

Operaciones compatibles

Archivos, directorios y enlaces simbólicos normales. Leer, escribir, cambiar el nombre chmod chownstat, eliminar yreaddir: operaciones de archivos POSIX estándar 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 recuento de archivos y la profundidad del directorio, consulte los límites de almacenamiento de la sesión.

Operaciones no compatibles

No se admiten las siguientes operaciones del sistema de archivos:

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

  • Archivos de dispositivo, conectores FIFO o UNIX: mknod no es compatible.

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

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

  • Bloqueo de archivos entre sesiones: los bloqueos consultivos funcionan dentro de una sesión en ejecución, pero no persisten durante toda la sesión. 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 vital de almacenamiento de sesiones

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 actualiza la versión de ejecución del agente. Al invocar una sesión después de la actualización de una versión, se aprovisiona un sistema de archivos nuevo.

Use DeleteAgentRuntime o DeleteAgentRuntimeEndpoint elimine todos los datos de almacenamiento de la sesión asociados al tiempo de ejecución o al punto final.

Volúmenes de proveedores de capacidad (instancias)

Los volúmenes del proveedor de capacidad son el tipo de almacenamiento administrado para los tiempos de ejecución que utilizan el tipo de procesamiento de las instancias. En lugar de especificar el almacenamiento en el tiempo de ejecución, usted define los volúmenes de Amazon EBS con nombre en el proveedor de capacidad y el tiempo de ejecución los monta por nombre lógico. AgentCore crea, adjunta y conserva los volúmenes por usted; los volúmenes de Amazon EBS no los aprovisiona ni los monta usted mismo.

Al igual que el almacenamiento de sesiones, los volúmenes de los proveedores de capacidad se aíslan por sesión y persisten en toda la sesión. stop/resume Como una sesión en las instancias es una instancia EC2 dedicada, el volumen sigue el ciclo de vida de esa sesión:

  1. Defina los volúmenes en el proveedor de capacidad: cuando cree el proveedor de capacidad, incluya uno o más volúmenes de Amazon EBS ec2Configuration.volumes namesizeGiB, cada uno con un cifrado lógico y opcional volumeType y. iops throughput snapshotId

  2. Haga referencia a un volumen desde el tiempo de ejecución: añada una capacityProviderVolume entrada filesystemConfigurations con volumeName y a. mountPath

  3. Invoca al agente por primera vez: AgentCore crea el volumen de Amazon EBS y lo adjunta a la instancia EC2 de la sesión en tu ruta de montaje.

  4. Detenga la sesión: AgentCore termina la instancia EC2 pero conserva el volumen.

  5. Reanudar con la misma sesión: AgentCore aprovisiona una nueva instancia y vuelve a adjuntar el volumen existente para que los datos permanezcan intactos. Es posible que una sesión reiniciada se ejecute en una instancia con los parches más recientes.

El volumen se conserva durante estas paradas, incluso cuando una sesión alcanza su duración máxima. Solo se elimina cuando se elimina la sesión o cuando se elimina el proveedor de capacidad (que elimina sus sesiones y sus volúmenes).

Para obtener información sobre la administración de los datos de estos volúmenes, consulte Administrar los datos en instancias en tiempo de ejecución.

Los agentes pueden compartir un volumen, pero el uso compartido no es automático. Para montar un volumen para el tiempo de ejecución de un agente, ese tiempo de ejecución debe configurar el mismo capacityProviderVolume (porvolumeName) por sí solofilesystemConfigurations. Cuando dos de estos tiempos de ejecución se invocan de la misma maneraruntimeSessionId, se ejecutan en la misma instancia y cada uno monta el volumen compartido para que puedan colaborar en los mismos archivos. La configuración capacityProviderVolume controla qué volúmenes se AgentCore montan para un tiempo de ejecución; por sí sola, no aísla los datos entre los agentes de una sesión. El límite de aislamiento es la sesión. Para ver el modelo de aislamiento de sesiones y agentes, consulte el modelo de seguridad y los permisos para las instancias en tiempo de ejecución.

En los tiempos de ejecución de las instancias, no se admiten el almacenamiento de sesiones administrado ni el tipo «traiga su propio tipo». Estos tipos son, y. sessionStorage s3FilesAccessPoint efsAccessPoint Si se especifica cualquiera de ellos al lado, se produce un capacityProviderConfiguration error con unValidationException. Para saber cómo definir volúmenes en un proveedor de capacidad y montarlos, consulte Cómo empezar a utilizar instancias mediante la AWS CLI y el almacenamiento persistente entre sesiones.

Requisitos previos para crear sus propios sistemas de archivos

Antes de configurar un sistema de archivos personalizado, complete los siguientes requisitos previos.

Configuración de la VPC

El tiempo de ejecución de su agente debe usar. networkMode: VPC Las subredes que especifique deben superponerse con las zonas de disponibilidad de destino del montaje del 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 los 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 el TCP saliente en el puerto 2049 desde el grupo de seguridad en tiempo de ejecución del agente al grupo de seguridad de destino del montaje. Permita el TCP entrante en el puerto 2049 del grupo de seguridad de destino de montaje desde el grupo de seguridad en tiempo de ejecución del agente.

Configure los sistemas de archivos

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

Configure un punto de acceso a Amazon S3 Files

Para configurar un punto de acceso a 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 en el que se usa boto3 para crear un AgentCore Runtime con un punto de acceso a 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" } } ] )

Configure un punto de acceso de 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 usa 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 administrado

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 en el que se 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 agregar almacenamiento de sesión a un tiempo de ejecución de agente existente utilizando UpdateAgentRuntime el mismo filesystemConfigurations parámetro.

Configure un volumen de proveedor de capacidad

Para montar un volumen de proveedor de capacidad, primero defina el volumen en el proveedor de capacidad. A continuación, haga referencia a él por su nombre filesystemConfigurations cuando cree el tiempo de ejecución del agente. Esto se aplica a los tiempos de ejecución que utilizan el tipo de procesamiento de las instancias.

ejemplo
AWS CLI
  1. Defina el volumen en el proveedor de capacidad (enec2Configuration.volumes) al crearlo y, a continuación, haga referencia a él volumeName en el tiempo de ejecución del agente.

    aws bedrock-agentcore-control create-agent-runtime \ --agent-runtime-name "instances-agent" \ --role-arn "arn:aws:iam::111122223333:role/AgentRuntimeRole" \ --agent-runtime-artifact '{ "containerConfiguration": { "containerUri": "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }' \ --capacity-provider-configuration '{ "capacityProviderArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:capacity-provider/my_capacity_provider-a1b2c3d4e5" }' \ --filesystem-configurations '[{ "capacityProviderVolume": { "volumeName": "scratch", "mountPath": "/mnt/scratch" } }]'
AWS SDK
  1. Ejemplo de Python en el que se usa boto3 para crear un AgentCore Runtime on Instances con un volumen de proveedor de capacidad.

    import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client.create_agent_runtime( agentRuntimeName="instances-agent", roleArn="arn:aws:iam::111122223333:role/AgentRuntimeRole", agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }, capacityProviderConfiguration={ "capacityProviderArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:capacity-provider/my_capacity_provider-a1b2c3d4e5" }, filesystemConfigurations=[ { "capacityProviderVolume": { "volumeName": "scratch", "mountPath": "/mnt/scratch" } } ] )

volumeNameDebe coincidir con un volumen definido en el del proveedor de capacidad. ec2Configuration.volumes Para ver los pasos para definir los volúmenes en el proveedor de capacidad, consulte Introducción a las instancias mediante la AWS CLI.

Combine los sistemas de archivos

Puede combinar el almacenamiento de sesiones gestionado con sistemas de archivos personalizados en un único entorno de ejecución de agente de microVM. En el siguiente ejemplo, se configuran 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 al agente. Bring-your-own se puede acceder inmediatamente a los sistemas de archivos (archivos S3, EFS) en cada invocación. El almacenamiento de sesiones administradas conserva los datos a lo largo de stop/resume los ciclos con el mismo runtimeSessionId uso.

Ejemplo: uso del almacenamiento de sesiones en varios stop/resume 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 lo ve /mnt/workspace exactamente como lo dejó: los archivos fuente, los paquetes instalados, los artefactos de compilación y el historial.git permanecen intactos. Al reanudar una sesión, el nuevo entorno informático monta el almacenamiento persistente. Su agente puede seguir trabajando sin tener que volver a instalar paquetes ni regenerar 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

Total de configuraciones de sistemas de archivos por tiempo de ejecución de agente

5

Número máximo de configuraciones de puntos de acceso a los archivos S3

2

Máximo de configuraciones de puntos de acceso EFS

2

Número máximo de configuraciones de almacenamiento de sesiones administradas

1

Capacidad máxima de volúmenes de proveedores

5

Los límites totales de almacenamiento de configuraciones, archivos S3, EFS y sesiones se aplican a los tiempos de ejecución de las microVM. El límite de volumen del proveedor de capacidad se define en función del proveedor de capacidad (ec2Configuration.volumes) y no por tiempo de ejecución.

Restricciones de ruta de montaje

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

  • Debe estar 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 los tipos de sistemas de archivos gestionados y de tipo «traiga su propio sistema».

Comportamiento Almacenamiento de sesiones administrado (versión preliminar, microVM) Volumen del proveedor de capacidad (instancias) Bring-your-own (archivos S3, EFS)

Caducidad inactiva

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

Ninguno: el volumen se conserva en todas las paradas, incluso cuando una sesión alcanza su duración máxima

Ninguno: administrado por el cliente

Al actualizar la versión en tiempo de ejecución

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

Los datos persisten: el volumen se vuelve a adjuntar la próxima vez que se invoca

Sin efecto: los datos persisten

Al eliminar

Los datos de la sesión se eliminaron el DeleteAgentRuntime

El volumen se elimina al eliminar la sesión o al eliminar el proveedor de capacidad (que elimina sus sesiones)

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

Acceso simultáneo

Aislado por sesión

Aislado por sesión; los agentes pueden compartirlo en la misma sesión cuando cada tiempo de ejecución configura el mismo volumen

Se comparte entre sesiones y agentes

Ownership

Service-managed por AgentCore

Service-managed por AgentCore (Amazon EBS en su cuenta)

Customer-managed en su cuenta AWS

importante

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

Casos de uso

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

Patrón Configuración recomendada

Agente de codificación con archivos de proyecto persistentes (microVM)

Almacenamiento de sesiones administrado (vista previa) en /mnt/workspace

Espacio de trabajo persistente para un agente de larga duración en Instances

El volumen del proveedor de capacidad es /mnt/workspace

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

Punto de acceso a los archivos S3 en /mnt/datasets

Bibliotecas de herramientas compartidas entre todos los agentes

Los archivos S3 o el punto de acceso EFS se encuentran en /mnt/tools

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

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

En este ejemplo, se muestra a un agente de codificación que utiliza agentes de Strands FileSessionManager para almacenar el historial de conversaciones y las sesiones de los archivos de proyectos. 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(str(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

Invoca al agente, detiene la sesión y, a continuación, reanuda. 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)

También FileSessionManager almacena el historial de conversaciones/mnt/workspace/.sessions/, lo que permite al agente recordar el contexto a lo largo de stop/resume los ciclos.

Requisitos de red

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

Redes de almacenamiento de sesiones administradas

Si el tiempo de ejecución del agente usa el modo VPC con el almacenamiento de sesiones, 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 la VPC debe permitir la conectividad saliente a S3. Si utilizas un punto de enlace de S3 Gateway con una política personalizada, puedes limitar el acceso a tu depósito de almacenamiento de sesión 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 su 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 el montaje se realice 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 lograr una alta disponibilidad, se recomienda montar los destinos en todas las zonas de disponibilidad de subred 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 de NFS funciona, pero aumenta la latencia y los costes de transferencia de datos.

  • Resolución de DNS: su 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 los objetivos de montaje de 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

  • Objetivos de montaje: el sistema de archivos de S3 Files debe tener los objetivos de montaje en la misma VPC que el tiempo de ejecución del agente. Los objetivos de montaje deben estar en al menos una de las mismas zonas de disponibilidad que las subredes en 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 archivos S3.

  • La misma VPC: los destinos de montaje de los archivos de S3 deben estar en la misma VPC que el tiempo 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 de montaje de los archivos S3 <az-id>.<file-system-id>.s3files.<region>.on.aws en el 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 tus 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)

✓

✓

Monta 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 es compatible

✗ No es compatible

importante

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

¿Cómo AgentCore monta los sistemas de archivos

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

  • EFS: se monta mediante NFSv4.1 TLS (puerto 2049). La autenticación de IAM se usa cuando el rol 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. TLS e IAM siempre están habilitados y no se pueden deshabilitar para los archivos S3.

No es necesario instalaramazon-efs-utils, configurar ni administrar los /etc/fstab certificados TLS. El motor de ejecución de la 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 la VPC y las configuraciones del sistema de archivos en el tiempo de ejecución de un agente, seleccione las subredes que se superpongan con las zonas de disponibilidad de destino del montaje del sistema de archivos.

Para identificar el identificador de zona de disponibilidad de tus subredes:

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

Para identificar la zona de disponibilidad de sus destinos 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 ejecución de los agentes estén en las zonas de disponibilidad en las que el sistema de archivos tenga 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 archivos de Amazon EFS o Amazon S3.

Solucione problemas relacionados con los montajes del sistema de archivos «traiga su propio sistema de archivos»

Cuando se produce un error en el montaje del sistema de archivos «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 objetivo de montaje se eliminaron o no están disponibles

Verifique que el ARN exista y que los objetivos de montaje estén disponibles

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

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

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

«Permiso denegado» al escribir

Falta ClientWrite o el POSIX UID/GID no coincide

Agregue un 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; una sola falla hace que falle toda la invocación.

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