View a markdown version of this page

Configurations du système de fichiers pour AgentCore Runtime - Amazon Bedrock AgentCore

Configurations du système de fichiers pour AgentCore Runtime

AgentCore Runtime prend en charge les systèmes de fichiers persistants via le filesystemConfigurations paramètre. Chaque configuration installe le stockage sur un chemin que vous spécifiez. Vous n'avez pas besoin de code de montage personnalisé, de conteneurs privilégiés ou d'orchestration des téléchargements.

AgentCore Runtime prend en charge deux catégories de configurations de systèmes de fichiers :

  • Stockage de session géré (version préliminaire) : Service-managed stockage par session qui persiste au fil des stop/resume cycles. Isolé par session. Aucun VPC n'est requis.

  • Bring-your-own système de fichiers : attachez vos propres fichiers Amazon S3 ou points d'accès Amazon EFS directement à l'environnement d'exécution de votre agent. Partagé entre les sessions et les agents. VPC requis.

Vous pouvez combiner les deux catégories sur un seul environnement d'exécution d'agent (jusqu'à 5 configurations au total).

Les options de stockage en un coup d'œil

Le tableau suivant compare les types de configuration de système de fichiers disponibles.

Catégorie Type Isolation Persistance VPC requis Idéal pour

Gérées

Stockage de session (version préliminaire)

Per-session

Survit stop/resume ; expiration d'une période d'inactivité de 14 jours ; réinitialisation lors de la mise à jour de la version

Non

Espace de travail, packages installés, code, fichiers de projet, état de l'agent

BYO

Fichiers Amazon S3

Partagé : plusieurs sessions et agents accèdent aux mêmes données

Customer-managed (permanent, synchronisé avec le compartiment S3)

Oui

Ensembles de données accessibles via des opérations de fichiers standard et des API S3

BYO

Amazon EFS

Partagé : plusieurs sessions et agents accèdent aux mêmes données

Customer-managed (permanent jusqu'à ce que vous le supprimiez)

Oui

Bibliothèques d'outils partagées, pondération des modèles, collaboration multi-agents en lecture-écriture

Démarrage rapide

Les listes de contrôle suivantes fournissent des étapes condensées pour configurer chaque type de système de fichiers.

Stockage de session géré (version préliminaire)

  1. Aucune autorisation VPC ou IAM supplémentaire n'est requise.

  2. Ajoutez --filesystem-configurations '[{"sessionStorage": {"mountPath": "/mnt/workspace"}}]' à votre create-agent-runtime ou update-agent-runtime appelez.

  3. Invoquez l'agent avec un--runtime-session-id.

  4. Arrêtez la session, puis reprenez-la avec la même--runtime-session-id. Verify /mnt/workspace conserve vos données.

Bring-your-own système de fichiers

Point d'accès Amazon S3 Files

  1. Ajoutez s3files:ClientMounts3files:ClientWrite, et s3files:GetAccessPoint à votre rôle d'exécution avec une s3files:AccessPointArn condition.

  2. Autorisez le port TCP 2049 sortant du groupe de sécurité d'exécution de votre agent vers le groupe de sécurité cible de montage de votre agent S3 Files.

  3. Vérifiez que la cible de montage de S3 Files se trouve dans le même VPC et la même zone de disponibilité que les sous-réseaux d'exécution de votre agent.

  4. Ajoutez --filesystem-configurations '[{"s3FilesAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/s3data"}}]' à votre create-agent-runtime ou update-agent-runtime appelez.

  5. Invoquez l'agent. Les fichiers sont /mnt/s3data synchronisés de manière bidirectionnelle avec le compartiment S3 de sauvegarde.

Point d'accès Amazon EFS

  1. Ajoutez elasticfilesystem:ClientMount et elasticfilesystem:ClientWrite à votre rôle d'exécution avec une elasticfilesystem:AccessPointArn condition.

  2. Autorisez le port TCP 2049 sortant du groupe de sécurité d'exécution de votre agent vers votre groupe de sécurité cible de montage EFS.

  3. Vérifiez que la cible de montage EFS se trouve dans la même zone de disponibilité qu'au moins un des sous-réseaux d'exécution de votre agent.

  4. Ajoutez --filesystem-configurations '[{"efsAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/efs"}}]' à votre create-agent-runtime ou update-agent-runtime appelez.

  5. Invoquez l'agent. Vos fichiers sont disponibles à l'adresse/mnt/efs.

S3 Files et EFS nécessitent une connectivité VPC sur le runtime de l'agent.

Comment fonctionne chaque type

Les sections suivantes décrivent le fonctionnement de chaque type de système de fichiers dans AgentCore Runtime.

Bring-your-own systèmes de fichiers

Lorsque vous configurez un système de fichiers personnalisé, AgentCore Runtime monte le point d'accès spécifié dans chaque session sur le chemin que vous avez configuré. Les données sont partagées : plusieurs sessions, plusieurs agents ou applications externes peuvent accéder simultanément au même système de fichiers.

AgentCore gère automatiquement toutes les opérations de montage. Il n'est pas nécessaire d'installer des aides au montage, de gérer les certificats TLS ou d'écrire du code de montage dans votre agent.

Note

Lorsque vous créez un point d'accès (S3 Files ou EFS), vous spécifiez un ID utilisateur POSIX (UID) et un ID de groupe (GID). Toutes les opérations sur les fichiers via le point d'accès s'exécutent sous cette identité. Définissez le UID/GID pour qu'il corresponde à l'utilisateur sous lequel votre processus de conteneur s'exécute (généralement 1000:1000 pour les conteneurs non root, ou 0:0 pour root).

Flux de montage des fichiers Amazon S3

Lorsque vous configurez un point d'accès S3 Files, la séquence suivante se produit :

  1. Vous créez un système de fichiers S3 Files (soutenu par un compartiment S3) et vous montez des cibles dans votre VPC.

  2. Vous créez un point d'accès S3 Files en spécifiant le POSIX UID/GID et le répertoire racine.

  3. Vous configurez l'environnement d'exécution de l'agent avec l'ARN du point d'accès et le chemin de montage.

  4. Lors de l'invocation avec un nouvel ID de session, fournit AgentCore à une microVM un accès réseau à votre VPC.

  5. Le microVM monte le système de fichiers NFSv4.2 via TLS avec authentification IAM (port 2049) via votre VPC.

  6. Votre agent lit et écrit des fichiers sur le chemin de montage. Les modifications sont automatiquement synchronisées avec le compartiment S3 de sauvegarde.

Sémantique des fichiers S3

  • Synchronisation bidirectionnelle entre le système de fichiers et le compartiment S3 de sauvegarde

  • Close-to-open cohérence pour les clients NFS ; cohérence finale de S3 pour l'accès côté compartiment

  • Taille maximale du fichier : 48 TiB ; profondeur maximale du répertoire : 1 000 niveaux

  • Non pris en charge : liens physiques, classes de stockage d'archives S3 (Glacier), métadonnées d'objets S3 personnalisées, PNFs

Flux de montage Amazon EFS

Lorsque vous configurez un point d'accès EFS, la séquence suivante se produit :

  1. Vous créez un système de fichiers EFS et vous montez des cibles dans votre VPC (une par zone de disponibilité).

  2. Vous créez un point d'accès EFS en spécifiant le POSIX UID/GID et le répertoire racine.

  3. Vous configurez l'environnement d'exécution de l'agent avec l'ARN du point d'accès et le chemin de montage.

  4. Lors de l'invocation avec un nouvel ID de session, fournit AgentCore à une microVM un accès réseau à votre VPC.

  5. La microVM monte le système de fichiers NFSv4.1 via TLS (port 2049) via la cible de montage située dans la même zone de disponibilité.

  6. Votre agent lit et écrit des fichiers sur le chemin de montage à l'aide d'opérations de fichier standard.

Sémantique de l'EFS

  • POSIX complet : liens physiques, liens symboliques, verrouillage consultatif des fichiers

  • Accès simultané en lecture-écriture à partir de plusieurs sessions et agents

  • Close-to-open cohérence

  • Taille maximale du fichier : 47,9 TiB ; profondeur maximale du répertoire : 1 000 niveaux

Stockage de session géré (version préliminaire)

Conservez l'état de session dans toute la configuration stop/resume d'un système de fichiers à l'aide du stockage de session géré. AgentCore Le stockage de session géré par Runtime est une fonctionnalité entièrement gérée par des services dans laquelle AgentCore Runtime gère toutes les opérations de stockage. Votre agent lit et écrit sur un support de système de fichiers local et l'environnement d'exécution réplique de manière transparente les données vers le stockage du service pendant toute la durée de la session.

Le stockage de session est isolé par session : chaque session ne peut accéder qu'à son propre stockage et ne peut ni lire ni écrire de données provenant d'autres sessions du même environnement d'exécution d'agent ou de sessions de différents environnements d'exécution d'agent.

Lorsque vous configurez le stockage de session sur un environnement d'exécution d'agent, chaque session obtient un répertoire persistant sur le chemin de montage que vous spécifiez. Le cycle de vie fonctionne comme suit :

  1. Premier appel lors d'une session : un nouveau calcul isolé est provisionné. Votre agent voit un répertoire vide sur le chemin de montage.

  2. L'agent écrit des fichiers : toutes les opérations sur les fichiers (lecture, écriture, mkdir, renommer) fonctionnent normalement, comme dans un système de fichiers local, et les données sont répliquées de manière asynchrone sur un stockage durable.

  3. La session s'arrête : le calcul est terminé. Toutes les données qui ne sont pas encore conservées sont transférées vers un stockage durable lors de l'arrêt progressif.

  4. Reprise avec la même session : un nouveau calcul est mis en service et l'état du système de fichiers est restauré à partir d'un stockage durable. L'agent peut reprendre là où il s'est arrêté.

Sémantique du système de fichiers

Le stockage de session fournit un système de fichiers Linux standard sur le chemin de montage que vous avez configuré. Les outils et les opérations standard fonctionnent sans modification : lscat,mkdir,git,npm,pip,, et cargo tous fonctionnent comme prévu.

Opérations prises en charge

Fichiers, répertoires et liens symboliques ordinaires. Lire, écrire, renommer, supprimer,, chmod chownstat, et readdir : opérations de fichiers POSIX standard utilisées par les outils de développement courants.

Restrictions

Pour les limites de stockage de session, y compris la taille maximale de stockage, le nombre de fichiers et la profondeur du répertoire, voir Limites de stockage de session.

Opérations non prises en charge

Les opérations de système de fichiers suivantes ne sont pas prises en charge :

  • Liens physiques — Utilisez plutôt des liens symboliques.

  • Les fichiers de périphériques, les FIFO ou les sockets UNIX ne mknod sont pas pris en charge.

  • Attributs étendus (xattr) : les outils qui dépendent des métadonnées xattr ne sont pas pris en charge.

  • fallocate — La préallocation de fichiers fragmentés n'est pas prise en charge.

  • Verrouillage de fichiers entre sessions : les verrouillages consultatifs fonctionnent au cours d'une session en cours mais ne sont pas persistants d'une session à stop/resume l'autre. Les outils qui utilisent le verrouillage basé sur des fichiers (tels quegit) ne sont pas affectés.

Note

Les autorisations sont stockées mais ne sont pas appliquées au cours de la session. chmodet stat fonctionnent correctement, mais les contrôles d'accès réussissent toujours car l'agent s'exécute en tant que seul utilisateur de la microVM.

Cycle de vie du stockage des sessions

Les données de session sont supprimées (réinitialisées à un état propre) dans les scénarios suivants :

  • La session n'est pas invoquée pendant 14 jours.

  • La version d'exécution de l'agent est mise à jour. L'appel d'une session après une mise à jour de version approvisionne un nouveau système de fichiers.

Utilisez DeleteAgentRuntimeou DeleteAgentRuntimeEndpointpour supprimer toutes les données de stockage de session associées à l'environnement d'exécution ou au point de terminaison.

Conditions requises pour apporter vos propres systèmes de fichiers

Avant de configurer un système de fichiers personnalisé, remplissez les conditions préalables suivantes.

Configuration VPC

Le runtime de votre agent doit utilisernetworkMode: VPC. Les sous-réseaux que vous spécifiez doivent se chevaucher avec les zones de disponibilité cibles du système de fichiers.

Autorisations IAM

Le rôle d'exécution du runtime de votre agent doit inclure des autorisations pour monter le système de fichiers.

Autorisations IAM pour les fichiers 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>" } } }

Autorisations IAM pour 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>" } } }

Omettez cette option ClientWrite si votre agent n'a besoin que d'un accès en lecture. L's3files:GetAccessPointautorisation est requise pour la validation du point d'accès S3 Files lors de la création de l'exécution de l'agent.

Groupes de sécurité

Autorisez le TCP sortant sur le port 2049 depuis le groupe de sécurité d'exécution de votre agent vers le groupe de sécurité cible du montage. Autorisez le TCP entrant sur le port 2049 du groupe de sécurité cible du montage à partir du groupe de sécurité d'exécution de l'agent.

Configuration des systèmes de fichiers

Les sections suivantes montrent comment configurer chaque type de système de fichiers.

Configuration d'un point d'accès Amazon S3 Files

Pour configurer un point d'accès S3 Files, spécifiez l'ARN du point d'accès et le chemin de montagefilesystemConfigurations. Le runtime de votre agent doit utiliser le mode réseau VPC.

Exemple
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. Exemple Python utilisant boto3 pour créer un AgentCore Runtime avec un point d'accès 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" } } ] )

Configuration d'un point d'accès Amazon EFS

Pour configurer un point d'accès EFS, spécifiez l'ARN du point d'accès et le chemin de montagefilesystemConfigurations. Le runtime de votre agent doit utiliser le mode réseau VPC.

Exemple
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. Exemple Python utilisant boto3 pour créer un AgentCore Runtime avec un point d'accès 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" } } ] )

Configuration du stockage de session géré

Ajoutez filesystemConfigurations avec une sessionStorage entrée lors de la création ou de la mise à jour d'un environnement d'exécution d'agent.

Exemple
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. Exemple Python utilisant boto3 pour créer un AgentCore Runtime avec stockage de session.

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

Vous pouvez également ajouter un stockage de session à un environnement d'exécution d'agent existant à l'UpdateAgentRuntimeaide du même filesystemConfigurations paramètre.

Combinez les systèmes de fichiers

Vous pouvez combiner le stockage de sessions géré avec des systèmes de fichiers personnalisés sur un seul environnement d'exécution d'agent. L'exemple suivant configure les trois types.

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

Invoquer et utiliser le stockage persistant

Tous les systèmes de fichiers configurés sont disponibles sur leur chemin de montage lorsque votre agent est appelé. Bring-your-own les systèmes de fichiers (S3 Files, EFS) sont accessibles immédiatement à chaque appel. Le stockage de session géré conserve les données d'un stop/resume cycle à l'autre en les utilisantruntimeSessionId.

Exemple : utilisation du stockage de session sur plusieurs stop/resume cycles

# 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"}'

L'agent voit /mnt/workspace exactement ce qu'il a laissé : les fichiers source, les packages installés, les artefacts de compilation et l'historique .git sont tous intacts. Lorsque vous reprenez une session, le nouvel environnement informatique monte le stockage persistant. Votre agent peut continuer à travailler sans réinstaller de packages ni régénérer de fichiers.

Note

Lorsque vous appelez explicitement, attendez StopRuntimeSession toujours qu'il soit terminé avant de reprendre la session. Cela garantit que toutes les données sont transférées vers un stockage durable.

Note

Le chemin monté n'est disponible qu'au moment de l'appel de l'agent, et non lors de l'initialisation.

Restrictions

Le tableau suivant répertorie les limites des configurations de systèmes de fichiers.

Ressource Limite

Nombre total de configurations de systèmes de fichiers par exécution d'agent

5

Configurations maximales des points d'accès aux fichiers S3

2

Configurations maximales des points d'accès EFS

2

Configurations maximales de stockage de sessions gérées

1

Contraintes relatives au chemin de montage

Toutes les configurations de système de fichiers doivent respecter les règles de chemin de montage suivantes :

  • Doit se trouver en dessous /mnt/ avec exactement un niveau de sous-répertoire (par exemple,/mnt/data,/mnt/workspace).

  • Modèle : /mnt/[a-zA-Z0-9._-]+/?

  • Longueur : 6 à 200 caractères

  • Chaque chemin de montage doit être unique dans toutes les configurations.

  • Les chemins de montage ne peuvent pas être des sous-répertoires les uns des autres.

Comportement du cycle

Le tableau suivant compare le comportement du cycle de vie entre le stockage de session géré et les systèmes de fichiers « Bring-your-own ».

Comportement Stockage de session géré (version préliminaire) Bring-your-own (fichiers S3, EFS)

Expiration du délai

14 jours sans invocation — réinitialisation des données

Aucun — géré par le client

Lors de la mise à jour de la version

Données effacées : nouveau système de fichiers lors du prochain appel

Aucun effet, les données persistent

Activé DeleteAgentRuntime

Toutes les données de session ont été supprimées

Système de fichiers démonté ; données conservées dans votre compte

Accès simultané

Isolé par session

Partagé entre les sessions et les agents

Ownership

Service-managed par AgentCore

Customer-managed dans votre AWS compte

Important

Pour les systèmes de fichiers que vous pouvez apporter vous-même, assurez-vous que votre agent gère les accès simultanés de manière appropriée. Utilisez des modèles de dénomination fichier par session ou des verrouillages de fichiers consultatifs pour éviter les conflits.

Cas d’utilisation

Le tableau suivant répertorie les modèles courants et la configuration de système de fichiers recommandée pour chacun d'entre eux.

Modèle Configuration recommandée

Agent de codage avec fichiers de projet persistants

Stockage de session géré (version préliminaire) sur /mnt/workspace

Ensembles de données de référence accessibles à la fois depuis les agents et les pipelines S3

Point d'accès aux fichiers S3 à /mnt/datasets

Bibliothèques d'outils partagées entre tous les agents

Point d'accès aux fichiers S3 ou EFS à /mnt/tools

Multi-agent collaboration sur un espace de travail partagé

Point d'accès aux fichiers S3 ou EFS à /mnt/shared

Long-running analyse avec points de contrôle

Stockage de session pour les points de contrôle + fichiers S3 pour les données d'entrée

Full-stack agent (les deux catégories combinées)

Stockage de session + fichiers S3 + EFS (3 montages)

Exemple : agent de codage avec espace de travail persistant

Cet exemple montre un agent de codage utilisant des agents Strands FileSessionManager pour l'historique des conversations et le stockage de sessions pour les fichiers de projet. Les deux persistent au fil stop/resume des cycles.

Agent de codage avec stockage de session

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

Appelez l'agent, arrêtez la session, puis reprenez-la. Les fichiers de projet et le contexte de conversation sont conservés.

Cycle d'appel, d'arrêt et de reprise

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)

Il FileSessionManager enregistre l'historique des conversations/mnt/workspace/.sessions/, ce qui permet à l'agent de se souvenir du contexte au fil stop/resume des cycles.

Exigences liées à la mise en réseau

Cette section couvre les exigences réseau pour le stockage de sessions géré et les systèmes de fichiers « Bring-your-own ».

Réseau de stockage de session géré

Si le runtime de votre agent utilise le mode VPC avec stockage de session, l'agent a besoin d'un accès réseau pour se synchroniser avec le stockage distant. Les données de session étant stockées dans AgentCore S3, votre VPC doit autoriser la connectivité sortante vers S3. Si vous utilisez un point de terminaison S3 Gateway doté d'une politique personnalisée, vous pouvez définir l'accès à votre bucket de stockage de session régional comme suit :

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

Remplacez region par votre AWS région (par exemple,us-west-2).

Bring-your-own mise en réseau de systèmes de fichiers

Bring-your-own les systèmes de fichiers nécessitent que votre réseau VPC réponde aux exigences suivantes pour des montages réussis.

Amazon EFS

  • Cibles de montage : votre système de fichiers EFS doit avoir des cibles de montage dans au moins une des zones de disponibilité où se trouvent les sous-réseaux d'exécution de votre agent. Il est recommandé de monter les cibles dans toutes les zones de disponibilité de sous-réseau configurées pour garantir une haute disponibilité.

  • Un VPC à la fois : les systèmes de fichiers EFS ne peuvent avoir de cibles de montage que dans un seul VPC à la fois. Cross-account Le montage en VPC n'est pas pris en charge pour. AgentCore

  • Alignement des zones de disponibilité : les sous-réseaux d'exécution des agents et les cibles de montage EFS doivent partager au moins une zone de disponibilité commune. Cross-AZ Le trafic NFS fonctionne mais augmente la latence et les coûts de transfert de données.

  • Résolution DNS : les noms d'hôte DNS et la résolution DNS doivent être activés sur votre VPC. L'agent résout le nom d'hôte cible du montage <az-id>.<file-system-id>.efs.<region>.amazonaws.com au moment du montage.

Pour vérifier vos cibles de montage EFS :

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

Pour obtenir des informations complètes sur les cibles de montage EFS, consultez Comment fonctionne Amazon EFS.

Fichiers Amazon S3

  • Cibles de montage : votre système de fichiers S3 Files doit avoir des cibles de montage dans le même VPC que le moteur d'exécution de l'agent. Les cibles de montage doivent se trouver dans au moins une des mêmes zones de disponibilité que les sous-réseaux d'exécution de votre agent.

  • Une cible de montage par AZ — Chaque zone de disponibilité peut avoir au plus une cible de montage S3 Files.

  • Même VPC : les cibles de montage des fichiers S3 doivent se trouver dans le même VPC que le moteur d'exécution de l'agent. Cross-VPC l'accès au système de fichiers n'est pas pris en charge.

  • Résolution DNS : votre VPC doit résoudre le nom d'hôte cible du montage de S3 Files <az-id>.<file-system-id>.s3files.<region>.on.aws au moment du montage. Assurez-vous que la résolution DNS est activée dans les paramètres de votre VPC.

Pour vérifier les cibles de montage de vos fichiers S3 :

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

Pour des informations complètes sur le montage de fichiers S3, voir Montage de systèmes de fichiers S3.

Besoins partagés

Exigence EFS S3 Files

Mode VPC requis

Port NFS 2049 (TCP)

Montez des cibles dans la même zone

✓ (recommandé)

✓ (obligatoire)

Même VPC

Même AWS compte

Résolution DNS activée

Cross-account VPC

✗ Non pris en charge

✗ Non pris en charge

Important

Cross-account Les configurations VPC ne sont pas prises en charge. Les ressources du système de fichiers (système de fichiers, points d'accès, cibles de montage) et le runtime de l'agent doivent se trouver dans le même AWS compte et le même VPC.

Comment AgentCore monte les systèmes de fichiers

AgentCore gère automatiquement l'opération de montage NFS à l'intérieur de la microVM :

  • EFS — Monté NFSv4.1 via TLS (port 2049). L'authentification IAM est utilisée lorsque le rôle d'exécution dispose d'une elasticfilesystem:ClientMount autorisation assortie d'une AccessPointArn condition.

  • Fichiers S3 — Montés NFSv4.2 via TLS avec authentification IAM obligatoire. TLS et IAM sont toujours activés et ne peuvent pas être désactivés pour les fichiers S3.

Il n'est pas nécessaire d'installeramazon-efs-utils, de configurer /etc/fstab ou de gérer les certificats TLS. Le moteur d'exécution MicroVM gère toutes les opérations de montage, la rotation des identifiants et la surveillance de l'état de santé.

Sélection du sous-réseau et de la zone de disponibilité

Lorsque vous configurez à la fois des sous-réseaux VPC et des configurations de système de fichiers sur un environnement d'exécution d'agent, sélectionnez les sous-réseaux qui chevauchent les zones de disponibilité cibles de montage de votre système de fichiers.

Pour identifier l'ID de zone de disponibilité de vos sous-réseaux :

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

Pour identifier la zone de disponibilité de vos cibles de montage EFS :

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

Assurez-vous que les sous-réseaux d'exécution de votre agent se trouvent dans les zones de disponibilité où votre système de fichiers possède des cibles de montage.

Pour connaître les zones de disponibilité prises en charge par région, consultez les zones de disponibilité prises en charge dans la rubrique relative à la configuration du VPC. Pour la configuration du groupe de sécurité, consultez Exemple : connexion à Amazon EFS ou à Amazon S3 Files.

Résoudre les problèmes de montage du système de fichiers « Bring-your-own »

En cas d'échec du montage d'un système de fichiers « Bring-your-own », InvokeAgentRuntime renvoie HTTP 424 (Failed Dependency).

Symptôme Cause probable Solution rapide

« Accès refusé »

Rôle d'exécution manquant ClientMount ou ClientWrite

Ajouter des autorisations IAM avec condition AccessPointArn

« ResourceNotFound » ou « Impossible de résoudre »

Point d'accès ou cible de montage supprimé ou indisponible

Vérifiez que l'ARN existe et que les cibles de montage sont disponibles

Le montage se bloque puis échoue (~30s)

Groupe de sécurité bloquant le port 2049 ou absence de cible de montage dans la zone de disponibilité de l'agent

Autoriser le protocole TCP 2049 ; vérifier le chevauchement des zones de disponibilité

« Autorisation refusée » sur les écritures

Manquant ClientWrite ou incompatibilité POSIX UID/GID

Ajouter une autorisation d'écriture ou aligner l'utilisateur POSIX du point d'accès

Chaque montage a un délai d'expiration de 30 secondes. Tous les systèmes de fichiers configurés sont montés en parallèle : une seule défaillance entraîne l'échec complet de l'invocation.

Pour plus d'informations, consultez la section Résolution des problèmes de stockage BYO.