
백엔드
백앤드서버에게 자유를 PresignedURL
두줄요약
커뮤니티 업로드 병목을 해결하기 위해 S3 Presigned URL로 직접 업로드 구조를 도입했습니다. 백엔드 부하를 줄이고 속도와 운영 효율을 함께 개선했습니다.
문제 상황
- 커뮤니티 서비스 이후 이미지·비디오 업로드 증가로 백엔드 서버 메모리 사용량 급증
- 프론트엔드 → 백엔드 → S3의 이중 전송 구조로 대용량 파일 업로드 지연 발생
- 썸네일 생성과 비디오 인코딩까지 백엔드가 부담하는 구조
원인 분석
- 파일 업로드 트래픽이 백엔드 서버에 집중되는 구조적 병목
- 업로드 후속 처리까지 서버가 담당해 확장성과 성능 저하 유발
해결 방법
- S3 Presigned URL로 프론트엔드가 백엔드 개입 없이 S3에 직접 업로드하도록 전환
- API Gateway, Lambda, DynamoDB를 조합해 업로드 정보 저장과 URL 생성을 서버리스로 구성
- S3 이벤트 트리거와 Lambda로 썸네일 생성과 비디오 인코딩 분리
성능/운영 포인트
- 업로드 경로 단순화로 전송량 감소 및 속도 향상
- 백엔드 서버 부하 감소와 유지보수 부담 완화
- 도메인별 업로드 설정 재사용으로 활용 범위 확대
