Environnement et système de fichiers
Chaque session de harnais s'exécute dans une microVM isolée avec son propre système de fichiers et son propre shell. Cette page décrit la configuration de l'environnement d'exécution (conteneur par défaut ou personnalisé), l'exécution de commandes directement sur la machine virtuelle, la définition de variables d'environnement et le montage de systèmes de fichiers persistants.
Exécuter des commandes sur l'environnement
Il n'est pas nécessaire que tout passe par la boucle de l'agent. InvokeAgentRuntimeCommandvous donne un accès shell direct au harnais MicroVM : exécution de commandes déterministe sans raisonnement basé sur le modèle, sans coût de jeton, sans ambiguïté.
Utilisez-le pour :
-
Exécutez des scripts déterministes de pré-invocation ou de post-invocation.
-
Préparez l'environnement avant un appel : clonez un dépôt, installez les dépendances, copiez les fichiers d'entrée.
-
Agissez sur ce que l'agent a produit : exécutez des tests, validez et publiez, extrayez les artefacts de construction.
-
Inspectez la machine virtuelle pendant le développement :
lscat,env,,python --versionsans parcourir le modèle de manière aller-retour.
Exemple
Consultez InvokeAgentRuntimeCommand l'API pour plus de détails.
Note
Les commandes s'exécutent en tant que root (uid 0) dans la microVM. Cela est analogue au root sur votre propre instance EC2 : l'autorisation IAM est la porte d'accès, et non le niveau de privilège intégré à la machine virtuelle. Si votre Dockerfile inclut une USER directive, elle s'applique uniquement au processus de l'agent (le point d'entrée principal du conteneur). InvokeAgentRuntimeCommands'exécute avec un niveau de privilège supérieur à des fins opérationnelles, de la même manière que docker exec par défaut, root même lorsque le conteneur s'exécute en tant qu'utilisateur non root. Voir Exécuter des commandes shell dans les sessions AgentCore d'exécution pour plus de détails sur la sécurité, la gestion des erreurs et les meilleures pratiques.
Environnement personnalisé (images de conteneurs)
L'environnement de base inclut Python et bash, ce qui est suffisant pour la plupart des tâches. Lorsque vous en avez besoin de plus, empaquetez votre code source, vos dépendances, vos environnements d'exécution et vos outils dans une image de conteneur, transférez-le vers ECR et référencez-le sur le harnais. Votre agent fonctionne exactement dans cet environnement. Associez des images personnalisées InvokeAgentRuntimeCommand pour une configuration spécifique à la session qui varie en fonction de l'invocation.
Les images du conteneur doivent être créées pour la linux/arm64 plate-forme.
Le harnais remplace celui de votre conteneur ENTRYPOINT et permet de CMD le faire fonctionner en tant qu'environnement. Le logiciel, le système de fichiers et les variables d'environnement que vous avez installés sont accessibles à l'agent ; la commande de démarrage de votre conteneur n'est pas exécutée. Si vous avez besoin d'un processus en arrière-plan (tel qu'un serveur de développement), démarrez-le InvokeAgentRuntimeCommand après le début de la session.
Exemple
Variables d’environnement
Définissez les variables d'environnement qui sont transmises au conteneur d'exécution. Les variables d'environnement sont accessibles à l'agent et à tout conteneur personnalisé exécuté au cours de la session.
Exemple
Système de fichiers
Le harnais installe le stockage persistant sur les chemins que vous spécifiez. Les fichiers écrits sur ces montages survivent à la fin de la session et sont visibles lors d'appels ultérieurs.
Un harnais prend en charge trois types de systèmes de fichiers :
-
Stockage de session : stockage par session géré par le service qui persiste au fil des stop/resume cycles pendant la même période.
runtimeSessionIdAucun VPC n'est requis. -
Point d'accès Amazon EFS : apportez votre propre système de fichiers EFS, partagé entre les sessions et les agents. VPC requis.
-
Point d'accès Amazon S3 Files : apportez votre propre système de fichiers S3 Files qui se synchronise de manière bidirectionnelle avec un compartiment S3. VPC requis.
Pour les prérequis (réseau VPC, autorisations IAM, groupes de sécurité), la comparaison des types, les limites et le comportement du cycle de vie, consultez la section Configurations du système de fichiers pour Runtime. AgentCore Les mêmes exigences s'appliquent aux harnais.
Configuration de l'environnement et du système de fichiers dans la CLI AgentCore
Exemple
Stockage de session
Les fichiers écrits sur le chemin de montage persistent d'un stop/resume cycle à l'autre lorsque vous les invoquez avec le même cheminruntimeSessionId.
Exemple
Point d'accès Amazon EFS
Attachez l'ARN d'un point d'accès EFS à un chemin de montage situé en dessous/mnt. Les données sont conservées dans votre compte et peuvent être partagées avec d'autres harnais ou environnements d'exécution d'agents qui installent le même point d'accès.
Exemple
Point d'accès Amazon S3 Files
Attachez l'ARN d'un point d'accès S3 Files à un chemin de montage situé en dessous/mnt. Les fichiers situés sur le chemin de montage sont synchronisés de manière bidirectionnelle avec le compartiment S3 de sauvegarde.
Exemple
Important
UpdateHarnessremplace la filesystemConfigurations liste complète. Pour ajouter un nouveau montage à un harnais sur lequel des systèmes de fichiers sont déjà configurés, appelez d'GetHarnessabord, puis envoyez la liste complète souhaitée (entrées existantes plus la nouvelle). UpdateHarness
Pour en savoir plus : Configurations du système de fichiers pour AgentCore Runtime.
Rubriques en relation
-
Compétences- attachez des compétences depuis Git, S3 ou AWS Skills
-
Mémoire- poursuivre les conversations d'une session à l'autre
-
Outils- connectez les outils à votre harnais
-
Sécurité et contrôles d'accès- politiques relatives aux rôles d'exécution et configuration des VPC