[Tech Blog] AWS로 구현한 AI 챗봇 상담비서 PoC 사례와 실전 구축 팁

AWS로 구현한 AI 챗봇 상담비서 PoC 사례와 실전 구축 팁
※ 해당 테크 블로그는 작성자의 허가를 받고 리포스팅 되었습니다. ※

들어가며

최근 고객사로부터 AI를 활용한 챗봇 솔루션 구성에 대한 다양한 요구사항이 증가하고 있습니다. 메가존클라우드는 AWS 서비스를 기반으로 한 AI 챗봇 PoC(Proof of Concept) 를 빈번하게 수행하고 있습니다. 이 블로그에서는 실제 고객 사례를 중심으로, PoC 환경 구성 시 활용된 주요 AWS 서비스와 아키텍처를 소개하고, 시스템 구축 시 고려가 필요한 기술 요소들을 공유하고자 합니다.

아키텍처 및 AWS 서비스 주요 구성

Amazon Bedrock 서비스를 활용하면 챗봇 PoC를 비교적 간단한 구조로 구성할 수 있습니다. 프론트엔드는 Streamlit이나 다른 프레임워크를 활용해 웹 형태로 구축하며, 사용자의 입력을 받습니다. Streamlit은 파이썬 코드만으로 웹 애플리케이션을 빠르게 개발할 수 있는 오픈소스 프레임워크로, PoC 환경을 손쉽게 구현할 수 있습니다. 사용자의 요청은 애플리케이션 서버로 전달되며, OpenSearch에서 벡터 데이터를 검색한 후 Amazon Bedrock에 질의하여 적절한 응답을 생성합니다. 또한 외부 시스템과 연동해 실시간으로 수집한 정보를 정제하여 사용자에게 제공할 수도 있습니다. 사용자와의 대화 내용을 저장할 필요가 있을 경우, 별도의 데이터베이스를 구성해 활용할 수 있습니다. AWS 기술 블로그에서 발췌한 아키텍처를 바탕으로 구체적으로 어떤 서비스가 이용되는지 살펴보겠습니다.
  • Amazon Simple Storage Service (S3): 지식 베이스 역할을 할 원본 데이터 및 이미지 파일 등을 저장하여 전처리에 필요한 데이터를 구성합니다.
  • Amazon Elastic Compute Cloud (EC2):  웹 서버 및 API 연동 인터페이스 역할을 수행하는 컴퓨팅 리소스입니다. 본 환경은 테스트 용도로 구성되므로 PoC 단계에서는 고사양의 인스턴스가 꼭 필요한 것은 아닙니다. 다만, OpenSearch 및 Amazon Bedrock과의 연동 시 API 호출과 응답 속도에 영향을 줄 수 있으므로, 인스턴스의 I/O 성능은 확인하는 것이  좋습니다.
  • Amazon OpenSearch Service: 챗봇 구현에 필요한 벡터 데이터베이스 저장소로 사용됩니다. 벡터 데이터베이스는 AI가 이해할 수 있도록 정보를 숫자로 바꿔 저장하고, 비슷한 내용을 빠르게 찾아주는 데이터베이스 형태를 말합니다. PoC의 경우 일반적으로 데이터 양이 크지 않으므로 초기에는 작은 사이즈나 서버리스로도 구성 가능합니다. OpenSearch는 엔드포인트 기반으로 접속할 수 있습니다. 보안을 고려하여 공인으로 접속하기보다 VPC 내 사설 망에서 사용하는 것을 권장합니다.
  • Amazon Bedrock은 AI 챗봇에 활용되는 대규모 언어 모델(LLM)을 제공합니다. 대규모 언어 모델은 방대한 텍스트 데이터를 학습하여 사람처럼 자연스러운 언어를 이해하고 생성하는 인공지능 기술입니다. Amazon Bedrock에서 제공하는 기반 모델(Foundation Model)은 리전별로 다르며, 본 PoC에서는 고객사가 이미 리소스를 보유하고 있는 동일 리전 내에서 Bedrock을 구성하였습니다.
    Amazon Bedrock에서 접근 가능한 기반 모델은 모델 별로 다른 특성을 가지고 있습니다. 예를 들어, Anthropic의 Claude 모델은 텍스트 기반 질의응답과 요약에 적합하고, Stability AI의 Stable Diffusion 모델은 이미지 생성에 특화되어 있어, 사용 목적에 맞는 모델 선택이 중요합니다.
    이번 PoC에서는 일반적으로 많이 사용되는 Claude Sonnet 엔진을 활용해 사용자 질문에 대한 응답을 생성하고, 데이터 임베딩 작업에는 AWS의 Titan Embeddings 모델을 사용합니다. Bedrock의 기반 모델을 활용하려면, 다음과 같이 사전에 모델 활성화가 필요합니다.
Amazon Bedrock → Bedrock Configurations → Model Access → Enable Specific Models

이 외에도 API 구현 방식에 따라 AWS Lambda를 사용할 수 있으며, 애플리케이션 서버의 패키지 다운로드, API 호출 등의 외부 통신을 위해서 NAT Gateway가 필요합니다. PoC 환경에서는 기능검증이 우선 순위라 판단하기에 일반적으로 공인 IP로 접속 가능하게 설정하기도 합니다. 도메인 연결이 필요하다면 AWS Route 53 등 네임 서버 서비스를 이용할 수 있습니다. 마지막으로 챗봇 대화 기록을 저장하고 히스토리를 불러오기위해서는 DynamoDB 에 적재 가능합니다.

AI 챗봇 구성 시 고려사항과 실전 구축팁

보안 구성과 네트워크 접근 제어
AI 챗봇이 외부 API나 기업 내부 시스템과 연동하여 고객 데이터 또는 내부 정보를 처리하는 경우, 네트워크 구성을 신중하게 설계하는 것이 필요합니다. AWS 환경에서는 보안을 강화하기 위해 Lambda 함수, Amazon Bedrock 호출 등 주요 컴퓨팅 리소스를 VPC의 프라이빗 서브넷에 배치하는 방식을 권장합니다. 이 구조를 통해 외부 인터넷 접근을 원천적으로 차단하고, 필요한 경우에만 NAT Gateway를 통한 제한적 외부 통신을 허용할 수 있습니다.

또한, 챗봇 API에 대한 접근은 허용된 IP 대역(Whitelist)으로 제한하여 외부 접근을 제어할 수 있습니다. 예를 들어, Security Group설정을 통해 API Gateway나 Load Balancer 앞단에서 특정 사설망의 IP 요청만 허용하면, 불필요한 외부 트래픽을 효과적으로 차단할 수 있습니다.

챗봇이 AWS 외부 시스템이나 타 AWS 계정의 리소스와 통신해야 하는 경우에는 VPC Peering, AWS PrivateLink, Transit Gateway와 같은 네트워크 연결 옵션을 고려할 수 있습니다. 또한 API 키 기반 인증을 통해 민감 데이터에 대한 접근 권한을 관리할 수 있습니다. 이와 같이 챗봇을 구성할 때는 단순한 기능 구현을 넘어, 네트워크 아키텍처와 인증 체계까지 포함하여 보안을 전반적으로 고려하는것이 필요합니다.

백엔드 구성 시 컴퓨팅 방식 선택
AI 챗봇의 애플리케이션 서버와 API 백엔드의 컴퓨팅 서비스는 여러 방식으로 구현할 수 있습니다. Amazon EC2를 사용하면 사용자가 비교적 높은 수준으로 직접 제어할 수 있습니다. OpenSearch, S3, Bedrock 등과의 연동 테스트를 할 경우 네트워크 설정과 패키지 설치 등을 자유롭게 구성할 수 있으며, 디버깅 측면에서도 이점이 있습니다. 반면, AWS Fargate는 서버리스 방식으로 사용자는 컨테이너 이미지와 실행 조건만 정의하면 되고, 인프라를 별도로 관리하지 않아도 됩니다. 운영 편의성이 높은 편이며, 테스트 환경을 빠르게 구성하거나 자동 확장이 필요한 경우 또는 짧은 시간동안만 실행되는 워크로드 구성에 적합합니다. 챗봇 시스템의 목적, 테스트 범위, 운영 환경 등을 종합적으로 고려하여 컴퓨팅 방식을 선택할 수 있습니다.
데이터 전처리와 정제
원천 데이터의 품질 AI응답의 정확도에 영향을 미칩니다. 표, 이미지 등 여러 요소가 복합적으로 포함된 문서와 같은 비정형 데이터를 사용할 경우에는 전처리 및 파싱 작업이 필요하기도 합니다. PDF나 엑셀 파일에서 필요한 정보만 추출해 텍스트 형태로 변환하거나, 표를 정리된 JSON 형태로 구조화하는 등의 작업이 포함됩니다. 이러한 과정을 통해 OpenSearch 또는 Bedrock에서 벡터 임베딩의 정확도를 높일 수 있습니다. AWS에서는 Amazon Textract, Lambda, 파이썬 기반 스크립트 등을 활용해 데이터 정제 프로세스 자동화에 도움을 받을 수 있습니다.

PoC를 위한  데이터셋을 구성 할때에는 실제 사용자 정보를 포함하지 않고, PII(Personal Identifiable Information), PHI(Protected Health Information) 등 개인정보를 포함하지 않도록 주의가 필요합니다. PoC 이후 시스템을 실제로 운영하게 된다면 사전에 데이터 보안 및 개인정보 규정 준수 여부를 확인해야합니다.

Amazon Bedrock Guardrails 설정
Amazon Bedrock은 AI 응답의 신뢰성과 안전성을 보장하기 위해 Guardrails라는 기능을 제공합니다. Guardrails는 생성형 AI가 민감하거나 부적절한 주제를 생성하지 않도록 하는 필터 역할을 하며, 사전에 금지할 주제, 단어, 또는 개인정보 유형을 정의할 수 있습니다. 예를 들어 욕설이나, 주민등록번호와 같은 민감 정보가 포함되지 않도록 설정 가능하며, 위반할 경우 사용자에게 보여줄 안내 문구도 사전에 구성 가능합니다. 이 Bedrock 기능은 현재 텍스트 기반 LLM 모델에서만 지원되며, 여러 모델에 공통으로 Guardrails를 적용해 일관된 응답 정책을 유지할 수 있습니다.
Amazon Bedrock Agents 기반 자동화 구성
챗봇 시스템을 더욱 고도화하고자 하다면, Amazon Bedrock의 에이전트(Agents for Amazon Bedrock) 기능을 활용할 수 있습니다. 이 기능은 단순한 질의응답형 챗봇을 넘어, 사용자의 자연어 요청에 따라 외부 API 호출, DB 조회, 조건 분기 등  여러 단계를 포함한 작업을 자동으로 수행하도록 지원합니다. 예를 들어 사용자가 “여행지 교통편 예약을 도와줘”라고 챗봇에게 요청하면 에이전트는 미리 정의된 작업 지시(Task orchestration)툴(tool) 연동을 통해 [교통편 조회 API 호출 →좌석 유무 확인→사용자 정보 인증→결제 AP요청]과 같은 과정을 수행 가능합니다. 이를 위해 사전에 에이전트 지침(prompt instructions)와 툴 정의, 외부 시스템과 연동할 Lambda 함수나 API 엔드포인트를 설정해야합니다. 이러한 구성을 바탕으로 Amazon Bedrock Agent는 비즈니스 로직을 자동화 하고, 자동 응답 및 처리 기능을 제공하는 수준으로 챗봇 시스템을 고도화 할 수 있습니다. 

마무리하며

지금까지 AI 상담 챗봇비서 PoC를 구성 사례를 통해 AWS 서비스와 고려 사항을 알아보았습니다. AWS Bedrock과 OpenSearch 등 핵심 서비스를 중심으로 아키텍처를 구성하고, 보안 및 네트워크 설정, 외부 시스템 연동, 데이터 처리 방식 등 실제 서비스 구현에 필요한 다양한 요소들을 검토하였습니다. 메가존클라우드는 다양한 AI 기반 서비스의 인프라 구축부터 데이터 전처리, 보안 설정 까지 아우르는 컨설팅과 구축 서비스를 제공하고 있습니다. AI 챗봇 구성부터 기능검증을 위한 PoC가 필요하신 경우 문의해주시기 바랍니다.
글 | 메가존클라우드, Cloud Tech Unit, AWS Account SA 정은영 매니저
Technical Review |
  • 메가존클라우드, Cloud Tech Unit, AWS Account SA 최진문 리더
  • 메가존클라우드, Cloud Tech Unit, AWS Delivery SA 김지희 매니저
게시물 주소가 복사되었습니다.

이런 콘텐츠도 있어요!