AWS AgentCore 배포의 침묵하는 오류들
- •개발자가 5일간 AWS Bedrock AgentCore 배포 중 발생하는 침묵 오류를 해결하는 데 시간을 쏟았다.
- •IAM 권한 설정 누락으로 인해 시스템이 실패한 에이전트 호출에도 HTTP 200 OK 상태를 반환했다.
- •AgentCore 컨테이너 런타임의 안정성을 위해 문서화되지 않은 UID 1000 사용자 설정이 필수적인 것으로 밝혀졌다.
개발자 사르바르 나다프(Sarvar Nadaf)는 2026년 7월 CrewAI 기반의 이력서 작성 에이전트를 Amazon Bedrock AgentCore 런타임에 배포하는 과정에서 4가지 주요 장애를 겪었다. 당시 프로젝트는 CrewAI로 에이전트를 오케스트레이션하고 LLM 작업에 Bedrock Nova Pro를 활용하도록 설계되었으나, 오류 로그가 없고 시스템 신호가 잘못 전달되는 문제로 인해 5일간 디버깅에 매달려야 했다.
첫 번째 오류는 PyPI의 bedrock-agentcore-client 패키지 관련 문제였다. 해당 패키지는 설치는 가능하지만 SDK 기능을 갖추지 않은 더미 파일이었고, 실제 SDK는 amazon-agent-runtimes 도메인 아래의 비공개 AWS CodeArtifact 레지스트리에서 가져와야 했다. 이로 인해 컨테이너 빌드 시 임포트 오류 없이 호출 페이로드가 비어있는 상태가 발생했다.
둘째, bedrock:GetAgentRuntime에 대한 IAM 권한이 누락되었음에도 호출 엔드포인트는 실패 시 빈 페이로드와 함께 HTTP 200 OK 상태를 반환했다. 서비스는 요청을 접수했으나 처리는 이루어지지 않았고, CloudWatch에도 실패 원인을 설명하는 로그가 생성되지 않았다.
셋째, 컨테이너가 시작 직후 로그도 남기지 않은 채 종료되는 현상이 발생했다. 이는 Dockerfile 내 USER 1000 지시어가 누락되었기 때문이었다. AgentCore는 컨테이너가 UID 1000으로 실행될 것을 강제하며, 이를 지키지 않으면 런타임이 'Failed' 메시지만 띄우고 프로세스를 종료한다. 이 요건은 공식 문서가 아닌 샘플 저장소를 통해서만 확인할 수 있었다.
마지막으로 컨트롤 플레인이 하이픈(-)이 포함된 이름을 거부하는 정규표현식 검증을 강제해 배포 실패가 잇따랐다. 또한 관리용 bedrock-agentcore-control과 런타임용 bedrock-agentcore 클라이언트 간의 모듈 이름이 혼동을 유발하는 구조적 문제도 확인됐다. 사르바르 나다프는 이러한 침묵 오류를 포착하기 위해 Sentry와 같은 관측 가능성 도구가 필수적이며, 공식 문서보다 샘플 소스 코드를 우선 참조할 것을 권고했다.