Build an AI-powered AWS support companion with Amazon Bedrock AgentCore
Quick Summary
이 글은 CloudWatch 확인, 문서 검색, re:Post 검토, 지원 사례 생성을 하나의 대화형 인터페이스로 묶는 Amazon Bedrock AgentCore 기반 AWS Support Companion 구축 방법을 설명합니다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
이 글은 CloudWatch 확인, 문서 검색, re:Post 검토, 지원 사례 생성을 하나의 대화형 인터페이스로 묶는 Amazon Bedrock AgentCore 기반 AWS Support Companion 구축 방법을 설명합니다.
📌 핵심 요약
- AWS 인프라 장애 조사에서는 콘솔 이동, CloudWatch 로그 확인, 문서 검색, 커뮤니티 사례 검토, 지원 케이스 작성이 반복되며, 이 과정에서 조사마다 30~45분의 사전 작업이 발생할 수 있습니다.
- 제안된 AWS Support Companion은 Amazon Bedrock AgentCore 위에서 실행되며 Strands Agents와 MCP 서버를 사용해 AWS 문서, AWS Support API, AWS 서비스 API, AWS re:Post 지식을 연결합니다.
- 솔루션은 Python 기반 에이전트 런타임, AgentCore Gateway, AgentCore Memory, API Gateway와 Lambda, Cognito 인증, WAF, Amplify 기반 React 프론트엔드, CloudFormation 인프라로 구성됩니다.
- 배포는 샘플 저장소를 복제한 뒤 AWS CLI 자격 증명을 확인하고 deploy.sh --build-container를 실행하는 방식으로 진행되며, 스크립트가 ECR 생성, Docker 이미지 빌드, CloudFormation 배포와 사전 보안 검사를 처리합니다.
- 구현은 병렬 MCP 초기화, AgentCore Memory의 제한 시간 기반 graceful fallback, Cognito JWT 토큰 자동 갱신, Guardrails와 IAM·WAF·CloudTrail·CloudWatch 로그를 통한 보안 구성을 포함합니다.
🧩 주요 포인트
- AWS 인프라 장애 조사에서는 콘솔 이동, CloudWatch 로그 확인, 문서 검색, 커뮤니티 사례 검토, 지원 케이스 작성이 반복되며, 이 과정에서 조사마다 30~45분의 사전 작업이 발생할 수 있습니다.
- 제안된 AWS Support Companion은 Amazon Bedrock AgentCore 위에서 실행되며 Strands Agents와 MCP 서버를 사용해 AWS 문서, AWS Support API, AWS 서비스 API, AWS re:Post 지식을 연결합니다.
- 솔루션은 Python 기반 에이전트 런타임, AgentCore Gateway, AgentCore Memory, API Gateway와 Lambda, Cognito 인증, WAF, Amplify 기반 React 프론트엔드, CloudFormation 인프라로 구성됩니다.
- 배포는 샘플 저장소를 복제한 뒤 AWS CLI 자격 증명을 확인하고 deploy.sh --build-container를 실행하는 방식으로 진행되며, 스크립트가 ECR 생성, Docker 이미지 빌드, CloudFormation 배포와 사전 보안 검사를 처리합니다.
- 구현은 병렬 MCP 초기화, AgentCore Memory의 제한 시간 기반 graceful fallback, Cognito JWT 토큰 자동 갱신, Guardrails와 IAM·WAF·CloudTrail·CloudWatch 로그를 통한 보안 구성을 포함합니다.
🧠 상세 정리
1. 장애 조사 과정의 반복성과 병목
글은 AWS 인프라 운영자가 장애를 조사할 때 여러 도구와 화면을 오가야 하는 현실에서 출발합니다. 엔지니어는 AWS Management Console을 열고, 영향을 받은 서비스를 찾고, Amazon CloudWatch에서 로그와 지표를 확인한 뒤, AWS 문서와 AWS re:Post의 유사 사례를 별도로 검색합니다. 이후 조사 내용을 모아 적절한 심각도로 지원 케이스를 만들고 증거와 맥락을 첨부해야 합니다. 원문은 이런 도구 간 전환이 해소 작업을 시작하기 전에도 조사당 30~45분까지 누적될 수 있으며, 한 도구에서 얻은 맥락이 다음 도구로 자연스럽게 이어지지 않는 점을 핵심 병목으로 제시합니다.
2. 단일 대화형 에이전트로 통합하는 접근
솔루션의 목표는 반복적인 장애 조사 단계를 Amazon Bedrock AgentCore에 배포된 하나의 대화형 에이전트로 통합하는 것입니다. 사용자는 별도 콘솔과 문서 사이트를 계속 오가지 않고, 채팅 인터페이스에서 CloudWatch 로그 분석, AWS 문서 검색, AWS re:Post 커뮤니티 지식 조회, 지원 케이스 생성을 요청할 수 있습니다. AgentCore는 세션 격리, 자동 확장, 보안, 관측 가능성 같은 프로덕션 에이전트 운영 복잡성을 맡습니다. 따라서 구현자는 에이전트를 어떻게 안정적으로 실행할지보다, 에이전트가 어떤 작업을 수행하고 어떤 도구를 호출할지에 집중할 수 있도록 설계됩니다.
3. 런타임, 모델, MCP 서버 구성
에이전트 런타임은 Strands Agents를 사용하는 Python 애플리케이션이며 Docker 컨테이너로 패키징되어 AgentCore Runtime에 배포됩니다. 이 에이전트는 Amazon Bedrock의 Amazon Nova Pro 기반 foundation model과 도구 호출을 사용자의 입력에 맞춰 오케스트레이션하며, 지원되는 다른 모델로 바꿀 수 있도록 코드 변경 없이 교체 가능하다고 설명됩니다. 외부 도구 연결은 MCP를 통해 이루어지며, AWS 문서용 aws-documentation-mcp-server, AWS Support API용 aws-support-mcp-server, AWS 서비스 API용 aws-api-mcp-server가 사용됩니다. MCP는 AI 에이전트가 외부 도구에서 맥락을 받는 표준 프로토콜로 소개됩니다.
4. Gateway, Memory, API와 프론트엔드 계층
AgentCore Gateway는 여러 도구를 재사용 가능하고 보안이 적용된 엔드포인트로 중앙화하는 역할을 합니다. 원문에서는 AWS re:Post 커뮤니티 지식 접근이 Lambda 기반 타깃과 Amazon Cognito JWT 인증을 통해 Gateway에서 제공된다고 설명합니다. AgentCore Memory는 세션 안에서 이전 문제 해결 단계를 이어갈 수 있도록 짧은 대화 맥락을 유지합니다. 사용자-facing 계층은 Cognito 권한 부여가 적용된 Amazon API Gateway, AWS WAF의 속도 제한과 요청 검증, AgentCore Runtime을 호출하는 Lambda, 그리고 Cognito 로그인·가입을 제공하는 AWS Amplify 호스팅 React 애플리케이션으로 구성됩니다.
5. 필수 조건과 배포 절차
배포 전에는 Python 3.11 이상, ARM64 buildx를 지원하는 Docker, Amazon Bedrock·IAM·CloudFormation 권한이 있는 AWS 계정, 배포 리전의 Amazon Nova Pro 모델 접근 권한, 설정된 AWS CLI, uv 패키지 관리자, 그리고 AWS Business·Enterprise On-Ramp·Enterprise Support 플랜이 필요합니다. 지원 MCP 서버 사용에는 해당 지원 플랜이 요구된다는 점이 명시되어 있습니다. 배포는 GitHub 샘플 저장소를 복제하고, aws sts get-caller-identity로 자격 증명을 확인한 뒤, chmod로 deploy.sh 실행 권한을 주고 ./deploy.sh --build-container를 실행하는 순서입니다. 글은 이 솔루션이 과금되는 AWS 리소스를 만들기 때문에 마지막 Cleanup 절차를 따라야 한다고 경고합니다.
6. 배포 스크립트와 Amplify 설정
deploy.sh 스크립트는 uv를 사용한 Python 환경 설정, 사전 배포 보안 검증, ECR 저장소 생성, Docker 이미지 빌드, CloudFormation 스택 배포를 한 번에 처리합니다. 보안 검증에는 대상 리전에서 CloudTrail이 활성화되어 있는지 확인하고, CloudFormation 템플릿을 검증하며, 장기 IAM 사용자 키가 아니라 임시 역할 자격 증명을 사용하는지 확인하는 단계가 포함됩니다. 스택이 완료되면 프론트엔드 구성에 필요한 Cognito User Pool ID, Cognito Client ID, Cognito Identity Pool ID, Agent Runtime ARN이 출력됩니다. 이후 Amplify 콘솔에서 support-agent-frontend 앱을 선택하고, frontend 디렉터리의 zip 파일을 드래그 앤 드롭 방식으로 업로드해 배포한 뒤, 출력값을 프론트엔드 설정에 반영하고 가입·이메일 인증·로그인을 진행합니다.
7. 에이전트 코드의 운영 패턴
원문은 agent.py 구현에서 프로덕션 에이전트가 마주치는 문제를 다루는 세 가지 패턴을 강조합니다. 첫째, 세 개의 MCP 서버를 순차적으로 로드하면 시작 지연이 커지므로 asyncio.gather를 사용해 AWS Documentation MCP, AWS Support MCP, AWS API MCP 클라이언트를 병렬 초기화합니다. 둘째, AgentCore Memory에서 최근 세 번의 대화 턴을 가져오되 2초 제한 시간을 두고, 맥락 조회가 지연되면 응답을 막지 않고 맥락 없이 진행하며, 응답 뒤에는 대화를 비동기로 저장합니다. 셋째, AgentCore Gateway 호출에 쓰이는 Cognito JWT 토큰의 만료를 매번 확인하고 만료 5분 이내이면 자동 갱신해, 1시간 토큰 수명 이후 간헐적으로 Gateway 호출이 실패하는 문제를 방지합니다.
8. 보안, 정리, 운영 확장 방향
솔루션은 기본적으로 여러 보안 계층을 포함합니다. 인증은 Cognito를 사용하고, WAF는 API Gateway를 속도 제한과 관리형 규칙으로 보호하며, 각 구성 요소는 최소 권한 IAM 역할을 갖고, agent invoker Lambda는 사용자에게 응답을 반환하기 전에 자격 증명 패턴을 수정합니다. Amazon Bedrock Guardrails는 유해 콘텐츠를 필터링하고, prompt injection 차단 강도를 HIGH로 설정하며, AWS 키·신용카드·SSN 같은 PII를 수정하고, 에이전트를 AWS 지원 주제로 제한합니다. 정리 절차는 Amplify 앱 삭제, CloudFormation 스택 삭제, 비어 있지 않은 ECR 저장소 강제 삭제, CloudFormation 템플릿용 S3 버킷 삭제 순서로 제시되며, 샘플 저장소에는 네트워크 격리, 멀티 계정 배포, AgentCore tracing 기반 관측성, 인간 에스컬레이션 기준, secret rotation 관련 추가 지침도 포함되어 있다고 설명합니다.
🧾 핵심 주장 / 시사점
- 이 글의 핵심 가치는 새로운 문제 해결 로직 자체보다, 흩어진 조사·문서·커뮤니티·지원 케이스 작성 흐름을 하나의 대화 세션 안에 묶어 맥락 손실을 줄이는 데 있습니다.
- 프로덕션용 AI 에이전트 구축에서는 모델 호출뿐 아니라 세션 격리, 인증, 토큰 갱신, 메모리 제한 시간, 감사 로그, PII 수정, prompt injection 방어 같은 운영 세부가 중요하다는 점이 반복적으로 드러납니다.
- 원문은 완전 관리형 incident investigation 서비스가 필요하면 AWS DevOps Agent를 보라고 하면서도, 도구·모델·가드레일·워크플로를 직접 통제해야 할 때 AgentCore Runtime 위의 커스텀 에이전트 구축이 적합하다고 구분합니다.
✅ 액션 아이템
- CloudWatch 점검·문서 검색·re:Post 조회·지원 케이스 작성을 하나의 대화형 플로우로 묶어 30~45분 선행 작업 시간을 축소한다.
- Amazon Bedrock AgentCore 위에서 Strands Agents와 MCP 서버를 결합해 AWS 문서, AWS Support API, AWS 서비스 API, re:Post 지식을 연결하는 오케스트레이션 구성을 정의한다.
- 샘플 저장소 클론과 AWS CLI 자격증명 확인 후 deploy.sh --build-container로 ECR 생성, 컨테이너 빌드, CloudFormation 배포, 사전 보안 점검을 수행한다.
❓ 열린 질문
- 병렬 MCP 초기화가 다수 장애 조사 세션에서 동시성 병목이나 타임아웃을 유발할 가능성은 어느 구간에서 두드러지는가?
- AgentCore Memory의 제한 시간 기반 graceful fallback는 어떤 조건에서 발동하도록 설계하면 응답 품질과 복구 안정성을 함께 확보할 수 있는가?
- Cognito JWT 자동 갱신 체계는 IAM·WAF·CloudTrail·CloudWatch 로그 조합과 함께 권한 오남용과 감사 공백을 효과적으로 봉쇄하는가?