View a markdown version of this page

Configurações do sistema de arquivos para AgentCore Runtime - Base da Amazônia AgentCore

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurações do sistema de arquivos para AgentCore Runtime

AgentCore O Runtime oferece suporte a sistemas de arquivos persistentes por meio do filesystemConfigurations parâmetro. Cada configuração monta o armazenamento em um caminho que você especifica. Você não precisa de código de montagem personalizado, contêineres privilegiados ou orquestração de downloads.

AgentCore O Runtime oferece suporte a duas categorias de configurações do sistema de arquivos:

  • Armazenamento gerenciado — Service-managed armazenamento onde AgentCore lida com todas as operações de armazenamento. Há dois tipos gerenciados, um para cada tipo de computação:

    • Armazenamento de sessão (versão prévia) — Per-session armazenamento em tempos de execução de microVM que persiste em todos os ciclos. stop/resume Isolado por sessão. Não é necessário VPC.

    • Volumes do provedor de capacidade — volumes do Amazon EBS em tempos de execução de instâncias, definidos no provedor de capacidade e montados pelo nome lógico. Persista durante a sessão stop/resume.

  • Bring-your-own sistema de arquivos — Anexe seus próprios arquivos do Amazon S3 ou pontos de acesso do Amazon EFS diretamente ao tempo de execução do seu agente. Compartilhado entre sessões e agentes. É necessário VPC. Disponível em tempos de execução de microVM.

O tipo gerenciado depende do tipo de computação do seu tempo de execução. Use o armazenamento de sessão em tempos de execução de microVM e volumes de provedores de capacidade em tempos de execução de instâncias. Em tempos de execução de microVM, você pode combinar o armazenamento de sessões com sistemas de arquivos do tipo traga seus próprios sistemas de arquivos em um único tempo de execução de agente (até 5 configurações no total).

Visão geral das opções de armazenamento

A tabela a seguir compara os tipos de configuração do sistema de arquivos disponíveis.

Categoria Tipo Isolamento Persistência Tipo de computação VPC necessário Melhor para

Gerenciados

Armazenamento de sessões (Pré-visualização)

Per-session

Sobrevive stop/resume; expira em modo inativo de 14 dias; reinicia na atualização da versão

Somente microVM

Não

Espaço de rascunho, pacotes instalados, código, arquivos de projeto, estado do agente

Gerenciados

Volume do provedor de capacidade

Per-session

Sobrevive stop/resume; é retido até que você exclua a sessão

Somente instâncias

Sim (configurado no provedor de capacidade)

Espaço de rascunho, arquivos de espaço de trabalho, caches e pontos de verificação para sessões de instâncias de longa duração

GAROTO

Amazon S3 Files

Compartilhado — várias sessões e agentes acessam os mesmos dados

Customer-managed (permanente, sincroniza com o bucket S3)

microVM

Sim

Conjuntos de dados acessíveis por meio de operações de arquivo padrão e APIs do S3

GAROTO

Amazon EFS

Compartilhado — várias sessões e agentes acessam os mesmos dados

Customer-managed (permanente até que você o exclua)

microVM

Sim

Bibliotecas de ferramentas compartilhadas, pesos dos modelos, colaboração multiagente de leitura e gravação

Início rápido

As listas de verificação a seguir fornecem etapas resumidas para configurar cada tipo de sistema de arquivos.

Armazenamento gerenciado de sessões (versão prévia)

O armazenamento de sessões está disponível em tempos de execução de microVM.

  1. Não são necessárias permissões adicionais de VPC ou IAM.

  2. Adicione --filesystem-configurations '[{"sessionStorage": {"mountPath": "/mnt/workspace"}}]' ao seu create-agent-runtime ou update-agent-runtime ligue.

  3. Invoque o agente com um--runtime-session-id.

  4. Pare a sessão e continue com a mesma--runtime-session-id. O Verify /mnt/workspace retém seus dados.

Volume do provedor de capacidade

Os volumes do provedor de capacidade estão disponíveis nos tempos de execução das instâncias.

  1. Defina um ou mais volumes nomeados do Amazon EBS no provedor de capacidade ao criá-lo (emec2Configuration.volumes).

  2. Crie o tempo de execução do agente com um capacityProviderConfiguration que faça referência ao provedor de capacidade.

  3. Adicione --filesystem-configurations '[{"capacityProviderVolume": {"volumeName": "scratch", "mountPath": "/mnt/scratch"}}]' à mesma create-agent-runtime chamada, referenciando um volume pelo nome lógico.

  4. Invoque o agente com um--runtime-session-id. Pare a sessão e continue com a mesma--runtime-session-id. O Verify /mnt/scratch retém seus dados.

Para ver o passo a passo completo, consulte Comece a usar instâncias usando a AWS CLI.

Bring-your-own sistema de arquivos

Ponto de acesso do Amazon S3 Files

  1. Adicione s3files:ClientMounts3files:ClientWrite, e s3files:GetAccessPoint à sua função de execução com uma s3files:AccessPointArn condição.

  2. Permita que a porta TCP 2049 saia do grupo de segurança do tempo de execução do agente para o grupo de segurança de destino do S3 Files mount.

  3. Confirme se o destino de montagem do S3 Files está na mesma VPC e na mesma zona de disponibilidade das sub-redes de tempo de execução do seu agente.

  4. Adicione --filesystem-configurations '[{"s3FilesAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/s3data"}}]' ao seu create-agent-runtime ou update-agent-runtime ligue.

  5. Invoque o agente. Arquivos /mnt/s3data sincronizados bidirecionalmente com o bucket S3 de apoio.

Ponto de acesso Amazon EFS

  1. Adicione elasticfilesystem:ClientMount e elasticfilesystem:ClientWrite à sua função de execução com uma elasticfilesystem:AccessPointArn condição.

  2. Permita que a porta TCP 2049 saia do grupo de segurança de tempo de execução do agente para o grupo de segurança de destino de montagem do EFS.

  3. Confirme se o destino de montagem do EFS está na mesma zona de disponibilidade de pelo menos uma das sub-redes de tempo de execução do seu agente.

  4. Adicione --filesystem-configurations '[{"efsAccessPoint": {"accessPointArn": "<your-access-point-arn>", "mountPath": "/mnt/efs"}}]' ao seu create-agent-runtime ou update-agent-runtime ligue.

  5. Invoque o agente. Seus arquivos estão disponíveis em/mnt/efs.

Tanto o S3 Files quanto o EFS exigem conectividade VPC no tempo de execução do agente.

Como cada tipo funciona

As seções a seguir descrevem como cada tipo de sistema de arquivos opera no AgentCore Runtime.

Bring-your-own sistemas de arquivos

Quando você configura um sistema de arquivos traga seu próprio, o AgentCore Runtime monta o ponto de acesso especificado em cada sessão no caminho que você configura. Os dados são compartilhados — várias sessões, vários agentes ou aplicativos externos podem acessar o mesmo sistema de arquivos simultaneamente.

AgentCore processa todas as operações de montagem automaticamente. Você não precisa instalar auxiliares de montagem, gerenciar certificados TLS ou escrever código de montagem em seu agente.

nota

Ao criar um ponto de acesso (arquivos S3 ou EFS), você especifica uma ID de usuário (UID) POSIX e uma ID de grupo (GID). Todas as operações de arquivo por meio do ponto de acesso são executadas com essa identidade. Defina o UID/GID para corresponder ao usuário com o qual seu processo de contêiner é executado (normalmente 1000:1000 para contêineres não raiz ou 0:0 para root).

Fluxo de montagem de arquivos do Amazon S3

Quando você configura um ponto de acesso do S3 Files, ocorre a seguinte sequência:

  1. Você cria um sistema de arquivos do S3 Files (apoiado por um bucket do S3) e monta destinos na sua VPC.

  2. Você cria um ponto de acesso do S3 Files especificando o POSIX UID/GID e o diretório raiz.

  3. Você configura o tempo de execução do agente com o ARN do ponto de acesso e o caminho de montagem.

  4. Na invocação com um novo ID de sessão, AgentCore provisiona uma microVM com acesso de rede à sua VPC.

  5. A microVM monta o sistema de arquivos por meio NFSv4.2 de TLS com autenticação IAM (porta 2049) por meio de sua VPC.

  6. Seu agente lê e grava arquivos no caminho de montagem. As alterações são sincronizadas automaticamente com o bucket de apoio do S3.

Semântica de arquivos S3

  • Sincronização bidirecional entre o sistema de arquivos e o bucket S3 de apoio

  • Close-to-open consistência para clientes NFS; consistência eventual do S3 para acesso do lado do bucket

  • Tamanho máximo do arquivo: 48 TiB; profundidade máxima do diretório: 1.000 níveis

  • Não há suporte: links físicos, classes de armazenamento de arquivamento do S3 (Glacier), metadados de objetos personalizados do S3, pNFS

Fluxo de montagem do Amazon EFS

Quando você configura um ponto de acesso EFS, ocorre a seguinte sequência:

  1. Você cria um sistema de arquivos EFS e monta destinos em sua VPC (um por zona de disponibilidade).

  2. Você cria um ponto de acesso EFS especificando o POSIX UID/GID e o diretório raiz.

  3. Você configura o tempo de execução do agente com o ARN do ponto de acesso e o caminho de montagem.

  4. Na invocação com um novo ID de sessão, AgentCore provisiona uma microVM com acesso de rede à sua VPC.

  5. A microVM monta o sistema de arquivos NFSv4.1 por meio de TLS (porta 2049) por meio do destino de montagem na mesma zona de disponibilidade.

  6. Seu agente lê e grava arquivos no caminho de montagem usando operações de arquivo padrão.

Semântica EFS

  • POSIX completo: links físicos, links simbólicos, bloqueio de arquivos consultivos

  • Acesso simultâneo de leitura e gravação de várias sessões e agentes

  • Close-to-open consistência

  • Tamanho máximo do arquivo: 47,9 TiB; profundidade máxima do diretório: 1.000 níveis

Armazenamento gerenciado de sessões (versão prévia)

Persista o estado da sessão stop/resume com a configuração do sistema de arquivos usando o armazenamento gerenciado de sessões. AgentCore O armazenamento de sessão gerenciado em tempo de execução é um recurso totalmente gerenciado por serviços em que o AgentCore Runtime lida com todas as operações de armazenamento. Seu agente lê e grava em uma montagem de sistema de arquivos local e o ambiente de execução replica os dados de forma transparente para o armazenamento de serviços durante toda a duração da sessão.

O armazenamento da sessão é isolado por sessão — cada sessão só pode acessar seu próprio armazenamento e não pode ler nem gravar dados de outras sessões do mesmo tempo de execução do agente ou de sessões de diferentes tempos de execução do agente.

Quando você configura o armazenamento da sessão em um tempo de execução do agente, cada sessão obtém um diretório persistente no caminho de montagem que você especificar. O ciclo de vida funciona da seguinte maneira:

  1. Primeira invocação em uma sessão — Uma nova computação isolada é provisionada. Seu agente vê um diretório vazio no caminho de montagem.

  2. O agente grava arquivos — Todas as operações de arquivo (leitura, gravação, mkdir, renomear) funcionam normalmente, de forma semelhante a um sistema de arquivos local, e os dados são replicados de forma assíncrona para um armazenamento durável.

  3. A sessão é interrompida — A computação é encerrada. Todos os dados que ainda não persistiram são transferidos para um armazenamento durável durante o desligamento normal.

  4. Continue com a mesma sessão — uma nova computação é provisionada e o estado do sistema de arquivos é restaurado a partir do armazenamento durável. O agente pode continuar de onde parou.

Semântica do sistema de arquivos

O armazenamento de sessão fornece um sistema de arquivos Linux padrão no caminho de montagem configurado. As ferramentas e operações padrão funcionam sem modificações —ls,cat,mkdir,git,npm,pip, e cargo todas funcionam conforme o esperado.

Operações suportadas

Arquivos, diretórios e links simbólicos regulares. Leia, grave, renomeie, exclua,chmod, chownstat, e readdir — operações de arquivo POSIX padrão usadas por ferramentas de desenvolvimento comuns.

Limites

Para os limites de armazenamento da sessão, incluindo tamanho máximo de armazenamento, contagem de arquivos e profundidade do diretório, consulte Limites de armazenamento da sessão.

Operações não suportadas

As seguintes operações do sistema de arquivos não são suportadas:

  • Links físicos — Em vez disso, use links simbólicos.

  • Arquivos de dispositivos, FIFOs ou soquetes UNIX — não mknod são suportados.

  • Atributos estendidos (xattr) — Ferramentas que dependem dos metadados xattr não são suportadas.

  • fallocate — A pré-alocação de arquivos esparsos não é suportada.

  • Bloqueio de arquivos em todas as sessões — Os bloqueios consultivos funcionam em uma sessão em execução, mas não persistem. stop/resume As ferramentas que usam bloqueio baseado em arquivos (comogit) não são afetadas.

nota

As permissões são armazenadas, mas não são aplicadas na sessão. chmode stat funcionam corretamente, mas as verificações de acesso sempre são bem-sucedidas porque o agente é executado como o único usuário na microVM.

Ciclo de vida do armazenamento de sessões

Os dados da sessão são excluídos (redefinidos para um estado limpo) nos seguintes cenários:

  • A sessão não é invocada por 14 dias.

  • A versão de tempo de execução do agente é atualizada. Invocar uma sessão após uma atualização de versão provisiona um novo sistema de arquivos.

Use DeleteAgentRuntime ou DeleteAgentRuntimeEndpoint exclua todos os dados de armazenamento da sessão associados ao tempo de execução ou ao endpoint.

Volumes do provedor de capacidade (instâncias)

Os volumes do provedor de capacidade são o tipo de armazenamento gerenciado para tempos de execução que usam o tipo de computação Instâncias. Em vez de especificar o armazenamento no tempo de execução, você define volumes nomeados do Amazon EBS no provedor de capacidade, e o tempo de execução os monta pelo nome lógico. AgentCore cria, anexa e retém os volumes para você — você não provisiona nem monta volumes do Amazon EBS sozinho.

Assim como o armazenamento de sessões, os volumes do provedor de capacidade são isolados por sessão e persistem por toda stop/resume parte. Como uma sessão em Instâncias é uma instância EC2 dedicada, o volume segue o ciclo de vida dessa sessão:

  1. Defina volumes no provedor de capacidade — Ao criar o provedor de capacidade, liste um ou mais volumes do Amazon EBS emec2Configuration.volumes, cada um com uma criptografia lógica namevolumeType, iopsthroughput, e opcional, e. sizeGiB snapshotId

  2. Faça referência a um volume do tempo de execução — Adicione uma capacityProviderVolume entrada filesystemConfigurations com o volumeName e mountPath a.

  3. Invoque o agente pela primeira vez — AgentCore cria o volume do Amazon EBS e o anexa à instância EC2 da sessão em seu caminho de montagem.

  4. Interromper a sessão — AgentCore encerra a instância do EC2, mas retém o volume.

  5. Continue com a mesma sessão — AgentCore provisiona uma nova instância e reconecta o volume existente, para que seus dados fiquem intactos. Uma sessão reiniciada pode ser executada em uma instância com os patches mais recentes.

O volume é retido durante essas paradas, inclusive quando uma sessão atinge sua vida útil máxima. Ele é excluído somente quando você exclui a sessão ou quando você exclui o provedor de capacidade (que exclui suas sessões e seus volumes).

Para obter informações sobre como gerenciar os dados nesses volumes, consulte Gerenciar seus dados em instâncias de tempo de execução.

Os agentes podem compartilhar um volume, mas o compartilhamento não é automático. Para que um volume seja montado para um tempo de execução do agente, esse tempo de execução deve configurar o mesmo capacityProviderVolume (byvolumeName) sozinhofilesystemConfigurations. Quando dois desses tempos de execução são invocados com o mesmoruntimeSessionId, eles são executados na mesma instância e cada um monta o volume compartilhado, para que possam colaborar nos mesmos arquivos. A configuração capacityProviderVolume controla quais volumes são AgentCore montados em um tempo de execução; ela não isola, por si só, os dados entre os agentes em uma sessão. O limite de isolamento é a sessão. Para o modelo de isolamento de sessão e agente, consulte Modelo de segurança e permissões para instâncias de tempo de execução.

O armazenamento gerenciado de sessões e os tipos traga seu próprio não são compatíveis com os tempos de execução de instâncias. Esses tipos são sessionStorages3FilesAccessPoint, efsAccessPoint e. A especificação de qualquer um deles ao lado capacityProviderConfiguration falha com umValidationException. Para saber como definir volumes em um provedor de capacidade e montá-los, consulte Comece a usar instâncias usando a AWS CLI e o armazenamento persistente em todas as sessões.

Pré-requisitos para trazer seus próprios sistemas de arquivos

Antes de configurar um sistema de arquivos traga seu próprio, preencha os seguintes pré-requisitos.

Configuração de VPC

O tempo de execução do seu agente deve usarnetworkMode: VPC. As sub-redes que você especificar devem se sobrepor às zonas de disponibilidade de destino montadas no sistema de arquivos.

Permissões do IAM

Sua função de execução de tempo de execução do agente deve incluir permissões para montar o sistema de arquivos.

Permissões do IAM para arquivos 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>" } } }

Permissões do 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 se seu agente precisar apenas de acesso de leitura. A s3files:GetAccessPoint permissão é necessária para a validação do ponto de acesso do S3 Files durante a criação do tempo de execução do agente.

Grupos de segurança

Permita o TCP de saída na porta 2049 do grupo de segurança de tempo de execução do agente para o grupo de segurança de destino de montagem. Permita TCP de entrada na porta 2049 no grupo de segurança de destino de montagem do grupo de segurança de tempo de execução do agente.

Configurar sistemas de arquivos

As seções a seguir mostram como configurar cada tipo de sistema de arquivos.

Configurar um ponto de acesso do Amazon S3 Files

Para configurar um ponto de acesso do S3 Files, especifique o ARN do ponto de acesso e o caminho de montagem em. filesystemConfigurations O tempo de execução do seu agente deve usar o modo de rede VPC.

exemplo
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. Exemplo de Python usando boto3 para criar um AgentCore Runtime com um ponto de acesso do 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" } } ] )

Configurar um ponto de acesso do Amazon EFS

Para configurar um ponto de acesso EFS, especifique o ARN do ponto de acesso e o caminho de montagem emfilesystemConfigurations. O tempo de execução do seu agente deve usar o modo de rede VPC.

exemplo
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. Exemplo de Python usando boto3 para criar um AgentCore Runtime com um ponto de acesso 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" } } ] )

Configurar o armazenamento gerenciado de sessões

Adicione filesystemConfigurations com uma sessionStorage entrada ao criar ou atualizar um tempo de execução do agente.

exemplo
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. Exemplo de Python usando boto3 para criar um AgentCore Runtime com armazenamento de sessão.

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

Você também pode adicionar armazenamento de sessão a um tempo de execução de agente existente usando UpdateAgentRuntime o mesmo filesystemConfigurations parâmetro.

Configurar um volume de provedor de capacidade

Para montar um volume do provedor de capacidade, primeiro defina o volume no provedor de capacidade. Em seguida, referencie-o pelo nome filesystemConfigurations ao criar o tempo de execução do agente. Isso se aplica aos tempos de execução que usam o tipo de computação Instances.

exemplo
AWS CLI
  1. Defina o volume no provedor de capacidade (inec2Configuration.volumes) ao criá-lo e, em seguida, faça referência a ele volumeName no tempo de execução do 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. Exemplo de Python usando boto3 para criar um AgentCore tempo de execução em instâncias com um volume de provedor de capacidade.

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

Eles volumeName devem corresponder a um volume definido no do provedor de capacidadeec2Configuration.volumes. Para ver as etapas para definir volumes no provedor de capacidade, consulte Introdução às instâncias usando a AWS CLI.

Combine sistemas de arquivos

Você pode combinar o armazenamento gerenciado de sessões com seus próprios sistemas de arquivos em um único tempo de execução do agente microVM. O exemplo a seguir configura todos os três 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" } } ] )

Invoque e use o armazenamento persistente

Todos os sistemas de arquivos configurados estão disponíveis em seus caminhos de montagem quando seu agente é chamado. Bring-your-own os sistemas de arquivos (arquivos S3, EFS) podem ser acessados imediatamente em cada invocação. O armazenamento gerenciado de sessões persiste os dados em todos stop/resume os ciclos usando os mesmosruntimeSessionId.

Exemplo: Usando o armazenamento de sessões em todos stop/resume os 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"}'

O agente vê /mnt/workspace exatamente como o deixou: os arquivos de origem, os pacotes instalados, os artefatos de compilação e o histórico.git estão todos intactos. Quando você reinicia uma sessão, o novo ambiente computacional monta o armazenamento persistente. Seu agente pode continuar trabalhando sem reinstalar pacotes ou regenerar arquivos.

nota

Ao chamar explicitamente, StopRuntimeSession sempre espere que ela seja concluída antes de retomar a sessão. Isso garante que todos os dados sejam transferidos para um armazenamento durável.

nota

O caminho montado está disponível somente no momento da invocação do agente, não durante a inicialização.

Limites

A tabela a seguir lista os limites das configurações do sistema de arquivos.

Recurso Limite

Total de configurações do sistema de arquivos por tempo de execução do agente

5

Configurações máximas do ponto de acesso do S3 Files

2

Configurações máximas de pontos de acesso EFS

2

Configurações máximas de armazenamento gerenciado de sessões

1

Volumes máximos do provedor de capacidade

5

As configurações totais, os arquivos do S3, o EFS e os limites de armazenamento da sessão se aplicam aos tempos de execução da microVM. O limite de volume do provedor de capacidade é definido no provedor de capacidade (ec2Configuration.volumes) e não por tempo de execução.

Restrições do caminho de montagem

Todas as configurações do sistema de arquivos devem seguir estas regras do caminho de montagem:

  • Deve estar abaixo /mnt/ com exatamente um nível de subdiretório (por exemplo,/mnt/data,/mnt/workspace).

  • Padrão: /mnt/[a-zA-Z0-9._-]+/?

  • Tamanho: 6—200 caracteres.

  • Cada caminho de montagem deve ser exclusivo em todas as configurações.

  • Os caminhos de montagem não podem ser subdiretórios uns dos outros.

Comportamento do ciclo de vida

A tabela a seguir compara o comportamento do ciclo de vida entre os tipos de sistema de arquivos gerenciado e do tipo traga seu próprio sistema de arquivos.

Comportamento Armazenamento gerenciado de sessões (Preview, microVM) Volume do provedor de capacidade (instâncias) Bring-your-own (Arquivos S3, EFS)

Expiração inativa

14 dias sem invocação — redefinição de dados

Nenhum — o volume é retido entre as paradas, inclusive quando uma sessão atinge sua vida útil máxima

Nenhum — gerenciado pelo cliente

Na atualização da versão em tempo de execução

Dados apagados — novo sistema de arquivos na próxima invocação

Os dados persistem — o volume é reanexado na próxima invocação

Sem efeito — os dados persistem

Ao excluir

Dados da sessão excluídos em DeleteAgentRuntime

Volume excluído quando você exclui a sessão ou quando você exclui o provedor de capacidade (que exclui suas sessões)

Sistema de arquivos desmontado; dados preservados em sua conta

Acesso simultâneo

Isolado por sessão

Isolado por sessão; pode ser compartilhado por agentes na mesma sessão quando cada tempo de execução configura o mesmo volume

Compartilhado entre sessões e agentes

Ownership

Service-managed por AgentCore

Service-managed por AgentCore (Amazon EBS em sua conta)

Customer-managed na sua AWS conta

Importante

Para criar seus próprios sistemas de arquivos, certifique-se de que seu agente processe o acesso simultâneo de forma adequada. Use padrões de nomenclatura de arquivo por sessão ou bloqueios de arquivos consultivos para evitar conflitos.

Casos de uso

A tabela a seguir lista os padrões comuns e a configuração recomendada do sistema de arquivos para cada um.

Padrão Configuração recomendada

Agente de codificação com arquivos de projeto persistentes (microVM)

Armazenamento gerenciado de sessões (versão prévia) em /mnt/workspace

Espaço de trabalho persistente para um agente de longa execução em instâncias

Volume do provedor de capacidade em /mnt/workspace

Conjuntos de dados de referência acessíveis tanto por agentes quanto por pipelines S3

Ponto de acesso do S3 Files em /mnt/datasets

Bibliotecas de ferramentas compartilhadas entre todos os agentes

Arquivos S3 ou ponto de acesso EFS em /mnt/tools

Multi-agent colaboração em espaço de trabalho compartilhado

Arquivos S3 ou ponto de acesso EFS em /mnt/shared

Long-running análise com pontos de verificação

Armazenamento de sessão para pontos de verificação + Arquivos S3 para dados de entrada

Full-stack agente (ambas as categorias combinadas)

Armazenamento de sessão + arquivos S3 + EFS (3 montagens)

Exemplo: agente de codificação com espaço de trabalho persistente

Este exemplo mostra um agente de codificação usando Strands Agents FileSessionManager para histórico de conversas e armazenamento de sessões para arquivos de projeto. Ambos persistem em todos os stop/resume ciclos.

Agente de codificação com armazenamento de sessão

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

Invoque o agente, interrompa a sessão e retome. Tanto os arquivos do projeto quanto o contexto da conversa persistem.

Invocar, parar e retomar o 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)

Ele FileSessionManager armazena o histórico de conversas em/mnt/workspace/.sessions/, permitindo que o agente se lembre do contexto em todos stop/resume os ciclos.

Requisitos de rede

Esta seção aborda os requisitos de rede tanto para o armazenamento gerenciado de sessões quanto para os sistemas de arquivos do tipo traga seu próprio arquivo.

Rede gerenciada de armazenamento de sessões

Se o tempo de execução do seu agente usa o modo VPC com armazenamento de sessão, o agente precisa de acesso à rede para sincronizar com o armazenamento remoto. Os dados da sessão são armazenados no AgentCore S3, portanto, sua VPC deve permitir conectividade de saída com o S3. Se você estiver usando um endpoint do S3 Gateway com uma política personalizada, você pode definir o escopo do acesso ao seu bucket de armazenamento de sessão regional da seguinte forma:

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

regionSubstitua pela sua AWS região (por exemplo,us-west-2).

Bring-your-own rede de sistema de arquivos

Bring-your-own os sistemas de arquivos exigem que sua rede VPC atenda aos seguintes requisitos para montagens bem-sucedidas.

Amazon EFS

  • Destinos de montagem — Seu sistema de arquivos EFS deve ter destinos de montagem em pelo menos uma das zonas de disponibilidade em que as sub-redes de tempo de execução do agente estão localizadas. A montagem de destinos em todas as zonas de disponibilidade de sub-rede configuradas é recomendada para alta disponibilidade.

  • Uma VPC por vez — os sistemas de arquivos EFS podem ter destinos de montagem em apenas uma VPC por vez. Cross-account A montagem em PVC não é suportada pelo AgentCore.

  • Alinhamento da zona de disponibilidade — as sub-redes de tempo de execução do agente e os destinos de montagem do EFS devem compartilhar pelo menos uma zona de disponibilidade comum. Cross-AZ O tráfego NFS funciona, mas aumenta os custos de latência e transferência de dados.

  • Resolução de DNS — Sua VPC deve ter nomes de host DNS e resolução de DNS ativados. O agente resolve o nome do host de destino de montagem <az-id>.<file-system-id>.efs.<region>.amazonaws.com no momento da montagem.

Para verificar seus alvos de montagem do EFS:

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

Para obter informações completas sobre os destinos de montagem do EFS, consulte Como o Amazon EFS funciona.

Amazon S3 Files

  • Destinos de montagem — Seu sistema de arquivos do S3 Files deve ter destinos de montagem na mesma VPC do tempo de execução do agente. Os destinos de montagem devem estar em pelo menos uma das mesmas zonas de disponibilidade das sub-redes de tempo de execução do seu agente.

  • Um alvo de montagem por AZ — Cada zona de disponibilidade pode ter no máximo um destino de montagem do S3 Files.

  • Mesma VPC — os destinos de montagem dos arquivos do S3 devem estar na mesma VPC do tempo de execução do agente. Cross-VPC o acesso ao sistema de arquivos não é suportado.

  • Resolução de DNS — Sua VPC deve resolver o nome do host <az-id>.<file-system-id>.s3files.<region>.on.aws de destino de montagem do S3 Files no momento da montagem. Certifique-se de que a resolução de DNS esteja ativada nas suas configurações de VPC.

Para verificar seus alvos de montagem do S3 Files:

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

Para obter informações completas sobre a montagem de arquivos S3, consulte Montagem de sistemas de arquivos S3.

Requisitos compartilhados

Requisito EFS S3 Files

Modo VPC necessário

✓

✓

Porta NFS 2049 (TCP)

✓

✓

Monte alvos no mesmo AZ

✓ (recomendado)

✓ (obrigatório)

Mesmo VPC

✓

✓

Mesma AWS conta

✓

✓

Resolução de DNS habilitada

✓

✓

Cross-account VPC

✗ Não suportado

✗ Não suportado

Importante

Cross-account As configurações de VPC não são suportadas. Os recursos do sistema de arquivos (sistema de arquivos, pontos de acesso, destinos de montagem) e o tempo de execução do agente devem estar na mesma AWS conta e na mesma VPC.

Como AgentCore monta sistemas de arquivos

AgentCore processa automaticamente a operação de montagem do NFS dentro da microVM:

  • EFS — Montado NFSv4.1 via TLS (porta 2049). A autenticação do IAM é usada quando a função de execução tem elasticfilesystem:ClientMount permissão com uma AccessPointArn condição.

  • Arquivos S3 — montados NFSv4.2 via TLS com autenticação IAM obrigatória. O TLS e o IAM estão sempre ativados e não podem ser desativados para arquivos do S3.

Você não precisa instalar amazon-efs-utils/etc/fstab, configurar ou gerenciar certificados TLS. O tempo de execução do microVM lida com todas as operações de montagem, rotação de credenciais e monitoramento de integridade.

Seleção de sub-rede e zona de disponibilidade

Ao configurar as sub-redes VPC e as configurações do sistema de arquivos em um tempo de execução do agente, selecione sub-redes que se sobreponham às zonas de disponibilidade de destino de montagem do seu sistema de arquivos.

Para identificar a ID da zona de disponibilidade de suas sub-redes:

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

Para identificar a zona de disponibilidade de seus destinos de montagem do EFS:

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

Certifique-se de que as sub-redes de tempo de execução do agente estejam em zonas de disponibilidade nas quais seu sistema de arquivos tenha destinos de montagem.

Para zonas de disponibilidade suportadas por região, consulte as Zonas de disponibilidade suportadas no tópico de configuração da VPC. Para a configuração do grupo de segurança, consulte Exemplo: Conexão com arquivos do Amazon EFS ou do Amazon S3.

Solucionar problemas de montagens do sistema de arquivos do tipo Bring Your-Own

Quando a montagem do sistema de arquivos tring-your-own falha, InvokeAgentRuntime retorna HTTP 424 (Dependência com falha).

Sintomas Causa provável Solução rápida

“Acesso negado”

Função de execução ausente ClientMount ou ClientWrite

Adicione permissões do IAM com a AccessPointArn condição

“ResourceNotFound" ou “Falha na resolução”

Ponto de acesso ou alvo de montagem excluído ou indisponível

Verifique se o ARN existe e se os destinos de montagem estão disponíveis

A montagem trava e depois falha (~ 30s)

Porta de bloqueio de grupos de segurança 2049 ou nenhum alvo de montagem na zona de disponibilidade do agente

Permitir TCP 2049; verificar a sobreposição da zona de disponibilidade

“Permissão negada” em gravações

Ausência ClientWrite ou incompatibilidade POSIX UID/GID

Adicionar permissão de gravação ou alinhar o usuário POSIX do ponto de acesso

Cada montagem tem um tempo limite de 30 segundos. Todos os sistemas de arquivos configurados são montados em paralelo — uma única falha faz com que toda a invocação falhe.

Para obter mais informações, consulte Solucionar problemas de armazenamento BYO.