AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

챗봇 개발을 통한 클라우드 네이티브 은행 서비스 구축: 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:

- 사용자 입력 분석 및 응답 생성

- WelcomeIntentFallbackIntent 정의

  • 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 함수 생성 후 LexCode Hook으로 연동
  • LexLambda를 호출하는 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 권한 부족)
  • 해결: LambdaPermissions 탭에서 Lex 접근 권한 추가
  • 학습 포인트: AWS 서버리스 환경에서 IAM 정책 설정 중요성

결론

  • 실무 팁: IAM 정책 설정을 반드시 확인하고, CloudFormation으로 자동 배포를 구현하여 확장성을 확보하세요.
  • 핵심 구현 방법: Lex + Lambda + CloudFormation 조합으로 빠른 확장 가능한 클라우드 네이티브 챗봇 개발 가능.