View a markdown version of this page

Configurazioni del file system per AgentCore Runtime - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazioni del file system per AgentCore Runtime

AgentCore Runtime supporta i file system persistenti tramite il filesystemConfigurations parametro. Ogni configurazione monta lo storage in un percorso specificato dall'utente. Non sono necessari codice di montaggio personalizzato, contenitori privilegiati o orchestrazione dei download.

AgentCore Runtime supporta due categorie di configurazioni di file system:

  • Storage gestito: spazio di Service-managed archiviazione in cui vengono AgentCore gestite tutte le operazioni di archiviazione. Esistono due tipi gestiti, uno per ogni tipo di elaborazione:

    • Storage di sessione (anteprima): Per-session archiviazione su runtime MicroVM che persiste su più cicli. stop/resume Isolato per sessione. Non è richiesto alcun VPC.

    • Volumi del fornitore di capacità: volumi Amazon EBS sui runtime delle istanze, definiti sul fornitore di capacità e montati in base a un nome logico. Persistono per tutta la sessione. stop/resume

  • Bring-your-own file system: collega i tuoi file Amazon S3 o i punti di accesso Amazon EFS direttamente al runtime dell'agente. Condiviso tra sessioni e agenti. VPC richiesto. Disponibile nei runtime MicroVM.

Il tipo gestito dipende dal tipo di elaborazione del runtime. Utilizza l'archiviazione delle sessioni sui runtime MicroVM e i volumi dei provider di capacità sui runtime delle istanze. Sui runtime MicroVM, puoi combinare lo storage delle sessioni con i file system bring-your-own su un singolo runtime dell'agente (fino a 5 configurazioni totali).

Le opzioni di archiviazione a colpo d'occhio

La tabella seguente confronta i tipi di configurazione del file system disponibili.

Categoria Tipo Isolamento Persistenza Tipo di calcolo VPC richiesto Ideale per

Gestiti

Archiviazione della sessione (anteprima)

Per-session

Sopravvive stop/resume; scadenza inattiva di 14 giorni; si ripristina all'aggiornamento della versione

Solo MicroVM

No

Spazio virtuale, pacchetti installati, codice, file di progetto, stato dell'agente

Gestiti

Volume del fornitore di capacità

Per-session

Sopravvive stop/resume; viene conservato fino all'eliminazione della sessione

Solo istanze

Sì (configurato sul fornitore di capacità)

Spazio di memoria virtuale, file dell'area di lavoro, cache e checkpoint per sessioni Instances di lunga durata

RAGAZZO

File di Amazon S3

Condiviso: più sessioni e agenti accedono agli stessi dati

Customer-managed (permanente, si sincronizza con il bucket S3)

MicroVM

Sì

Set di dati accessibili tramite operazioni sui file standard e API S3

RAGAZZO

Amazon EFS

Condiviso: più sessioni e agenti accedono agli stessi dati

Customer-managed (permanente finché non lo elimini)

MicroVM

Sì

Librerie di strumenti condivise, pesi dei modelli, collaborazione tra più agenti in lettura e scrittura

Avvio rapido

Le seguenti liste di controllo forniscono passaggi brevi per la configurazione di ogni tipo di file system.

Archiviazione gestita delle sessioni (anteprima)

L'archiviazione delle sessioni è disponibile nei runtime MicroVM.

  1. Non sono richieste autorizzazioni VPC o IAM aggiuntive.

  2. Aggiungilo --filesystem-configurations '[{"sessionStorage": {"mountPath": "/mnt/workspace"}}]' al tuo indirizzo create-agent-runtime o chiama. update-agent-runtime

  3. Invoca l'agente con un--runtime-session-id.

  4. Interrompi la sessione, quindi riprendila con la stessa--runtime-session-id. Verify /mnt/workspace conserva i tuoi dati.

Volume del fornitore di capacità

I volumi dei fornitori di capacità sono disponibili nei runtime delle istanze.

  1. Definisci uno o più volumi Amazon EBS denominati sul fornitore di capacità al momento della creazione (in). ec2Configuration.volumes

  2. Crea il runtime dell'agente con un capacityProviderConfiguration riferimento al fornitore di capacità.

  3. Aggiungete --filesystem-configurations '[{"capacityProviderVolume": {"volumeName": "scratch", "mountPath": "/mnt/scratch"}}]' alla stessa create-agent-runtime chiamata, facendo riferimento a un volume con il suo nome logico.

  4. Richiama l'agente con un. --runtime-session-id Interrompi la sessione, quindi riprendila con la stessa--runtime-session-id. Verify /mnt/scratch conserva i tuoi dati.

Per la procedura dettagliata completa, consulta Guida introduttiva alle istanze utilizzando la CLI. AWS

Bring-your-own file system

Punto di accesso Amazon S3 Files

  1. Aggiungi s3files:ClientMounts3files:ClientWrite, e s3files:GetAccessPoint al tuo ruolo di esecuzione con una s3files:AccessPointArn condizione.

  2. Consenti l'uscita della porta TCP 2049 dal gruppo di sicurezza di runtime dell'agente al gruppo di sicurezza di destinazione S3 Files mount.

  3. Verifica che la destinazione di montaggio dei file S3 si trovi nello stesso VPC e nella stessa zona di disponibilità delle sottoreti di runtime dell'agente.

  4. Aggiungi al tuo o --filesystem-configurations '[{"s3FilesAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/s3data"}}]' chiama. create-agent-runtime update-agent-runtime

  5. Invoca l'agente. File /mnt/s3data sincronizzati in modo bidirezionale con il bucket S3 di supporto.

Punto di accesso Amazon EFS

  1. Aggiungi elasticfilesystem:ClientMount e elasticfilesystem:ClientWrite al tuo ruolo di esecuzione con una elasticfilesystem:AccessPointArn condizione.

  2. Consenti l'uscita della porta TCP 2049 dal gruppo di sicurezza del runtime dell'agente al gruppo di sicurezza di destinazione del montaggio EFS.

  3. Verifica che la destinazione di montaggio EFS si trovi nella stessa zona di disponibilità di almeno una delle sottoreti di runtime dell'agente.

  4. Aggiungi --filesystem-configurations '[{"efsAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/efs"}}]' alla tua create-agent-runtime o chiama. update-agent-runtime

  5. Invoca l'agente. I tuoi file sono disponibili all'indirizzo. /mnt/efs

Sia S3 Files che EFS richiedono la connettività VPC sul runtime dell'agente.

Come funziona ogni tipo

Le sezioni seguenti descrivono il funzionamento di ciascun tipo di file system all'interno di AgentCore Runtime.

Bring-your-own file system

Quando si configura un file system bring-your-own, AgentCore Runtime monta il punto di accesso specificato in ogni sessione nel percorso configurato. I dati sono condivisi: più sessioni, più agenti o applicazioni esterne possono accedere contemporaneamente allo stesso file system.

AgentCore gestisce automaticamente tutte le operazioni di montaggio. Non è necessario installare gli helper di montaggio, gestire i certificati TLS o scrivere codice di montaggio nel proprio agente.

Nota

Quando si crea un punto di accesso (file S3 o EFS), si specifica un ID utente POSIX (UID) e un ID di gruppo (GID). Tutte le operazioni sui file tramite il punto di accesso vengono eseguite con questa identità. Imposta il UID/GID valore in modo che corrisponda all'utente con cui viene eseguito il processo del contenitore (in genere 1000:1000 per i contenitori non root o 0:0 per root).

Flusso di montaggio dei file Amazon S3

Quando si configura un punto di accesso S3 Files, si verifica la seguente sequenza:

  1. Crei un file system S3 Files (supportato da un bucket S3) e monti le destinazioni nel tuo VPC.

  2. Crei un punto di accesso S3 Files specificando il POSIX e la directory principale. UID/GID

  3. Si configura il runtime dell'agente con l'ARN del punto di accesso e il percorso di montaggio.

  4. Al richiamo con un nuovo ID di sessione, esegue il AgentCore provisioning di una MicroVM con accesso di rete al VPC.

  5. La microVM monta il file system tramite TLS con autenticazione IAM (porta 2049) NFSv4.2 tramite il tuo VPC.

  6. Il tuo agente legge e scrive i file nel percorso di montaggio. Le modifiche si sincronizzano automaticamente con il bucket S3 di supporto.

Semantica dei file S3

  • Sincronizzazione bidirezionale tra il file system e il bucket S3 di supporto

  • Close-to-open coerenza per i client NFS; eventuale coerenza S3 per l'accesso lato bucket

  • Dimensione massima del file: 48 TiB; profondità massima della directory: 1.000 livelli

  • Non supportato: collegamenti fisici, classi di archiviazione S3 (Glacier), metadati di oggetti S3 personalizzati, PNF

Flusso di montaggio di Amazon EFS

Quando si configura un punto di accesso EFS, si verifica la seguente sequenza:

  1. Crei un file system EFS e monti le destinazioni nel tuo VPC (una per zona di disponibilità).

  2. Create un punto di accesso EFS specificando il POSIX UID/GID e la directory principale.

  3. Si configura il runtime dell'agente con l'ARN del punto di accesso e il percorso di montaggio.

  4. Al richiamo con un nuovo ID di sessione, esegue il AgentCore provisioning di una MicroVM con accesso di rete al VPC.

  5. La microVM monta il file system tramite TLS (porta 2049) NFSv4.1 tramite il target di montaggio nella stessa zona di disponibilità.

  6. L'agente legge e scrive i file nel percorso di montaggio utilizzando operazioni standard sui file.

Semantica EFS

  • POSIX completo: collegamenti fisici, collegamenti simbolici, blocco dei file consultivi

  • Accesso simultaneo in lettura/scrittura da più sessioni e agenti

  • Close-to-open coerenza

  • Dimensione massima del file: 47,9 TiB; profondità massima della directory: 1.000 livelli

Archiviazione gestita delle sessioni (anteprima)

Mantieni lo stato della sessione stop/resume con una configurazione del file system utilizzando l'archiviazione delle sessioni gestita. AgentCore L'archiviazione delle sessioni gestita in runtime è una funzionalità completamente gestita dai servizi in cui AgentCore Runtime gestisce tutte le operazioni di archiviazione. L'agente legge e scrive su un file system mount locale e l'ambiente di runtime replica in modo trasparente i dati nello storage del servizio per tutta la durata della sessione.

L'archiviazione delle sessioni è isolata per sessione: ogni sessione può accedere solo alla propria memoria e non può leggere o scrivere dati da altre sessioni dello stesso runtime dell'agente o da sessioni di runtime dell'agente diversi.

Quando si configura l'archiviazione delle sessioni su un runtime dell'agente, a ogni sessione viene assegnata una directory persistente nel percorso di montaggio specificato. Il ciclo di vita funziona come segue:

  1. Prima chiamata in una sessione: viene eseguito il provisioning di un nuovo computer isolato. L'agente vede una directory vuota nel percorso di montaggio.

  2. L'agente scrive i file: tutte le operazioni sui file (lettura, scrittura, mkdir, rinomina) funzionano normalmente, in modo simile a un file system locale, e i dati vengono replicati in modo asincrono su uno storage durevole.

  3. La sessione si interrompe: l'elaborazione viene terminata. Tutti i dati non ancora conservati vengono salvati su una memoria durevole durante l'arresto regolare.

  4. Riprendi con la stessa sessione: viene eseguito il provisioning di un nuovo computer e lo stato del file system viene ripristinato da uno storage durevole. L'agente può continuare dal punto in cui era stato interrotto.

Semantica del file system

L'archiviazione delle sessioni fornisce un file system Linux standard nel percorso di montaggio configurato. Gli strumenti e le operazioni standard funzionano senza modifiche: ls catmkdir,git,npm,pip, e funzionano cargo tutti come previsto.

Operazioni supportate

File, directory e collegamenti simbolici regolari. Lettura, scrittura, ridenominazione, eliminazione, chmod chownstat, ereaddir: operazioni standard sui file POSIX utilizzate dai comuni strumenti di sviluppo.

Limiti

Per i limiti di archiviazione delle sessioni, tra cui la dimensione massima di archiviazione, il numero di file e la profondità della directory, vedi Limiti di archiviazione delle sessioni.

Operazioni non supportate

Le seguenti operazioni sul file system non sono supportate:

  • Collegamenti fisici: utilizzate invece i collegamenti simbolici.

  • File di dispositivo, FIFO o socket UNIX: mknod non è supportato.

  • Attributi estesi (xattr): gli strumenti che dipendono dai metadati xattr non sono supportati.

  • fallocate — La preallocazione di file sparsi non è supportata.

  • Blocco dei file tra le sessioni: i blocchi di avviso funzionano all'interno di una sessione in esecuzione ma non vengono mantenuti in modo persistente. stop/resume Gli strumenti che utilizzano il blocco basato su file (ad esempio) non sono interessati. git

Nota

Le autorizzazioni vengono archiviate ma non applicate all'interno della sessione. chmode stat funzionano correttamente, ma i controlli di accesso hanno sempre esito positivo perché l'agente viene eseguito come unico utente nella MicroVM.

Ciclo di vita dello storage delle sessioni

I dati della sessione vengono eliminati (ripristinati allo stato pulito) nei seguenti scenari:

  • La sessione non viene richiamata per 14 giorni.

  • La versione del runtime dell'agente viene aggiornata. Il richiamo di una sessione dopo l'aggiornamento della versione fornisce un nuovo file system.

Usa DeleteAgentRuntime o DeleteAgentRuntimeEndpoint per eliminare tutti i dati di archiviazione della sessione associati al runtime o all'endpoint.

Volumi dei fornitori di capacità (istanze)

I volumi dei fornitori di capacità sono il tipo di storage gestito per i runtime che utilizzano il tipo di calcolo Instances. Invece di specificare lo storage nel runtime, definisci i volumi Amazon EBS denominati sul fornitore di capacità e il runtime li monta in base al nome logico. AgentCore crea, collega e conserva i volumi per te: non sei tu stesso a effettuare il provisioning o il montaggio dei volumi Amazon EBS.

Come lo storage delle sessioni, i volumi dei fornitori di capacità sono isolati per sessione e persistono per tutta la durata. stop/resume Poiché una sessione su Instances è un'istanza EC2 dedicata, il volume segue il ciclo di vita della sessione:

  1. Definizione dei volumi sul fornitore di capacità: quando crei il fornitore di capacità, elenca uno o più volumi Amazon EBS inec2Configuration.volumes, ciascuno con una sizeGiB crittografia logica name e opzionalevolumeType. iops throughput snapshotId

  2. Fai riferimento a un volume dal runtime: aggiungi una capacityProviderVolume voce filesystemConfigurations con volumeName e amountPath.

  3. Richiama l'agente per la prima volta: AgentCore crea il volume Amazon EBS e lo collega all'istanza EC2 della sessione nel percorso di montaggio.

  4. Interrompi la sessione: AgentCore termina l'istanza EC2 ma mantiene il volume.

  5. Riprendi con la stessa sessione: effettua il AgentCore provisioning di una nuova istanza e ricollega il volume esistente, in modo che i dati rimangano intatti. Una sessione riavviata potrebbe essere eseguita su un'istanza con le patch più recenti.

Il volume viene mantenuto per tutte queste interruzioni, anche quando una sessione raggiunge la sua durata massima. Viene eliminato solo quando si elimina la sessione o quando si elimina il fornitore di capacità (che ne elimina le sessioni e i relativi volumi).

Per informazioni sulla gestione dei dati su questi volumi, consulta Gestire i dati sulle istanze di runtime.

Gli agenti possono condividere un volume, ma la condivisione non è automatica. Affinché un volume venga montato per il runtime di un agente, tale runtime deve configurarlo autonomamente capacityProviderVolume (byvolumeName)filesystemConfigurations. Quando due di questi runtime vengono richiamati contemporaneamenteruntimeSessionId, vengono eseguiti sulla stessa istanza e ciascuno monta il volume condiviso, in modo che possano collaborare sugli stessi file. La configurazione capacityProviderVolume controlla quali volumi vengono AgentCore montati per un runtime; non isola di per sé i dati tra gli agenti in una sessione. Il limite di isolamento è la sessione. Per il modello di isolamento della sessione e dell'agente, consulta Modello di sicurezza e autorizzazioni per le istanze di runtime.

L'archiviazione delle sessioni gestita e i tipi bring-your-own non sono supportati nei runtime di Instances. Questi tipi sono,, e. sessionStorage s3FilesAccessPoint efsAccessPoint La specificazione di uno di essi insieme ha capacityProviderConfiguration esito negativo con unValidationException. Per informazioni su come definire i volumi su un fornitore di capacità e montarli, consulta Guida introduttiva alle istanze che utilizzano la AWS CLI e lo storage persistente tra le sessioni.

Prerequisiti per i file system bring-your-own

Prima di configurare un file system bring-your-own, completate i seguenti prerequisiti.

Configurazione VPC

Il runtime dell'agente deve utilizzare. networkMode: VPC Le sottoreti specificate devono sovrapporsi alle zone di disponibilità della destinazione di montaggio del file system.

autorizzazioni IAM

Il ruolo di esecuzione del runtime dell'agente deve includere le autorizzazioni per montare il file system.

Autorizzazioni IAM per i file 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>" } } }

Autorizzazioni IAM per 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>" } } }

Ometti ClientWrite se il tuo agente necessita solo dell'accesso in lettura. L's3files:GetAccessPointautorizzazione è richiesta per la convalida del punto di accesso di S3 Files durante la creazione del runtime dell'agente.

Gruppi di sicurezza

Consenti il protocollo TCP in uscita sulla porta 2049 dal gruppo di sicurezza del runtime dell'agente al gruppo di sicurezza mount target. Consenti il TCP in ingresso sulla porta 2049 del gruppo di sicurezza mount target dal gruppo di sicurezza di runtime dell'agente.

Configurare i file system

Le sezioni seguenti mostrano come configurare ogni tipo di file system.

Configura un punto di accesso Amazon S3 Files

Per configurare un punto di accesso S3 Files, specifica l'ARN del punto di accesso e il percorso di montaggio. filesystemConfigurations Il runtime dell'agente deve utilizzare la modalità di rete VPC.

Esempio
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. Esempio di Python che utilizza boto3 per creare un AgentCore Runtime con un punto di accesso 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" } } ] )

Configura un punto di accesso Amazon EFS

Per configurare un punto di accesso EFS, specifica l'ARN del punto di accesso e il percorso di montaggio. filesystemConfigurations Il runtime dell'agente deve utilizzare la modalità di rete VPC.

Esempio
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. Esempio di Python che utilizza boto3 per creare un AgentCore Runtime con un access point 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" } } ] )

Configurare l'archiviazione gestita delle sessioni

Aggiungilo filesystemConfigurations con una sessionStorage voce durante la creazione o l'aggiornamento del runtime di un agente.

Esempio
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. Esempio di Python che utilizza boto3 per creare un AgentCore Runtime con archiviazione delle sessioni.

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

È inoltre possibile aggiungere l'archiviazione della sessione a un runtime dell'agente esistente utilizzando lo stesso UpdateAgentRuntime parametro. filesystemConfigurations

Configurare un volume del fornitore di capacità

Per montare un volume del fornitore di capacità, definisci innanzitutto il volume sul fornitore di capacità. Quindi fai riferimento ad esso per nome filesystemConfigurations quando crei il runtime dell'agente. Questo vale per i runtime che utilizzano il tipo di calcolo Instances.

Esempio
AWS CLI
  1. Definisci il volume sul fornitore di capacità (inec2Configuration.volumes) al momento della creazione, quindi fai riferimento ad esso nel runtime dell'volumeNameagente.

    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. Esempio di Python che utilizza boto3 per creare un AgentCore runtime sulle istanze con un volume del fornitore di capacità.

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

volumeNameDeve corrispondere a un volume definito in quello del fornitore di capacità. ec2Configuration.volumes Per i passaggi per definire i volumi sul fornitore di capacità, consulta Guida introduttiva alle istanze utilizzando la AWS CLI.

Combina i file system

È possibile combinare lo storage delle sessioni gestito con i file system bring-your-own su un singolo runtime dell'agente MicroVM. L'esempio seguente configura tutti e tre i tipi.

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

Richiama e usa l'archiviazione persistente

Tutti i file system configurati sono disponibili nei rispettivi percorsi di montaggio quando viene richiamato l'agente. Bring-your-own i file system (S3 Files, EFS) sono accessibili immediatamente a ogni chiamata. Lo storage delle sessioni gestite mantiene i dati su più stop/resume cicli utilizzando gli stessi dati. runtimeSessionId

Esempio: utilizzo dell'archiviazione delle sessioni su più cicli stop/resume

# 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'agente vede /mnt/workspace esattamente come l'ha lasciato: i file sorgente, i pacchetti installati, gli artefatti di compilazione e la cronologia del file .git sono tutti intatti. Quando si riprende una sessione, il nuovo ambiente di elaborazione monta lo storage persistente. L'agente può continuare a lavorare senza reinstallare i pacchetti o rigenerare i file.

Nota

Quando si chiama in modo esplicito, attendi StopRuntimeSession sempre il completamento prima di riprendere la sessione. Ciò garantisce che tutti i dati vengano trasferiti in una memoria durevole.

Nota

Il percorso montato è disponibile solo al momento dell'invocazione dell'agente, non durante l'inizializzazione.

Limits

La tabella seguente elenca i limiti per le configurazioni del file system.

Risorsa Limite

Configurazioni totali del file system per runtime dell'agente

5

Numero massimo di configurazioni dei punti di accesso S3 Files

2

Numero massimo di configurazioni dei punti di accesso EFS

2

Numero massimo di configurazioni gestite di archiviazione delle sessioni

1

Volumi massimi del provider di capacità

5

Le configurazioni totali, i file S3, l'EFS e i limiti di archiviazione delle sessioni si applicano ai runtime di MicroVM. Il limite di volume del fornitore di capacità è definito in base al fornitore di capacità () anziché per runtime. ec2Configuration.volumes

Vincoli di percorso di montaggio

Tutte le configurazioni del file system devono seguire queste regole del percorso di montaggio:

  • Deve avere esattamente /mnt/ un livello di sottodirectory (ad esempio,/mnt/data,/mnt/workspace).

  • Modello: /mnt/[a-zA-Z0-9._-]+/?

  • Lunghezza: 6—200 caratteri.

  • Ogni percorso di montaggio deve essere univoco in tutte le configurazioni.

  • I percorsi di montaggio non possono essere sottodirectory l'uno dell'altro.

Comportamento del ciclo di vita

La tabella seguente confronta il comportamento del ciclo di vita tra i tipi di file system gestiti e bring-your-own.

Comportamento Archiviazione delle sessioni gestita (Preview, MicroVM) Volume del fornitore di capacità (istanze) Bring-your-own (File S3, EFS)

Scadenza inattiva

14 giorni senza invocazione: ripristino dei dati

Nessuno: il volume viene mantenuto per più interruzioni, anche quando una sessione raggiunge la sua durata massima

Nessuno: gestito dal cliente

In fase di aggiornamento della versione di runtime

Dati cancellati: nuovo file system alla prossima chiamata

I dati persistono: il volume viene ricollegato alla chiamata successiva

Nessun effetto: i dati persistono

In caso di eliminazione

I dati della sessione sono stati eliminati il DeleteAgentRuntime

Volume eliminato quando si elimina la sessione o quando si elimina il fornitore di capacità (che ne elimina le sessioni)

File system smontato; dati conservati nel tuo account

Accesso simultaneo

Isolato per sessione

Isolato per sessione; può essere condiviso dagli agenti nella stessa sessione quando ogni runtime configura lo stesso volume

Condiviso tra sessioni e agenti

Ownership

Service-managed di AgentCore

Service-managed di AgentCore (Amazon EBS nel tuo account)

Customer-managed nel tuo account AWS

Importante

Per i file system «bring-your-own», assicurati che il tuo agente gestisca gli accessi simultanei in modo appropriato. Utilizza modelli di denominazione dei file per sessione o blocchi informativi dei file per evitare conflitti.

Casi d’uso

La tabella seguente elenca i modelli comuni e la configurazione del file system consigliata per ciascuno di essi.

Pattern Configurazione consigliata

Agente di codifica con file di progetto persistenti (MicroVM)

Archiviazione gestita delle sessioni (anteprima) su /mnt/workspace

Spazio di lavoro persistente per un agente di lunga durata sulle istanze

Volume del fornitore di capacità pari a /mnt/workspace

Set di dati di riferimento accessibili sia dagli agenti che dalle pipeline S3

Punto di accesso ai file S3 in /mnt/datasets

Librerie di strumenti condivise tra tutti gli agenti

File S3 o punto di accesso EFS all'indirizzo /mnt/tools

Multi-agent collaborazione su uno spazio di lavoro condiviso

File S3 o punto di accesso EFS all'indirizzo /mnt/shared

Long-running analisi con punti di controllo

Archiviazione della sessione per i checkpoint + file S3 per i dati di input

Full-stack agente (entrambe le categorie combinate)

Archiviazione delle sessioni + file S3 + EFS (3 montaggi)

Esempio: agente di codifica con spazio di lavoro persistente

Questo esempio mostra un agente di codifica che utilizza Strands Agents with FileSessionManager per la cronologia delle conversazioni e l'archiviazione delle sessioni per i file di progetto. Entrambi persistono attraverso i cicli. stop/resume

Agente di codifica con archiviazione delle sessioni

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

Richiama l'agente, interrompi la sessione, quindi riprendi. Sia i file di progetto che il contesto della conversazione persistono.

Richiama, interrompi e riprendi il 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)

FileSessionManagerMemorizza la cronologia delle conversazioni per /mnt/workspace/.sessions/ consentire all'agente di ricordare il contesto tra i stop/resume cicli.

Requisiti di rete

Questa sezione descrive i requisiti di rete sia per l'archiviazione delle sessioni gestite che per i file system bring-your-own.

Rete per lo storage delle sessioni gestite

Se il runtime dell'agente utilizza la modalità VPC con archiviazione delle sessioni, l'agente deve accedere alla rete per sincronizzarsi con l'archiviazione remota. I dati della sessione sono archiviati in AgentCore S3, quindi il tuo VPC deve consentire la connettività in uscita a S3. Se utilizzi un endpoint S3 Gateway con una policy personalizzata, puoi definire l'ambito di accesso al bucket di archiviazione delle sessioni regionale come segue:

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

Sostituisci region con la tua AWS regione (ad esempio,). us-west-2

Bring-your-own rete di file system

Bring-your-own i file system richiedono che la rete VPC soddisfi i seguenti requisiti per una corretta installazione.

Amazon EFS

  • Obiettivi di montaggio: il file system EFS deve avere destinazioni di montaggio in almeno una delle zone di disponibilità in cui si trovano le sottoreti di runtime dell'agente. Le destinazioni di montaggio in tutte le zone di disponibilità della subnet configurate sono consigliate per una disponibilità elevata.

  • Un VPC alla volta: i file system EFS possono avere destinazioni di montaggio in un solo VPC alla volta. Cross-account Il montaggio su VPC non è supportato per. AgentCore

  • Allineamento della zona di disponibilità: le sottoreti di runtime dell'agente e le destinazioni di montaggio EFS devono condividere almeno una zona di disponibilità comune. Cross-AZ Il traffico NFS funziona ma aggiunge latenza e costi di trasferimento dei dati.

  • Risoluzione DNS: il tuo VPC deve avere i nomi host DNS e la risoluzione DNS abilitati. L'agente risolve il nome host di destinazione del montaggio al momento del montaggio. <az-id>.<file-system-id>.efs.<region>.amazonaws.com

Per controllare i target di montaggio EFS:

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

Per informazioni complete sui target di montaggio EFS, consulta Come funziona Amazon EFS.

File di Amazon S3

  • Obiettivi di montaggio: il file system S3 Files deve avere obiettivi di montaggio nello stesso VPC del runtime dell'agente. Le destinazioni di montaggio devono trovarsi in almeno una delle stesse zone di disponibilità delle sottoreti di runtime dell'agente.

  • Una destinazione di montaggio per AZ: ogni zona di disponibilità può avere al massimo una destinazione di montaggio dei file S3.

  • Stesso VPC: le destinazioni di montaggio dei file S3 devono trovarsi nello stesso VPC del runtime dell'agente. Cross-VPC l'accesso al file system non è supportato.

  • Risoluzione DNS: il VPC deve risolvere il nome host <az-id>.<file-system-id>.s3files.<region>.on.aws di destinazione di montaggio dei file S3 al momento del montaggio. Assicurati che la risoluzione DNS sia abilitata nelle impostazioni del tuo VPC.

Per verificare le destinazioni di montaggio dei file S3:

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

Per informazioni complete sul montaggio dei file S3, vedi Montaggio dei file system S3.

Requisiti condivisi

Requisito EFS File S3

È richiesta la modalità VPC

✓

✓

Porta NFS 2049 (TCP)

✓

✓

Monta i bersagli nella stessa AZ

✓ (consigliato)

✓ (richiesto)

Stesso VPC

✓

✓

Stesso account AWS

✓

✓

Risoluzione DNS abilitata

✓

✓

Cross-account VPC

✗ Non supportato

✗ Non supportato

Importante

Cross-account Le configurazioni VPC non sono supportate. Le risorse del file system (file system, punti di accesso, obiettivi di montaggio) e il runtime dell'agente devono trovarsi nello stesso AWS account e nello stesso VPC.

Come AgentCore monta i file system

AgentCore gestisce automaticamente l'operazione di montaggio NFS all'interno della microVM:

  • EFS: montato NFSv4.1 tramite TLS (porta 2049). L'autenticazione IAM viene utilizzata quando il ruolo di esecuzione è elasticfilesystem:ClientMount autorizzato con una AccessPointArn condizione.

  • File S3: montati NFSv4.2 tramite TLS con autenticazione IAM obbligatoria. TLS e IAM sono sempre abilitati e non possono essere disabilitati per i file S3.

Non è necessario installareamazon-efs-utils, configurare o gestire i /etc/fstab certificati TLS. Il runtime MicroVM gestisce tutte le operazioni di montaggio, la rotazione delle credenziali e il monitoraggio dello stato.

Selezione della sottorete e della zona di disponibilità

Quando configuri sia le sottoreti VPC che le configurazioni del file system su un runtime dell'agente, seleziona le sottoreti che si sovrappongono alle zone di disponibilità di destinazione per il montaggio del file system.

Per identificare l'ID della zona di disponibilità delle sottoreti:

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

Per identificare la zona di disponibilità dei target di montaggio EFS:

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

Assicurati che le sottoreti di runtime dell'agente si trovino nelle zone di disponibilità in cui il file system ha destinazioni di montaggio.

Per le zone di disponibilità supportate per regione, consulta le zone di disponibilità supportate nell'argomento sulla configurazione del VPC. Per la configurazione dei gruppi di sicurezza, consulta Esempio: connessione a file Amazon EFS o Amazon S3.

Risolvi i problemi relativi ai montaggi del file system «bring-your-own»

Quando il montaggio di un file system bring-your-own fallisce, restituisce HTTP 424 (Failed Dependency). InvokeAgentRuntime

Caratteristiche Causa probabile Correzione rapida

«Accesso negato»

Ruolo di esecuzione mancante ClientMount o ClientWrite

Aggiungi autorizzazioni IAM con condizione AccessPointArn

ResourceNotFound"o «Risoluzione non riuscita»

Punto di accesso o destinazione di montaggio eliminati o non disponibili

Verifica che l'ARN esista e che le destinazioni di montaggio siano disponibili

Il montaggio si blocca e poi fallisce (~30s)

Gruppo di sicurezza che blocca la porta 2049 o nessun target di montaggio nella zona di disponibilità dell'agente

Consenti TCP 2049; verifica la sovrapposizione delle zone di disponibilità

«Autorizzazione negata» in fase di scrittura

Mancante ClientWrite o mancata corrispondenza in formato POSIX UID/GID

Aggiungi l'autorizzazione di scrittura o allinea l'utente POSIX del punto di accesso

Ogni montaggio ha un timeout di 30 secondi. Tutti i file system configurati vengono montati in parallelo: un singolo errore causa il fallimento dell'intera chiamata.

Per ulteriori informazioni, consulta Risoluzione dei problemi di archiviazione BYO.