AWS

[AWS] ERROR LOG가 찍히지 않는데 502 Internal server error가 뜰 때 - CloudWatch, Lambda, APIGateway

폭풍저그김탁구 2022. 8. 12. 14:35

서버로 request를 보내면 502 에러가 뜨는데 CloudWatch에서는 정상적으로 로그가 찍혀서 뭐가 문젤까 디버깅을 하는 중이었다.

 

우선 502 ERROR는 시간 초과 문제다. API Gateway 테스트로 찍어보면 request와 response의 헤더 전체를 볼 수 있으니 디버깅할 때 유용하게 쓸 수 있는데, 여기에서도 time out이 떴다.

 

이전까지만 해도 잘만 작동하던 함수가 이렇게 time out이 뜨는 이유가 뭘까... 며칠을 디버깅하며 보냈다.

동일한 API 스택에 있는 다른 함수는 잘 동작을 했고, 문제의 lambda 함수도 잘 동작을 했으니 각각이 문제는 아니라 생각했다. 그렇다면 API Gateway와 Lambda가 연결되는 과정에서 시간 초과가 난 건데. 이전까지는 시간 초과가 나지 않았으니 구조 자체의 문제도 아니라 생각했다.

 

나의 문제는 DB를 열고 안 닫아서였다..... 하... mysql pool을 만들고 end를 안 해줘서 시간이 초과된 것이었다.

무한루프나 연결 같이 종료를 기다려야 하는 부분이 있다면 그 곳의 코드를 먼저 확인해보자.