pile·
AI / ML·aws-architectureAWS Architecture·

DynamoDB와 Bedrock으로 통합 AI 에이전트 아키텍처 구축하기

AWS가 Amazon DynamoDB에 네이티브 벡터 검색(SearchVectors API)을 정식 출시(2026-08-05)했다. 이를 기반으로 DynamoDB 단일 테이블에 운영 데이터와 벡터 임베딩을 함께 저장하고, Amazon Bedrock Agent와 연결해 통합 AI 에이전트를 구축하는 아키텍처를 다룬다. 별도 벡터 DB 없이 시맨틱 검색과 CRUD를 단일 인프라로 처리하는 구현 코드와 제약 사항을 상세히 정리했다.

핵심 포인트
  • DynamoDB 단일 테이블에 문서·메타데이터·1,024차원 임베딩을 함께 저장해 별도 벡터 DB가 불필요해졌다.
  • Bedrock Agent → Action Group Lambda → DynamoDB SearchVectors API 경로로 자연어 시맨틱 검색을 수행한다.
  • DynamoDB Streams로 콘텐츠 변경 시 자동 임베딩 재생성을 구현한다. 무한 루프 방지 가드가 필수다.
  • SearchVectors는 on-demand 용량 모드만 지원하며 HASH 파티션 키 조건이 매 쿼리마다 필수다.
  • 적합 기준: DynamoDB가 이미 운영 DB일 때. 범위 필터·집계·100건 초과가 필요하면 OpenSearch를 선택한다.
상세 정리
  • 배경: 팀들이 DynamoDB와 별도 벡터 DB를 동시 유지하면서 비용·동기화 복잡성·지연 문제를 겪어왔다.
  • 핵심 변화: 2026-08-05 DynamoDB 네이티브 벡터 검색 GA로 단일 테이블에서 SearchVectors API 호출이 가능해졌다.
  • 4가지 구성 요소: 단일 DynamoDB 테이블 + Bedrock Agent + Action Group Lambda + 임베딩 파이프라인 Lambda.
  • 테이블 스키마: entity_id(PK) + sk(SK) 복합 키, embedding 필드에 숫자 리스트 저장, category 속성을 SearchSchema HASH 키로 사용한다.
  • 벡터 인덱스 생성: AWS CLI update-table 명령으로 COSINE 거리 함수 기반 1,024차원 인덱스를 추가한다.
  • 시맨틱 검색 구현: 쿼리 텍스트를 Amazon Titan Text Embeddings V2로 임베딩 후 SearchVectors 호출, TopK 최대 100건 반환. 거리 점수가 낮을수록 유사도가 높다.
  • 임베딩 파이프라인: DynamoDB Streams INSERT/MODIFY 이벤트 수신 → content 변경 시에만 Titan 임베딩 호출 → 동일 아이템의 embedding 필드에 저장.
  • 무한 루프 방지: StreamViewType=NEW_AND_OLD_IMAGES로 OLD/NEW 이미지 비교, content가 바뀌지 않은 경우(임베딩만 갱신된 이벤트) Lambda 처리를 스킵한다.
  • Bedrock Agent 연결: Action Group에 함수 스키마(semantic_search, get_item_details)를 JSON으로 정의하고, Lambda에 bedrock.amazonaws.com의 lambda:InvokeFunction 권한을 부여한다.
  • 주요 제약: on-demand 모드 전용, 테이블당 벡터 인덱스 최대 5개, SearchVectors 응답 16MB 상한, TopK 최대 100, SearchSchema HASH 속성이 없는 아이템은 인덱스에서 자동 제외(오류 없이 조용히 누락).
  • IAM 최소 권한: SearchVectors는 인덱스 ARN 단위로 scope, 임베딩 Lambda는 UpdateItem 권한만 부여, Bedrock InvokeModel은 특정 모델 ARN으로 제한한다.
  • 대안 선택 기준: S3 데이터·관리형 청킹이 필요하면 Bedrock Knowledge Bases, 범위 필터·집계·100건 초과 결과가 필요하면 OpenSearch Service를 선택한다.
왜 읽나DynamoDB를 이미 운영 DB로 쓰면서 시맨틱 검색을 추가하려는 백엔드·AI 엔지니어에게 별도 벡터 DB 없이 단일 테이블 아키텍처를 구현할 때 참고할 구체적인 코드와 제약 정리.
aws-architecture
AWS Architecture 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. AI / ML·데보션 (SK)데보션 (SK)·

    Claude Code Dynamic Workflow 쉽게 이해하기

    Claude Code의 Dynamic Workflow는 단일 에이전트 대신 JavaScript 스크립트가 여러 서브에이전트를 지휘하는 오케스트레이션 방식이다. 컨텍스트 초과와 즉흥 판단이라는 단일 에이전트의 두 한계를 해결하며, "흐름은 코드로 고정, 작업은 에이전트에 위임"이라는 결정론적 설계로 병렬 처리와 교차 검증을 동시에 확보한다.

    요약 이어보기
    #claude-code#multi-agent#agent-engineering+1
  2. AI / ML·aws-architectureAWS Architecture·

    AgentFlo의 AI 영업 에이전트: Amazon Bedrock AgentCore 적용 사례 2편

    AgentFlo는 Amazon Bedrock AgentCore와 AWS 서버리스 서비스를 결합해 연간 3,000억 달러 규모의 거래를 처리하는 AI 영업 에이전트 플랫폼을 프로덕션에 배포했다. 이 글은 시리즈 2편으로, 예측 불가능한 트래픽 급증과 자율 커머스 운영에서의 신뢰 구축 문제를 다룬다.

    요약 이어보기
    #mcp#ai-agent#vector-db+2
  3. AI / ML·AITRICSAITRICS·

    눈과 귀를 가진 의료 AI : 판독을 넘어 추론으로

    에이아이트릭스가 AITRICS-VC(바이탈케어)와 V.Doc Pro(브이닥 프로) 두 제품에서 멀티모달 AI를 구체화한 방식을 소개한다. 의료진은 EMR 수치·영상·환자 음성을 동시에 다루지만 기존 단일 모달 AI는 각 데이터를 개별적으로만 처리했는데, 멀티모달 AI는 이질적 데이터를 연결해 맥락을 읽어냄으로써 단일 정보로 놓치기 쉬운 신호를 포착한다.

    요약 이어보기
    #llm#time-series#agentic-ai+2