피드로 돌아가기
Processing long running events on AWS API Gateway
Dev.toDev.to
Backend

API Gateway 29초 타임아웃 극복을 위한 Serverless Asynchronous TaskManager 설계

Processing long running events on AWS API Gateway

Evertson Croes2026년 4월 17일4intermediate

Context

AWS API Gateway의 최대 통합 타임아웃 제한인 29초로 인해 대용량 데이터 export와 같은 장시간 실행 작업 처리 불가. 동기식 요청 유지 시 프론트엔드 리소스 낭비 및 블로킹 현상이 발생하는 구조적 한계 직면.

Technical Solution

  • API Gateway와 Lambda를 통한 Task 생성 요청 수신 및 TaskStatus DynamoDB 테이블 내 상태 기록
  • DynamoDB Stream을 활용한 실시간 상태 변경 감지 및 TaskStatusPublisher Lambda의 TaskCreatedEvent 발행
  • EventBridge Rule 기반의 Task Processor 연결을 통한 작업 유형별 비동기 처리 분리 및 확장성 확보
  • Task Processor가 TaskUpdatedEvent를 통해 RUNNING, SUCCESSFUL, FAILED 상태를 TaskManager에 피드백하는 루프 설계
  • 완료 시 S3 Signed URL을 페이로드에 포함하여 결과물에 안전하게 접근하는 방식 채택
  • 프론트엔드의 폴링(Polling) 또는 WebSocket 기반 상태 확인을 통한 응답성 개선 및 리소스 최적화

1. API Gateway 타임아웃 제한 발생 시 동기 호출을 포기하고 비동기 상태 관리 패턴 도입 검토

2. 상태 저장소(DynamoDB)와 이벤트 버스(EventBridge)를 분리하여 작업 생성과 실행 로직의 결합도 제거

3. 작업 상태를 세분화(Created -> Running -> Success/Fail)하여 클라이언트에게 명확한 진행 상황 제공

4. 대용량 결과물 전달 시 API 응답에 직접 포함하지 않고 S3 Signed URL 방식 활용

원문 읽기