아마존 베드락(Amazon Bedrock)을 사용하여 자연어로 Amazon Aurora PostgreSQL 데이터를 질의하는 방법
최근 생성형 AI 기술이 급속도로 발전함에 따라, 기업들은 데이터 활용 방법에 있어 하이브리드 접근과 구조화된 데이터의 자동화 질의에 높은 관심을 보이고 있습니다. 특히 자연어 처리(NLP)가 포함된 업무 자동화와 데이터 분석 시스템은 매우 인기가 높습니다. 이번 포스팅에서는 Amazon Aurora PostgreSQL 데이터베이스의 데이터를 Amazon Bedrock Knowledge Bases를 통해 자연어로 조회할 수 있도록 구성하는 방법과 Amazon Redshift와의 zero-ETL 연동에 대해 자세히 살펴봅니다.
Amazon Bedrock Knowledge Bases는 대규모 언어 모델(LLM) 기반의 RAG(Retrieval Augmented Generation) 기능을 제공하며, 이를 통해 구조화된 데이터와 비구조화된 데이터를 함께 활용할 수 있는 고성능 생성형 AI 애플리케이션을 개발할 수 있습니다.
아키텍처 구성 및 활용 흐름
아래의 아키텍처 다이어그램은 Aurora PostgreSQL과 Amazon Redshift, 그리고 Amazon Bedrock Knowledge Bases를 연동한 구조를 보여줍니다.
이 솔루션은 다음과 같은 단계를 포함합니다.
- Amazon Aurora PostgreSQL 데이터는 프라이빗 서브넷에 저장되며, 배스쳔 호스트를 통해 안전하게 접근합니다.
- zero-ETL 기능을 활용하여, PostgreSQL의 데이터는 Amazon Redshift로 실시간 또는 근접 실시간으로 복제됩니다.
- Amazon Redshift의 구조 데이터를 Bedrock Knowledge Bases가 분석 후, 자연어 질의를 SQL로 변환하여 정보를 검색합니다.
- 최종 사용자는 콘솔 혹은 애플리케이션을 통해 자연어로 질의하면, Bedrock Knowledge Bases는 SQL 실행 및 결과 생성을 통해 데이터 기반의 응답을 제공합니다.
zero-ETL 통합 구성 방법
Aurora PostgreSQL에서 Amazon Redshift로 데이터를 자동으로 싱크하기 위해서는 zero-ETL 통합 구성이 필요합니다. 이를 통해 복잡한 ETL 파이프라인을 구현하지 않아도 데이터가 자동으로 Redshift에 반영됩니다. 핵심 단계는 아래와 같습니다.
- Aurora PostgreSQL 클러스터 생성
- EC2 인스턴스를 통해 데이터베이스 접근 및 테이블 생성 (예: product, customer, orders)
- 샘플 데이터를 INSERT하여 초기 데이터 구성
- Redshift Serverless 환경 설정 및 워크그룹 생성
- Aurora에서 zero-ETL 통합 생성 후, Redshift에 매핑 DB 생성
정상적으로 연동되면, Redshift console에서 통합 상태가 Active로 표시됩니다.
Bedrock Knowledge Base 생성 및 구성
이제 Amazon Bedrock Knowledge Base를 생성하고, Redshift 데이터를 기반으로 자연어 질의를 실행할 수 있습니다. 아래 절차를 따라 지식 베이스를 구축하고, 테스트할 수 있습니다.
- Amazon Bedrock 콘솔에서 'Knowledge Base' 메뉴로 이동해 구조화된 데이터 소스를 연결하는 방식으로 지식 베이스 생성
- IAM Role을 통해 Redshift 테이블에 SELECT 권한 부여 (예: GRANT SELECT ON customer TO 'IAMR:지식베이스역할')
- 데이터베이스 동기화 성공 및 상태 Available 확인
자연어 질의 실행 예시
Amazon Bedrock Knowledge Bases는 입력된 자연어 질문을 기반으로 SQL을 생성하고, 해당 결과를 사람 친화적인 텍스트로 반환합니다. 예를 들어:
- 질문: "가장 많은 상품을 구매한 고객은 누구인가요?"
- 생성 SQL: SELECT c.customer_name, COUNT(o.product_id) AS total_products_purchased FROM customer c INNER JOIN orders o ON c.customer_id = o.customer_id GROUP BY c.customer_name ORDER BY total_products_purchased DESC;
활용 시 고려사항 및 효과
이와 같은 자동화된 자연어 질의 시스템은 데이터 기반의 업무 의사결정을 보다 쉽게 만들며, 비기술 사용자도 복잡한 DB 구조나 SQL 문법을 몰라도 자유롭게 데이터를 조회할 수 있게 합니다. 특히 다음과 같은 장점이 있습니다:
- 대화형 AI 챗봇이나 어시스턴트 개발에 유리
- 기존 ETL 인프라 없이 데이터 실시간 연동 가능
- AI 기반의 비즈니스 인사이트 추출 자동화 가능
결론
Amazon Bedrock Knowledge Bases와 Amazon Redshift, Aurora PostgreSQL을 연동한 이 아키텍처는, 구조화된 데이터를 자연어로 질의하고 자동으로 응답하는 지능형 데이터 활용 환경 구축에 매우 효과적입니다. 향후 비용 효율성과 데이터 가용성을 고려하여 다양한 기업 환경에 적극적으로 도입해보시길 권장드립니다.
AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!
(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기