AWS Lambda Payload Size Error 해결하기

Hoony·2022년 6월 30일
0

문제 케이스

거대한 json을 return하는 API를 Lambda로 구현한 것이 있었다.
처음에는 1~2MB정도의 사이즈였지만, 시간이 흐르면서 데이터가 점점 커지고 있었다.

어느순간 Lambda가 Error를 뱉었다.

"RequestTooLargeException"

Payload Size가 크다는 Error였다.

큰 사이즈의 Payload를 Return하는 것이 문제이지만 당장 변경하기는 어려웠고..
해결방법을 찾아봐야했다.

Lambda Paylaod Limit

AWS Lambda의 Payload Size는 아래와 같이 제한되어있다.

  • sync lambda - 6MB
  • async lambda - 256KB

AWS 문서를 살펴보니, Payload size는 증가 요청을 할 수 없었다.
해당 API는 Sync Lambda였기 때문에 6MB제한을 받고 있는 상황이다.
앞서 말한 바와 같이 현재 json을 수정하기는 힘들었다.

AWS도 해결해주지 못하니 다른 방법이 필요했다.

gzip

사이즈를 줄이기 위해 압축을 해야겠다는 생각을 했다.
json을 압축하지 않고 원본 그대로를 보내고 있었기 때문에
어떻게 압축할지 고민하다가, server-side에서 gzip압축하던 기억으로
gzip으로 압축하여 전달했고, 6MB였던 data가 1MB근처로 줄어들었다.


당장의 문제는 해결했지만,
데이터를 받는쪽에서 gzip된 데이터를 unzip하는 과정이 추가되었다.

아래 내용을 살펴보고 적용 예정이다.

  • 중복되는 데이터 삭제
  • deprecated 데이터 삭제
profile
아는 만큼 보인다

0개의 댓글