본문 바로가기
공부/프로그래밍

[aws, lambda@edge] cloundfront 이미지 리사이즈 기능 사용중 오류(503 에러)

by demonic_ 2022. 5. 6.
반응형

S3에 있는 원본 이미지를 lambda@edge를 이용 resize해서 화면에 보여주고 있었다. 그런데 다음과 같은 에러가 발생했다.

 

처음에는 Cloudfront에서 타임아웃이 걸려있는 줄 알고 살펴봤는데 아니었다. 그래서 cloudwatch에 저장되어 있는 로그를 이것저것 살펴보니 Lambda 쪽 로그그룹에 Timeout 3초 에러가 발생하고 있었다. lambda 에서 timeout 에러가 발생했고 그게 503 에러로 이어진것 같다. 즉 CloudFront에서 발생한 에러가 아니라 lambda의 에러가 전이된 것이다.

 

(스샷이 없어서 죄송합니다) 확인해보니 lambda의 기본값으로 설정할 경우 제한시간을 3초로 한다. 그래서 이번에 설정을 30초로, 그리고 메모리 사용량을 128MB(기본값) => 256MB로 변경했다.

 

참고로 시간을 60초로 하면 lambda에서는 설정이 가능하지만 Cloudfront와 연결할때 최대 30초로 할 수 있다면서 에러가 발생한다. 해서 여기서도 제한시간을 30초로 두었다.

 

수정후에는 반드시 배포를 해야한다. 배포하지 않고 한참 기다렸다가 왜 적용 안되지? 하고 삽질했다.

 

배포할때는 새로운 CloudFront 로 하지 말고 이 함수에 기존 CloudFront로 연결하자.

 

이제 다시 시도를 해보니 잘 된다. 로그를 확인해보니 1.8초 정도 걸리는데 보아하니 메모리가 부족해서 시간이 오래걸린거 아닌가 싶다.

 

 

끝.

반응형

댓글