본문으로 건너뛰기

AgentCore로 계정 밖 Redshift 지식베이스 연결

AgentCore가 STS 역할 수임으로 별도 계정의 Redshift Knowledge Base를 조회하는 두 가지 구현 경로를 비교합니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Amazon Bedrock AgentCore 에이전트가 별도 AWS 계정의 Amazon Redshift Serverless 기반 Knowledge Base에서 원본 데이터 복사 없이 생성 답변과 인용을 받도록 하는 교차 계정 패턴입니다. 도구는 AWS STS로 Knowledge Base 계정의 최소 권한 IAM 역할을 수임한 뒤 RetrieveAndGenerate를 호출하며, Knowledge Base가 질문을 구조화된 Redshift 질의로 변환합니다. 코드 기반 Strands 변형은 Python 에이전트 루프와 로컬 MCP subprocess를 직접 운영하고, 선언형 harness 변형은 AgentCore 루프와 Gateway와 AWS Lambda를 사용합니다. 검색만 필요하거나 매번 하나의 답변만 생성하면 직접 Retrieve 또는 RetrieveAndGenerate를 우선하고, 도구 선택과 다단계 추론과 대화 상태가 필요할 때 두 AgentCore 변형 중 운영 요구에 맞는 경로를 선택합니다.

섹션별 상세

01
조직은 에이전트 워크로드와 구조화된 데이터를 서로 다른 AWS 계정에 배치해 경계를 유지하지만, Amazon Bedrock Knowledge Bases의 리소스 정책은 RetrieveAndGenerate를 교차 계정 작업으로 허용하지 않습니다. 이 제약 때문에 도구가 Knowledge Base 계정의 전용 IAM 역할을 AWS STS로 수임한 뒤 해당 API를 호출하는 경로가 필요합니다. 그 결과 원본 데이터를 에이전트 계정으로 복사하지 않고 Redshift Serverless 기반 데이터에서 자연어 답변과 인용을 받을 수 있습니다.
02
이 글은 같은 교차 계정 데이터 경계를 공유하는 두 가지 AgentCore 구현을 비교합니다. 코드 기반 Strands 변형에서는 Python 코드가 Strands Agents SDK로 에이전트 루프를 실행하고, 로컬 MCP subprocess가 Knowledge Base 도구를 호스팅합니다. 선언형 AgentCore harness 변형에서는 AgentCore가 루프를 관리하고 AgentCore Gateway를 거쳐 AWS Lambda 도구를 호출하므로, 두 방식의 차이는 데이터 권한이 아니라 오케스트레이션 루프와 도구 호스팅 위치에 있습니다.
두 가지 AgentCore 오케스트레이션 경로가 하나의 교차 계정 보안 경계를 공유하는 구조도입니다.
Diagram왼쪽 경로는 AgentCore Runtime, 로컬 MCP subprocess, AWS STS AssumeRole을 거쳐 Knowledge Base 접근 IAM 역할과 Amazon Bedrock Knowledge Base로 이어집니다. 오른쪽 경로는 AgentCore harness, AgentCore Gateway, AWS Lambda 도구를 거친 뒤 같은 역할을 통해 Amazon Redshift Serverless 기반 Knowledge Base에 접근하므로, 구현 방식은 달라도 데이터 계정의 접근 경계는 동일합니다.
03
요청은 Streamlit UI 또는 AgentCore API에서 시작해 Amazon Nova Pro가 query_knowledge_base 도구 호출을 선택하는 순서로 진행됩니다. 이후 도구가 AWS STS로 bedrock_kb_access_role을 수임하고, 수임된 세션이 Claude Haiku 4.5를 사용한 RetrieveAndGenerate를 호출하면 Knowledge Base가 질문을 Amazon Redshift Serverless에 대한 구조화된 쿼리로 변환합니다. 생성된 답변은 선택한 AgentCore 경로를 통해 사용자에게 돌아오며, 같은 질문과 Knowledge Base ID, 모델, 검색 개수, 새 세션을 사용해야 두 변형의 결과를 공정하게 비교할 수 있습니다.
bash
AGENT_PROFILE=agent
AGENT_KB_PROFILE=agent-kb
REGION=us-west-2
AGENT_ACCOUNT=$(aws sts get-caller-identity \
  --profile "$AGENT_PROFILE" --query Account --output text)
AGENT_KB_ACCOUNT=$(aws sts get-caller-identity \
  --profile "$AGENT_KB_PROFILE" --query Account --output text)
aws bedrock-agent list-knowledge-bases \
  --profile "$AGENT_KB_PROFILE" --region "$REGION"

두 AWS 계정의 프로필에서 계정 ID를 확인하고 Knowledge Base 목록을 조회하는 초기 설정 코드입니다.

코드 기반 Strands 에이전트가 로컬 MCP subprocess와 교차 계정 IAM 역할을 통해 Knowledge Base를 조회하는 요청 흐름입니다.
Diagram사용자와 Streamlit 채팅 UI의 질문이 AgentCore Runtime과 Strands Agent custom agent loop를 거쳐 로컬 MCP subprocess로 전달됩니다. 도구가 AWS STS로 역할을 수임한 뒤 Amazon Bedrock Knowledge Base를 호출하고, Knowledge Base는 Claude Haiku 4.5 Generation model과 Amazon Redshift Serverless를 사용해 답변과 인용을 반환합니다.
선언형 AgentCore harness가 AgentCore Gateway와 AWS Lambda 도구를 거쳐 교차 계정 Knowledge Base를 조회하는 흐름입니다.
Diagram질문은 AgentCore harness에서 도구 선택을 거쳐 AgentCore Gateway와 AWS Lambda KB query tool로 전달됩니다. Lambda 실행 역할이 AWS STS를 통해 Knowledge Base 계정의 IAM 역할을 수임하고, Amazon Bedrock Knowledge Base가 구조화된 질의를 Amazon Redshift Serverless로 넘긴 뒤 결과를 사용자에게 돌려줍니다.
04
에이전트가 정말 필요한지 먼저 확인하는 것이 설계 기준입니다. 검색된 콘텐츠만 필요하면 Knowledge Base 리소스 정책과 교차 계정 Retrieve를 평가하고, 모든 요청이 결정적으로 하나의 생성 답변만 요구하면 애플리케이션이나 AWS Lambda에서 역할을 수임해 RetrieveAndGenerate를 직접 호출하는 편이 단순합니다. 모델이 대화 흐름에서 Knowledge Base 조회 시점이나 방법을 선택하거나 여러 도구와 대화 상태가 필요할 때 AgentCore를 선택합니다.
Streamlit 클라이언트에서 Local, AgentCore, Harness 호출 모드와 Knowledge Base 설정을 선택하는 화면입니다.
Screenshot왼쪽 설정 영역에서 호출 모드와 Knowledge Base ID, 대상 IAM 역할 ARN, 기반 모델, 에이전트 모델, AWS Region을 지정할 수 있습니다. TPC-H 데이터셋을 대상으로 고객, 공급업체, 지역별 매출, 할인 후 매출, 1997년 4분기 긴급 주문에 관한 샘플 질의를 선택하도록 구성되어 있습니다.
배포된 Harness ARN을 사용해 1997년 4분기 1-URGENT 주문을 조회한 결과 화면입니다.
ScreenshotHarness 모드 화면은 배포된 Harness ARN과 샘플 질의를 표시하고, 1997년 10월 1일부터 12월 31일까지의 1-URGENT 주문 100건을 총 가격 내림차순으로 반환합니다. 상위 결과에는 주문 번호와 날짜와 금액이 함께 나타나며, 제한된 행 수와 기간과 정렬 조건을 지정한 질의가 결과 처리에 적합하다는 점을 확인할 수 있습니다.
05
두 AgentCore 변형 중 선택은 사용자 지정 제어와 관리형 오케스트레이션의 균형으로 결정됩니다. 재시도, 미들웨어, 계측, 스트리밍, 도구 동작을 직접 조정해야 하면 agent.py와 MCP 서버를 유지하는 코드 기반 Strands 경로가 맞고, 설정 중심의 수명 주기와 관리형 루프가 충분하면 harness 경로가 적합합니다. 독립적인 사실 비교에는 새 세션 ID를 사용하고, 정확한 도구 질의와 Knowledge Base ID, 모델 ID, 검색 결과 개수를 기록하며, 행 단위 질의에는 행 수와 날짜 범위와 정렬 순서를 명시해야 결과 집합이 과도하게 커지지 않습니다.

용어 해설

교차 계정 액세스(Cross-account access)
서로 다른 AWS 계정에 있는 애플리케이션과 데이터 리소스 사이에 권한을 부여하는 방식입니다. 이 글에서는 에이전트 계정이 Knowledge Base 계정의 IAM 역할을 AWS STS로 임시 수임한 뒤 RetrieveAndGenerate를 호출합니다. 원본 데이터를 에이전트 계정으로 복사하지 않고 계정별 경계를 유지하는 데 중요합니다.
RetrieveAndGenerate
Amazon Bedrock Knowledge Bases가 관련 데이터를 검색한 뒤 검색 결과를 바탕으로 자연어 답변과 인용을 생성하는 API입니다. 이 글의 핵심 경로에서는 Knowledge Base 계정의 역할을 수임한 도구가 이 API를 호출합니다. 단순 검색 결과만 필요할 때의 Retrieve와 달리 생성된 답변까지 반환합니다.
Model Context Protocol
언어 모델 에이전트가 외부 도구와 정해진 방식으로 연결되도록 하는 프로토콜입니다. 코드 기반 변형에서는 AgentCore runtime에 포함된 로컬 MCP subprocess가 Knowledge Base 조회 도구를 호스팅합니다. 이를 통해 Strands 에이전트의 사용자 지정 루프에서 도구 호출을 실행합니다.
최소 권한 액세스(least-privilege access)
업무에 필요한 리소스와 작업만 허용하도록 권한 범위를 제한하는 보안 원칙입니다. 이 글에서는 Knowledge Base와 모델 리소스에 한정된 전용 교차 계정 IAM 역할을 사용합니다. 데이터 계정의 접근 범위를 줄이면서 생성 답변과 인용을 반환하는 구조를 유지합니다.
검색 증강 생성(Retrieval Augmented Generation)
외부 데이터 저장소에서 관련 정보를 검색해 모델 입력에 넣고, 그 근거를 활용해 답변을 생성하는 방식입니다. Amazon Bedrock Knowledge Bases는 Redshift Serverless의 구조화된 데이터를 검색한 뒤 자연어 답변을 생성합니다. 원본 데이터를 모델 계정으로 옮기지 않고 최신 업무 데이터에 접근하는 데 활용됩니다.

기술

  • Amazon Bedrock AgentCore
  • Amazon Bedrock Knowledge Bases
  • Amazon Redshift Serverless
  • AWS Identity and Access Management
  • AWS Security Token Service
  • AWS Lambda
  • AgentCore Gateway
  • Strands Agents SDK
  • Model Context Protocol
  • Streamlit
  • Python
  • AWS CLI
  • jq
  • Amazon Nova Pro
  • Claude Haiku 4.5
  • Amazon Bedrock Guardrails

활용 사례

  • Redshift Serverless의 구조화된 업무 데이터에 대한 자연어 질의
  • 계정 경계를 유지하는 Knowledge Base 기반 에이전트
  • 여러 도구와 대화 상태가 필요한 기업용 에이전트 워크플로
  • Streamlit에서 Local, AgentCore, Harness 호출 모드를 비교하는 검증 환경
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 27.수집 2026. 08. 27.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.