티스토리 뷰
로컬 LLM + RAG 기반 AI 채팅봇 만들기 # 41 - 배포 후 점검 사항
octo54 2025. 3. 1. 22:14로컬 LLM + RAG 기반 AI 채팅봇 만들기
6.3 배포 후 점검 사항
이제 Ktor 백엔드와 SvelteKit 프론트엔드를 배포 완료했습니다.
이번 단계에서는 배포된 서비스의 정상 동작 여부를 확인하고, 모니터링 및 에러 대응 전략을 구축하겠습니다.
1) 배포 후 확인해야 할 사항
✅ ① 프론트엔드와 백엔드 연결 확인
- 브라우저에서 배포된 프론트엔드 URL에 접속
- AI 챗봇과 대화 시도
- API 호출이 정상적으로 동작하는지 개발자 도구(DevTools)에서 확인
fetch("https://backend-url.com/api/chat/send", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ message: "챗봇이 뭐야?" })
})
.then(response => response.json())
.then(data => console.log(data));
📌 예상 결과
{
"response": "AI 챗봇은 사용자 질문을 분석하고 응답을 제공하는 시스템입니다."
}
✅ ② CORS 정책 확인 (백엔드 설정 수정 필요 여부)
Vercel에서 실행되는 프론트엔드가 Ktor 백엔드 API를 호출할 수 있도록
백엔드에서 CORS 설정이 올바르게 적용되었는지 확인합니다.
install(CORS) {
anyHost()
allowMethod(HttpMethod.Get)
allowMethod(HttpMethod.Post)
}
CORS 오류 발생 시 브라우저 개발자 도구(F12) → 네트워크 탭에서 API 요청을 확인해야 합니다.
✅ ③ HTTPS 환경에서 WebSocket 정상 동작 확인
Vercel과 같은 프론트엔드 배포 플랫폼은 기본적으로 HTTPS를 사용하므로,
백엔드에서 WebSocket을 wss:// 프로토콜로 설정해야 할 수도 있습니다.
const socket = new WebSocket("wss://backend-url.com/chat");
만약 WebSocket 연결이 차단되면, 백엔드에서 HTTPS 설정을 추가해야 합니다.
install(HttpsRedirect) {
sslPort = 443
}
2) 배포 후 모니터링 (로그 및 오류 감지)
✅ ① 백엔드 로그 확인
Docker 컨테이너에서 실행 중인 Ktor 서버의 로그를 확인합니다.
docker logs chatbot-container -f
에러 발생 시 로그에서 HTTP 요청, 응답 상태 코드 및 WebSocket 메시지를 분석할 수 있습니다.
✅ ② 프론트엔드 로그 확인 (Vercel Log 기능 활용)
Vercel에서 배포한 프론트엔드의 로그를 확인하려면,
Vercel 대시보드 → "Deployments" → "Logs" 에서 확인 가능합니다.
vercel logs svelte-chatbot
✅ ③ 오류 발생 시 Slack / 이메일 알림 설정
- Vercel과 Slack을 연동하여 배포 오류 발생 시 자동 알림을 받을 수 있습니다.
- Sentry 같은 오류 추적 도구를 연동하면 실시간으로 에러를 감지할 수 있습니다.
vercel integrate slack
3) 자동화된 배포 및 업데이트
✅ ① GitHub Actions를 활용한 자동 배포
Vercel은 GitHub과 연동하여 코드 변경 시 자동으로 배포할 수 있습니다.
name: Deploy to Vercel
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies
run: npm install
- name: Build project
run: npm run build
- name: Deploy to Vercel
run: vercel deploy --prod --token ${{ secrets.VERCEL_TOKEN }}
Vercel 환경 변수 설정을 통해 VERCEL_TOKEN을 추가해야 합니다.
✅ ② 백엔드 서버 자동 재시작 설정
Ktor 서버가 예상치 못하게 종료될 경우, Docker Compose의 restart 옵션을 사용하여 자동 재시작합니다.
ktor-chatbot:
restart: always
✅ ③ PostgreSQL 데이터베이스 백업 설정
PostgreSQL 데이터를 자동 백업하려면 pg_dump 명령어를 활용합니다.
pg_dump -U postgres chatbot_db > backup.sql
백업을 S3, Google Drive 등의 클라우드 저장소에 업로드하여 안전하게 관리할 수 있습니다.
4) 배포 후 점검 체크리스트
점검 항목 결과
프론트엔드-백엔드 API 연결 정상 작동 | ✅ 확인 완료 |
CORS 문제 없이 API 호출 가능 | ✅ 확인 완료 |
WebSocket 정상 동작 (wss:// 적용 필요 여부 확인) | ✅ 확인 완료 |
백엔드 로그 모니터링 (docker logs) | ✅ 확인 완료 |
Vercel 로그 모니터링 (vercel logs) | ✅ 확인 완료 |
자동 배포 (GitHub Actions 연동) | ✅ 적용 완료 |
백엔드 자동 재시작 설정 (Docker Compose restart 옵션 추가) | ✅ 적용 완료 |
데이터베이스 백업 스케줄 설정 | ✅ 설정 완료 |
5) 다음 단계
이제 백엔드와 프론트엔드를 배포한 후, 운영 환경에서의 점검 및 최적화 작업을 완료했습니다.
다음으로 7.1 성능 최적화 (API 응답 속도 개선) 을 진행하여
백엔드 API의 응답 속도를 최적화하고, WebSocket 성능을 향상시키겠습니다! 🚀
'project > 로컬 LLM + RAG 기반 AI 채팅봇 만들기' 카테고리의 다른 글
로컬 LLM + RAG 기반 AI 채팅봇 만들기 # 43 - 데이터베이스 성능 최적화 (2) | 2025.03.02 |
---|---|
로컬 LLM + RAG 기반 AI 채팅봇 만들기 # 42 - API 응답 속도 개선 (0) | 2025.03.01 |
로컬 LLM + RAG 기반 AI 채팅봇 만들기 # 40 - 프론트엔드 배포 (Vercel) (0) | 2025.03.01 |
로컬 LLM + RAG 기반 AI 채팅봇 만들기 # 38 - 백엔드 Docker 컨테이너화 및 배포 (0) | 2025.03.01 |
로컬 LLM + RAG 기반 AI 채팅봇 만들기 # 37 - WebSocket 테스트 (웹 브라우저 콘솔 활용) (0) | 2025.03.01 |
- Total
- Today
- Yesterday
- rag
- Project
- 프론트엔드
- 로컬LLM
- nextJS
- Python
- Ktor
- LangChain
- 백엔드개발
- github
- nodejs
- Docker
- 리액트
- Page
- REACT
- 페이지
- 웹개발
- Next.js
- fastapi
- 개발블로그
- kotlin
- babel
- 백엔드
- AI챗봇
- til
- llm
- 관리자
- 챗봇개발
- PostgreSQL
- Webpack
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |