챗봇 개발을 통한 클라우드 네이티브 은행 서비스 구축: Amazon Lex, Lambda 및 CloudFormation 활용
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- *대상자:** 클라우드 개발자, AI/ML 엔지니어, DevOps 엔지니어
- *난이도:** 중급 (AWS 서비스 사용 경험 필요)
핵심 요약
- 핵심 기술 스택:
Amazon Lex
(대화 인터페이스),AWS Lambda
(백엔드 로직),CloudFormation
(자동 배포) - 주요 기능: 계좌 잔액 확인, 계좌 간 자금 이체, Fallback 처리
- 주요 도전 과제:
IAM 정책
미설정으로 인한Lambda
호출 실패 문제 해결
섹션별 세부 요약
1. 프로젝트 개요
- BankerBot 목적: 자연어 대화를 통해 계좌 잔액 확인 및 자금 이체 기능 제공
- 기능 범위:
- Credit
, Savings
, Checking
계좌 잔액 조회
- 계좌 간 자금 이체 요청 처리
- 일반 문의에 대한 Fallback 응답 제공
2. 사용 도구 및 서비스
- Amazon Lex:
- 사용자 입력 분석 및 응답 생성
- WelcomeIntent
및 FallbackIntent
정의
- AWS Lambda:
- Serverless
환경에서 백엔드 로직 실행
- IAM
정책 설정을 통해 Lex
와 연동
- CloudFormation:
- IaC
기반 자동 배포로 확장성 및 안정성 확보
3. 구현 단계
####3.1. Welcome & Fallback Intents
WelcomeIntent
에 친절한 인사 메시지 정의FallbackIntent
로 인식되지 않은 입력 처리MessageGroups
사용하여 메시지 무작위 출력
####3.2. CheckBalance Intent
AccountType
커스텀 슬롯 타입 정의 (예:Credit
,Savings
)- 사용자 입력에서 슬롯 자동 추출 (예: "저의 저축 계좌 잔액은?" 파싱)
####3.3. Lambda 연동
Lambda
함수 생성 후Lex
와Code Hook
으로 연동Lex
가Lambda
를 호출하는IAM
권한 설정 (필수)
####3.4. Context Carryover
- 다단계 대화에서 슬롯 값 유지 (예: "이체 금액 500만 원" → 다음 슬롯 자동 연결)
Multi-turn
대화 UX 개선
####3.5. Fund Transfer Flow
Source
,Destination
,Amount
슬롯 정의- 이체 전 확인 메시지 삽입 (예: "500만 원을 A 계좌로 이체하시겠습니까?")
Visual Conversation Builder
로 흐름 시각화CloudFormation
템플릿으로 자동 배포
4. 도전 과제 및 학습
- 문제:
Lambda
호출 실패 (IAM 권한 부족) - 해결:
Lambda
의Permissions
탭에서Lex
접근 권한 추가 - 학습 포인트:
AWS
서버리스 환경에서IAM
정책 설정 중요성
결론
- 실무 팁:
IAM
정책 설정을 반드시 확인하고,CloudFormation
으로 자동 배포를 구현하여 확장성을 확보하세요. - 핵심 구현 방법:
Lex
+Lambda
+CloudFormation
조합으로 빠른 확장 가능한 클라우드 네이티브 챗봇 개발 가능.