피드로 돌아가기
Building a Document Processing Pipeline with S3, Textract, Step Functions and EventBridge
Dev.toDev.to
Infrastructure

S3와 Step Functions로 구현한 확장 가능한 문서 처리 파이프라인

Building a Document Processing Pipeline with S3, Textract, Step Functions and EventBridge

Renaldi2026년 4월 5일27intermediate

Context

단순 OCR 처리를 넘어 대량의 다중 페이지 PDF와 비정기적인 배치 업로드 대응 필요. 낮은 신뢰도의 데이터에 대한 인간 검수 단계와 컴플라이언스 준수를 위한 추적 가능성 확보가 필수적인 상황.

Technical Solution

  • S3 객체 생성 이벤트를 EventBridge로 라우팅하여 처리 프로세스를 자동 트리거하는 이벤트 기반 설계
  • Step Functions의 Distributed Map을 도입하여 개별 문서별 자식 워크플로우를 병렬 실행하는 배치 확장 구조
  • Lambda의 동기식 대기 시간을 제거하고 Step Functions가 직접 Textract의 비동기 작업 상태를 폴링하는 오케스트라 전략
  • Textract 분석 결과의 Confidence Score를 기준으로 임계치 미달 항목을 Human-in-the-loop 검수 단계로 분기하는 콜백 패턴 적용
  • 원본 데이터와 정규화된 결과물 및 처리 이력을 S3와 감사 로그에 분리 저장하여 데이터 추적성 및 무결성 강화
  • 처리 완료 후 커스텀 이벤트를 EventBridge로 발행하여 후속 시스템과 결합도를 낮춘 느슨한 연결 구조

Key Takeaway

비동기 AI/ML 서비스 통합 시 컴퓨팅 리소스의 단순 대기가 아닌 상태 머신 기반의 오케스트레이션을 통해 비용 효율성과 시스템 안정성을 동시에 확보할 수 있는 설계 원칙.


다량의 문서 처리 시 Lambda 타임아웃을 방지하기 위해 Textract Async API와 Step Functions의 Distributed Map 조합을 우선 검토할 것

원문 읽기