PaddleOCR Service: PaddleOCR을 AWS 서버리스로 배포하기
지난 글에서 PaddleOCR 3.0의 세 가지 모델(PP-OCRv5, PP-StructureV3, PaddleOCR-VL)을 테스트해 봤습니다. PP-OCRv5는 빠르고 가볍고, PaddleOCR-VL은 결과가 좋지만 GPU가 필요했습니다.
문제는 GPU 환경입니다. 매번 Colab 열어서 런타임 연결하고, 모델 로드하고, 이미지 업로드하고... 테스트할 때마다 이 과정을 반복하는 게 번거로웠습니다. 그래서 AWS에 배포해서 웹 브라우저에서 바로 테스트할 수 있는 플레이그라운드를 만들어봤습니다.

PaddleOCR Service란?
PaddleOCR Service는 PaddleOCR 모델들을 AWS 서버리스 인프라에서 테스트할 수 있는 웹 기반 플레이그라운드입니다. 이미지나 PDF를 업로드하면 OCR 결과를 바로 확인할 수 있고, 바운딩 박스 오버레이로 인식 영역도 시각적으로 볼 수 있습니다.
참고: 프로덕션 솔루션이 아닙니다. PaddleOCR 모델을 AWS 환경에서 실험하고 평가하기 위한 용도로 만들었습니다.
지원 모델
이전 글에서 테스트했던 세 가지 모델을 모두 지원합니다.
PP-OCRv5

일반적인 텍스트 추출에 최적화된 모델입니다. 80개 이상 언어를 지원하고, 속도가 빠릅니다.
옵션
- 언어 선택 (한국어, 영어, 중국어, 일본어 등)
- 문서 방향 자동 보정
- 문서 왜곡 보정
- 텍스트 라인 방향 감지
PP-StructureV3

문서 구조 분석 모델입니다. 제목, 본문, 표, 이미지 등 20가지 레이아웃 요소를 구분합니다. 이전 테스트에서 한글 인식률이 낮았던 점은 여전하지만, 영문 문서나 표 추출이 필요한 경우에는 유용합니다.
감지 가능한 레이아웃
doc_title: 문서 제목paragraph_title: 섹션 제목text: 본문 텍스트table: 표 (Markdown으로 변환)formula: 수식image,chart: 이미지, 차트- 그 외 14가지 요소
PaddleOCR-VL

0.9B VLM 기반 End-to-End 문서 파싱 모델입니다. 이전 테스트에서 가장 결과가 좋았던 모델이죠. 별도 옵션 없이 자동으로 언어와 구조를 인식합니다.
로컬에서 CPU로 돌리면 이미지당 10분씩 걸렸는데, SageMaker GPU 인스턴스에서는 훨씬 빠르게 처리됩니다.
아키텍처

AWS 서버리스 아키텍처로 구성했습니다.
| 컴포넌트 | AWS 서비스 | 설명 |
| Frontend | CloudFront + S3 | React 웹 애플리케이션 |
| 인증 | Cognito | 사용자 인증 |
| API | API Gateway + Lambda | REST API |
| OCR 엔진 | SageMaker Endpoint | PaddleOCR 모델 추론 |
| 저장소 | S3 | 문서 및 결과 저장 |
| 컨테이너 | ECR + CodeBuild | SageMaker용 Docker 이미지 |
처리 흐름
- Cognito로 로그인
- React 프론트엔드에서 이미지 업로드
- API Gateway → Lambda → S3 저장
- Lambda가 SageMaker 엔드포인트 호출
- SageMaker에서 PaddleOCR 추론
- 결과를 S3에 저장하고 프론트엔드로 반환
출력 포맷
네 가지 출력 포맷을 지원합니다.
| 포맷 | 설명 | 저장 형식 |
| Markdown | 구조화된 텍스트 (표 포함) | .md |
| HTML | 웹 표시용 리치 포맷 | .html |
| JSON | 프로그래밍용 원본 데이터 | .json |
| Blocks | 바운딩 박스와 크롭 이미지 시각화 | - |
Document 탭에서는 OCR 결과를 직접 편집할 수 있습니다. 잘못 인식된 텍스트를 수정하거나 불필요한 부분을 삭제할 수 있죠. 편집 후 HTML 파일로 저장됩니다.

배포 방법
AWS CloudShell에서 간단하게 배포할 수 있습니다.
# 저장소 클론
git clone https://github.com/yunwoong7/paddle-ocr-service.git
cd paddle-ocr-service
# 배포 스크립트 실행
chmod +x deploy.sh
./deploy.sh
배포 과정에서 관리자 이메일과 SageMaker 인스턴스 타입을 입력하면 됩니다. 전체 배포는 약 20-30분 정도 소요됩니다.
비용 주의
⚠️ SageMaker 엔드포인트는 24시간 실행되며, ml.g5.xlarge 기준 월 $1,000 이상 비용이 발생합니다.
사용하지 않을 때는 엔드포인트를 삭제하세요.
# 엔드포인트만 삭제
./cleanup.sh --endpoint-only
# 전체 리소스 삭제
./cleanup.sh
마무리
PaddleOCR을 AWS에서 돌릴 수 있게 만들어봤습니다. 로컬에서 테스트할 때의 번거로움은 줄었고, GPU 환경도 신경 쓸 필요 없어졌습니다. 다만 비용이 만만치 않아서, 상시 운영보다는 필요할 때만 띄워서 테스트하는 용도로 쓰는 게 좋을 것 같습니다.
코드는 GitHub에 공개해뒀습니다.
'Tech & Development > AI' 카테고리의 다른 글
| Claude Cowork: 비개발자를 위한 AI 에이전트 (0) | 2026.01.15 |
|---|---|
| Claude Code 완벽 가이드 (2) - 커스텀 명령어부터 고급 활용까지 (0) | 2026.01.08 |
| Claude Code 완벽 가이드 (1) - 설치부터 기본 기능까지 (0) | 2026.01.08 |
| Multi-Agent 시스템, 정말 효과적일까? (0) | 2026.01.06 |
| Claude Agent Skills: AI를 나만의 전문가로 만드는 방법 (0) | 2025.12.30 |
댓글
이 글 공유하기
다른 글
-
Claude Cowork: 비개발자를 위한 AI 에이전트
Claude Cowork: 비개발자를 위한 AI 에이전트
2026.01.15 -
Claude Code 완벽 가이드 (2) - 커스텀 명령어부터 고급 활용까지
Claude Code 완벽 가이드 (2) - 커스텀 명령어부터 고급 활용까지
2026.01.08 -
Claude Code 완벽 가이드 (1) - 설치부터 기본 기능까지
Claude Code 완벽 가이드 (1) - 설치부터 기본 기능까지
2026.01.08 -
Multi-Agent 시스템, 정말 효과적일까?
Multi-Agent 시스템, 정말 효과적일까?
2026.01.06