View a markdown version of this page

Solucionar problemas de tempo de execução AgentCore - Amazon Bedrock AgentCore
Minhas invocações de agente falham com “Este tempo de execução não é” MMDSv2-enabled ValidationExceptionMinhas invocações de agente falham com erros 504 Gateway TimeoutMinha compilação do Docker falha com “403 Forbidden” ao extrair imagens básicas do PythonEu recebo o erro “Unknown service: 'bedrock-agent-core-runtime'” ao usar o boto3Eu recebo "AccessDeniedException" ao tentar criar um Amazon Bedrock AgentCore RuntimeMinha compilação do Docker falha com “erro de formato exec/bin/sh: exec”Quais são os requisitos para contêineres Docker usados com o Amazon Bedrock AgentCore Runtime?Minha ferramenta de longa duração é interrompida após 15 minutosMinhas sessões inativas não estão sendo liberadas e estou esgotando minha cota de sessõesComo faço para acessar o tempo de execução SessionId no código do meu agente para marcar ou agrupar recursos?Eu tenho RuntimeClientError (403) problemasTenho CloudWatch registros ausentes ou vaziosTenho problemas de formato de cargaPreciso de ajuda para entender os códigos de erro HTTPPreciso de recomendações para testar meu agentePreciso de ajuda para depurar problemas de contêineresPreciso de ajuda para solucionar os agentes do protocolo MCPPreciso de ajuda para solucionar problemas de streaming bidirecional usando WebSocketMinhas alterações de código não são refletidas nas sessões existentesFaltam extensões quando meu tempo de execução é invocado a partir de uma função LambdaMinha montagem de arquivos S3 ou EFS falha com “Acesso negado”Meus arquivos S3 ou a montagem do EFS falham com "” ResourceNotFoundO tempo limite de montagem dos meus arquivos S3 ou EFS é esgotadoEu recebo “Permissão negada” ao gravar no meu sistema de arquivos montadoMeu contêiner não inicia com o erro HTTP 424 em imagens de alta camadaPráticas recomendadas

Solucionar problemas de tempo de execução AgentCore

Este tópico de solução de problemas ajuda você a identificar e resolver problemas comuns ao trabalhar com o AgentCore Runtime. Seguindo essas soluções, você pode rapidamente diagnosticar e corrigir problemas com os tempos de execução do seu agente.

Tópicos

Minhas invocações de agente falham com “Este tempo de execução não é” MMDSv2-enabled ValidationException

Quando isso ocorre: ao invocar o tempo de execução de um agente por meio de InvokeAgentRuntimeExecuteCommand,InvokeAgentRuntimeWithWebSocketStream,InvokeAgentRuntimeCommandShell, ou GetAgentCard

Por que isso acontece: a partir de 30 de junho de 2026, o Amazon Bedrock AgentCore Runtime exige que todos os tempos de execução do agente usem o MMDSv2 (MicroVM Metadata Service Version 2). O serviço rejeita invocações direcionadas a tempos de execução sem metadataConfiguration set ou com set to ou. requireMMDSV2 false null

Solução: Ligue UpdateAgentRuntimecom requireMMDSV2 definido como true emmetadataConfiguration:

import boto3 client = boto3.client('bedrock-agentcore-control', region_name='us-west-2') try: client.update_agent_runtime( agentRuntimeId='your-agent-runtime-id', metadataConfiguration={ 'requireMMDSV2': True } ) print("MMDSv2 enabled successfully.") except client.exceptions.ResourceNotFoundException as e: print(f"Runtime not found: {e}") except Exception as e: print(f"Error enabling MMDSv2: {e}")

Depois da atualização, as novas invocações serão bem-sucedidas. As sessões existentes não são afetadas.

Minhas invocações de agente falham com erros 504 Gateway Timeout

Quando isso ocorre: durante a invocação do agente via SDK ou console

Por que isso acontece: vários fatores podem impedir que seu agente responda dentro do período de tempo limite

Vários fatores podem causar isso:

  • Problemas de contêiner: verifique se a imagem do Docker expõe a porta 8080 e tem o caminho /invocations

  • Compatibilidade com ARM64: Atualmente, seu contêiner deve ser compatível com ARM64

  • Lógica de repetição: revise os mecanismos de repetição para lidar com problemas transitórios

Minha compilação do Docker falha com “403 Forbidden” ao extrair imagens básicas do Python

Quando isso ocorre: durante docker build ou docker run ao usar imagens public.ecr.aws básicas

Por que isso acontece: Problemas de autenticação pública do ECR — a autenticação expirada ou ausente é um problema comum.

Solução: faça login no ECR Public ou saia completamente:

# Option 1: Login to ECR Public aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws # Option 2: Logout (recommended for avoiding token expiration) docker logout public.ecr.aws # Option 3: Use Docker Hub directly in Dockerfile FROM python:3.10-slim # instead of public.ecr.aws/docker/library/python:3.10-slim

Eu recebo o erro “Unknown service: 'bedrock-agent-core-runtime'” ao usar o boto3

Quando isso ocorre: ao invocar as AgentCore APIs do Amazon Bedrock usando o SDK boto3

Por que isso acontece: Biblioteca boto3 desatualizada — problema comum, pois a maioria das instalações não tem o SDK mais recente

Solução: atualize para as versões mais recentes do boto3 e do botocore:

pip install --upgrade boto3 botocore # Minimum versions: boto3 1.39.8+, botocore 1.33.8+

Eu recebo "AccessDeniedException" ao tentar criar um Amazon Bedrock AgentCore Runtime

Quando isso ocorre: durante a criação do agente via console, SDK ou CLI

Por que isso acontece: Ou seu usuário não tem permissões ou a função de execução não está configurada adequadamente para o Amazon Bedrock AgentCore

Solução: Vários fatores podem causar isso:

Minha compilação do Docker falha com “erro de formato exec/bin/sh: exec”

Quando isso ocorre: Ao criar contêineres para implantação do Amazon Bedrock AgentCore

Por que isso acontece: Construindo contêineres ARM64 em sistemas x86 sem a configuração adequada de várias plataformas

Solução: Crie contêineres compatíveis com ARM64. Você pode considerar o uso de buildx para compilações multiplataforma. Como alternativa, você pode usar CodeBuild. Por exemplo de código, consulte Amazon Bedrock AgentCore Samples.

Quais são os requisitos para contêineres Docker usados com o Amazon Bedrock AgentCore Runtime?

Consulte os requisitos do Amazon Bedrock AgentCore Runtime para obter detalhes completos.

Em resumo, seu contêiner Docker deve atender aos seguintes requisitos:

  • Porta: Exponha a porta 8080 (portas adicionais serão suportadas em breve)

  • Ponto final: deve ter um /invocations caminho disponível

  • Arquitetura: deve ser compatível com ARM64

  • Resposta: Deve lidar com o formato de carga útil esperado

Minha ferramenta de longa duração é interrompida após 15 minutos

Para obter informações, consulte Gerenciar agentes assíncronos e de longa duração com o Amazon Bedrock Amazon Bedrock Runtime para obter detalhes AgentCore completos.

Quando isso ocorre: durante operações de agentes de longa duração ou fluxos de trabalho complexos

Por que isso acontece: o Amazon Bedrock encerra AgentCore automaticamente as sessões após 15 minutos de inatividade. A plataforma determina a atividade a partir da /ping resposta: um relatório de sessão HealthyBusy é mantido ativo, enquanto um relatório de sessão Healthy é tratado como inativo e seu tempo ocioso é medido a partir da status última alteração (veja o time_of_last_update campo abaixo).

Solução: garanta que seu /ping endpoint retorne HealthyBusy enquanto o trabalho em segundo plano estiver em andamento:

{"status": "HealthyBusy"}

Se você estiver usando o AgentCore SDK do Bedrock, a resposta do ping será tratada automaticamente. Para implementações personalizadas, garanta que seu manipulador de ping retorne HealthyBusy durante o processamento.

Minhas sessões inativas não estão sendo liberadas e estou esgotando minha cota de sessões

Quando isso ocorre: a contagem de sessões aumenta continuamente sob carga e as sessões não são liberadas após o tempo limite de inatividade (por exemplo, maxVms errosServiceQuotaExceededException/durante uma explosão de invocações), mesmo que cada sessão esteja ociosa.

Por que isso acontece: quando uma sessão relataHealthy, a plataforma mede por quanto tempo ela ficou ociosa no time_of_last_update campo em sua /ping resposta, o que deve refletir quando a status última alteração foi feita. Se seu manipulador de ping for definido time_of_last_update para a hora atual em cada ping, o tempo de inatividade relatado continuará sendo redefinido, o que evita que o tempo limite de inatividade seja acionado. As sessões então duram até MaxLifetime e podem esgotar sua cota de sessões.

Solução: atualize time_of_last_update somente quando o status status realmente mudar ou omita-o completamente para que a plataforma acompanhe as alterações de status sozinha:

{"status": "Healthy"}

Se você estiver usando o AgentCore SDK do Bedrock, atualize para a versão mais recente, na qual a resposta de ping é tratada corretamente. Como um paliativo, a chamada StopRuntimeSession libera sessões paralisadas.

Como faço para acessar o tempo de execução SessionId no código do meu agente para marcar ou agrupar recursos?

Quando isso se aplica: você deseja agrupar, marcar ou rastrear recursos (por exemplo, objetos do S3, registros) pela sessão de tempo de execução do agente atual.

Soluções:

  • Se você estiver usando o SDK do Bedrock Agents, use. context.session_id

  • Se você estiver criando um servidor de tempo de execução personalizado, extraia-o do cabeçalho X-Amzn-Bedrock-AgentCore-Runtime-Session-Id HTTP.

Solução 1: Para agentes que usam o Bedrock Amazon Bedrock AgentCore SDK, use a context.session_id partir do ponto de entrada do seu agente

@app.entrypoint def my_agent(payload, context): session_id = context.session_id # Use session_id for S3 object tagging/organization s3_client = boto3.client('s3') s3_client.put_object( Bucket='my-bucket', Key=f'agent-outputs/{session_id}/output.json', Body=json.dumps(result), Tagging=f'SessionId={session_id}' ) return result

Solução 2: Para servidores HTTP de tempo de execução personalizados

O ID da sessão de tempo de execução é passado nesse cabeçalho HTTP. Analise-o a partir da solicitação recebida e use-o para marcação, correlação ou propagação posterior.

X-Amzn-Bedrock-AgentCore-Runtime-Session-Id: <value>

Eu tenho RuntimeClientError (403) problemas

Problema

Você recebe um erro 403 "RuntimeClientError" ao tentar invocar o tempo de execução do agente.

Causas

Esse erro geralmente ocorre devido a:

  • Falhas na inicialização do contêiner

  • Problemas de permissões com a função de execução

  • Problemas de autenticação com o token do portador

Resolução

Siga estas etapas para resolver o problema:

  1. CloudWatch Registros de verificação: Qualquer problema com a inicialização do contêiner será refletido como 403 - RuntimeClientError. Navegue até o seguinte grupo de CloudWatch registros para verificar se há erros de inicialização:

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/[runtime-logs]
  2. Verifique a função de execução: garanta que a função de execução do seu agente tenha as permissões necessárias. Para obter mais informações, consulte AgentCore Função de execução do Runtime.

  3. Validar a autenticação: para agentes do protocolo MCP, certifique-se de que seu token de portador seja válido e não tenha expirado.

Tenho CloudWatch registros ausentes ou vazios

Problema

Você encontra erros, mas não vê nenhum login relevante CloudWatch.

Solução

Experimente estas abordagens para diagnosticar o problema:

  1. Verifique o grupo de registros correto: verifique se você está procurando no grupo de CloudWatch registros correto. O padrão padrão é:

    /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>/runtime-logs
  2. Executar localmente para diagnóstico: se não houver CloudWatch registros, tente executar o contêiner do agente localmente usando exatamente a mesma carga que você usou para invocação no Runtime. AgentCore Isso pode ajudar a identificar problemas que podem não estar visíveis nos registros.

  3. Ative o registro detalhado: atualize o código do agente para incluir um registro mais detalhado, especialmente nos pontos de entrada e em qualquer lógica de tratamento de erros.

Tenho problemas de formato de carga

Problema

A invocação do tempo de execução do agente falha mesmo que o contêiner seja iniciado com êxito.

Resolução

Siga estas etapas para resolver problemas de formato de carga útil:

  1. Verifique a estrutura da carga útil: garanta que sua estrutura de carga útil corresponda ao que seu agente espera. Preste atenção especial a:

    • Se o código do seu agente espera input uma palavra-chave na carga, certifique-se de incluí-la:

      { "input": { "prompt": "Your question here" } }
    • Não apenas:

      { "prompt": "Your question here" }
  2. Verifique a documentação: revise o formato de entrada esperado na documentação.

Preciso de ajuda para entender os códigos de erro HTTP

Problema

Seu agente retorna códigos de erro HTTP que são difíceis de interpretar.

Exemplo de mensagem de erro

Você pode ver um erro como:

An error occurred (RuntimeClientError) when calling the InvokeAgentRuntime operation: Received error (<HTTP Status Code>) from runtime. Please check your CloudWatch logs for more information

Resolução

Aqui estão os códigos de erro mais comuns e seus significados:

422 Entidade não processável

Isso acontece quando o contêiner encontra problemas de validação com a carga de entrada.

Causas comuns:

  • Campos obrigatórios ausentes na carga útil (por exemplo, campo “entrada” ausente)

  • Tipos de dados incorretos para campos

  • Formato inválido para a carga

403 Forbidden (403 Proibido)

Problemas de autenticação ou autorização.

Verifique seu token de portador ou permissões do IAM.

500 Erro interno do servidor

Exceções de tempo de execução no código do seu agente.

Verifique CloudWatch os registros para ver os rastreamentos detalhados da pilha.

Preciso de recomendações para testar meu agente

Para depurar sistematicamente os problemas de tempo de execução do agente:

Teste localmente primeiro

Antes de implantar no AgentCore Runtime:

  • Execute seu contêiner de agente localmente usando a mesma imagem do Docker

  • Verifique se funciona exatamente com a mesma carga útil

Compare cargas úteis

Garanta a consistência entre os ambientes:

  • Certifique-se de que a estrutura de carga útil entre o teste local e a invocação do AgentCore Runtime seja idêntica

  • Preste atenção especial ao aninhamento de campos como “entrada” e “solicitação”

Preciso de ajuda para depurar problemas de contêineres

Se você suspeitar de problemas relacionados ao contêiner:

Puxe e execute localmente

Teste a imagem do contêiner em sua máquina local:

docker pull <your-ecr-repo-uri> docker run -p 8080:8080 <your-ecr-repo-uri>

Teste com curl

Envie solicitações de teste para seu contêiner local:

curl -X POST http://localhost:8080/invocations \ -H "Content-Type: application/json" \ -d '{"input": {"prompt": "Hello world!"}}'

Verifique os registros do contêiner

Examine a saída do contêiner em busca de erros:

docker logs <container-id>

Preciso de ajuda para solucionar os agentes do protocolo MCP

Para agentes de protocolo MCP, siga estas etapas específicas de solução de problemas:

Verifique o caminho do endpoint

Os servidores MCP devem ouvir 0.0.0.0:8000/mcp/

Use o Inspector MCP

Teste com a ferramenta MCP Inspector:

  1. Instale e execute o Inspector MCP: npx @modelcontextprotocol/inspector

  2. Conecte-se ao seu servidor local em http://localhost:8000/mcp

  3. Para agentes implantados, use o endpoint adequado URL-encoded

Problemas de autenticação

Verifique a configuração de autenticação:

  • Verifique se o token do portador está definido corretamente nos cabeçalhos

  • Verifique se seu grupo de usuários do Cognito está configurado corretamente

Preciso de ajuda para solucionar problemas de streaming bidirecional usando WebSocket

Para streaming bidirecional usando WebSocket agentes, siga estas etapas específicas de solução de problemas:

Verifique a configuração do endpoint

WebSocket os agentes devem ser executados na porta 8080 e atender WebSocket conexões no caminho /ws

Teste localmente com complexidade incremental

Comece com testes locais simples antes de implantar:

  1. Teste a conexão básica: verifique se seu agente aceita WebSocket conexões em ws://localhost:8080/ws

  2. Teste o tratamento de mensagens: envie mensagens de texto simples e verifique as respostas

  3. Gerenciamento da sessão de teste: verifique se as conversas persistentes funcionam conforme o esperado

  4. Teste o tratamento de erros: garanta que seu agente gerencie corretamente quedas de conexão e mensagens malformadas

Problemas de autenticação

Verifique a configuração de autenticação dos agentes implantados:

  • Para OAuth: certifique-se de que o token do portador seja válido e não tenha expirado

  • Para SigV4: verifique se a entrada no algoritmo de assinatura está correta, incluindo o WebSocket URL, os cabeçalhos e o método de solicitação

  • Use o método de autenticação correto que corresponda à configuração do seu agente

Problemas comuns de conexão

Resolva problemas comuns de WebSocket conexão:

  • Verifique a compatibilidade do formato da mensagem entre as expectativas do agente e do cliente

  • Configure a fragmentação do quadro de mensagens ou implemente a fragmentação para permanecer dentro dos limites do tamanho do quadro da mensagem (64 KB) e da taxa de quadros da mensagem (250 quadros por segundo) para evitar o fechamento da conexão

Minhas alterações de código não são refletidas nas sessões existentes

Problema

Você atualizou o tempo de execução do agente com o novo código, mas as sessões existentes continuam usando a versão antiga.

Por que isso acontece

Cada sessão de microVM é criada com os ativos de código (agentRuntimeArtifact) que foram implantados no momento da criação da sessão. Depois que uma sessão é estabelecida, ela continua usando essa versão do código até o término da sessão, mesmo quando os ativos do código são atualizados como parte da execução da UpdateAgentRuntimeoperação.

Solução

Para acessar seu código atualizado, use um novo ID de sessão.

Faltam extensões quando meu tempo de execução é invocado a partir de uma função Lambda

Quando isso ocorre: ao invocar o AgentCore Runtime a partir de uma função Lambda

Por que isso acontece: o Lambda gera seu próprio X-Amzn-Trace-Id cabeçalho. Se o rastreamento do Lambda tiverSampled=0, esse contexto sem amostra se propagará para o AgentCore Runtime e o tempo de execução ignorará a geração do intervalo para essa invocação.

Solução:

  • Ative o rastreamento ativo do Lambda: ative o rastreamento X-Ray ativo em sua função do Lambda para que ela produza traços amostrados (). Sampled=1

  • Verifique a pesquisa de CloudWatch transações: verifique se você concluiu a configuração em Configurar observabilidade e se o destino do segmento de rastreamento está definido como CloudWatch Registros.

  • Verifique a decisão de amostragem: registre a variável de _X_AMZN_TRACE_ID ambiente dentro da sua função Lambda. Se aparecerSampled=0, o rastreamento ativo não está ativado ou um chamador ascendente está tomando a decisão de amostragem.

Minha montagem de arquivos S3 ou EFS falha com “Acesso negado”

Quando isso ocorre: Durante a invocação de um agente com arquivos S3 ou armazenamento EFS configurado

Por que isso acontece: A função de execução não tem as permissões necessárias do sistema de arquivos. Para obter mais informações sobre como configurar o armazenamento persistente, consulte Configurações do sistema de arquivos para AgentCore o Runtime.

Solução:

Para arquivos S3, certifique-se de que sua função de execução tenha:

{ "Effect": "Allow", "Action": [ "s3files:ClientMount", "s3files:ClientWrite" ], "Resource": "arn:aws:s3files:<region>:<account>:file-system/*", "Condition": { "StringEquals": { "s3files:AccessPointArn": "<your-access-point-arn>" } } }

Para o EFS, certifique-se de que sua função de execução tenha:

{ "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:<region>:<account>:file-system/<fs-id>", "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn": "<your-access-point-arn>" } } }

Omita s3files:ClientWrite ou elasticfilesystem:ClientWrite se seu agente precisar apenas de acesso de leitura.

Meus arquivos S3 ou a montagem do EFS falham com "” ResourceNotFound

Quando isso ocorre: Durante a invocação de um agente com arquivos S3 ou armazenamento EFS configurado

Por que isso acontece: o sistema de arquivos ou ponto de acesso foi excluído após a criação do agente ou as IDs estão incorretas.

Solução:

  • Verifique se o sistema de arquivos existe:

    • Arquivos S3: aws s3files list-file-systems --region <region>

    • EFS: aws efs describe-file-systems --region <region>

  • Verifique se o ponto de acesso existe:

    • Arquivos S3: aws s3files list-access-points --file-system-id <fs-id> --region <region>

    • EFS: aws efs describe-access-points --file-system-id <fs-id> --region <region>

  • Verifique se existem alvos de montagem em todas as zonas de disponibilidade necessárias:

    • Arquivos S3: aws s3files list-mount-targets --file-system-id <fs-id> --region <region>

    • EFS: aws efs describe-mount-targets --file-system-id <fs-id> --region <region>

    • Certifique-se de que cada destino de montagem mostre o status Disponível e esteja na mesma VPC do tempo de execução do agente.

  • Se o recurso foi excluído, recrie-o e atualize o tempo de execução do agente com o novo ARN do ponto de acesso

O tempo limite de montagem dos meus arquivos S3 ou EFS é esgotado

Quando isso ocorre: Durante a invocação de um agente com arquivos S3 ou armazenamento EFS configurado. A invocação pode demorar mais do que o normal antes de falhar.

Por que isso acontece: a configuração da rede VPC está bloqueando o tráfego NFS (porta 2049) entre a computação do agente e os destinos de montagem do sistema de arquivos.

Solução:

  • Verifique os grupos de segurança nos alvos de montagem: verifique se o grupo de segurança anexado aos seus alvos de montagem permite a entrada de TCP na porta 2049 a partir do grupo de segurança usado pelo tempo de execução do seu agente

  • Verifique os grupos de segurança no tempo de execução do agente: verifique se o grupo de segurança usado pelo tempo de execução do seu agente permite a saída de TCP na porta 2049 para o grupo de segurança de destino de montagem

  • Verifique se os destinos de montagem existem nas zonas de disponibilidade corretas: os destinos de montagem devem existir nas mesmas zonas de disponibilidade das sub-redes configuradas no tempo de execução do seu agente:

    • Arquivos S3: aws s3files list-mount-targets --file-system-id <fs-id> --region <region>

    • EFS: aws efs describe-mount-targets --file-system-id <fs-id> --region <region>

  • Verifique o roteamento da sub-rede: garanta que suas sub-redes tenham o roteamento adequado (rota VPC local para o intervalo CIDR)

Eu recebo “Permissão negada” ao gravar no meu sistema de arquivos montado

Quando isso ocorre: a invocação do agente é bem-sucedida e o agente pode ler os arquivos da montagem, mas a gravação falha com “Permissão negada”

Por que isso acontece: Ou a função do IAM não tem permissões de gravação ou as permissões POSIX no diretório definidas durante a criação do ponto de acesso não permitem gravações para o usuário do agente.

Solução:

  • Verifique as permissões do IAM: garanta que sua função de execução inclua s3files:ClientWrite (arquivos S3) ou elasticfilesystem:ClientWrite (EFS). Sem permissões de gravação, a montagem é somente para leitura. Para obter mais informações, consulte permissões para a função de execução do Amazon Bedrock AgentCore Runtime.

  • Verifique as permissões do POSIX: se o diretório pertencer a um usuário diferente do seu processo de contêiner, as gravações serão negadas. Há duas opções:

    • Defina o PosixUser do seu ponto de acesso de acordo com o qual uid/gid seu contêiner é executado, para que todas as operações sejam executadas como esse usuário.

    • Defina as permissões do diretório como 777 para permitir que todos os usuários escrevam.

Meu contêiner não inicia com o erro HTTP 424 em imagens de alta camada

Quando isso ocorre: suas InvokeAgentRuntime chamadas retornam HTTP 424 (Falha na dependência) e os registros do seu agente são exibidos. Failed to mount overlay: No such file or directory Isso ocorre quando a imagem do contêiner tem mais de 53 camadas E usa uma diretiva USER não numérica (por exemplo, USER myuser em vez deUSER 1000).

Por que isso acontece: imagens de contêiner com muitas camadas combinadas com diretivas USER não numéricas podem causar falhas de inicialização.

Solução: use uma destas soluções alternativas:

  • Use uma diretiva USER numérica: em seu Dockerfile, USER myuser substitua pelo UID numérico (por exemplo,). USER 1000 Você pode encontrar o UID do seu usuário executando id myuser dentro do contêiner. Isso evita totalmente a montagem do sistema de arquivos.

  • Reduza as camadas da imagem: use compilações do Docker de vários estágios para reduzir sua imagem para menos de 53 camadas. Você pode verificar a contagem de camadas da sua imagem com:

docker inspect <image> | jq '.[0].RootFS.Layers | length'
  • Camadas de squash: use docker build --squash ou uma ferramenta como docker-squash nivelar as camadas da imagem.

Práticas recomendadas

Permita um registro abrangente

Implemente um login completo em seu agente:

  • Inclua request/response o login em seu agente

  • Registre caminhos críticos e condições de erro

Use tratamento estruturado de erros

Implemente um relatório claro de erros:

  • Retorne mensagens de erro claras com códigos específicos

  • Inclua informações acionáveis nas respostas a erros

Teste mudanças incrementais

Siga uma abordagem de teste metódico:

  • Ao modificar seu agente, teste localmente antes da implantação

  • Valide a compatibilidade da carga útil com ambientes locais e implantados

Monitore o desempenho

Configure o monitoramento para seu agente:

  • Use CloudWatch métricas para rastrear padrões de invocação

  • Configure alarmes para taxas de erro e latência