서버로 request를 보내면 502 에러가 뜨는데 CloudWatch에서는 정상적으로 로그가 찍혀서 뭐가 문젤까 디버깅을 하는 중이었다.
우선 502 ERROR는 시간 초과 문제다. API Gateway 테스트로 찍어보면 request와 response의 헤더 전체를 볼 수 있으니 디버깅할 때 유용하게 쓸 수 있는데, 여기에서도 time out이 떴다.
이전까지만 해도 잘만 작동하던 함수가 이렇게 time out이 뜨는 이유가 뭘까... 며칠을 디버깅하며 보냈다.
동일한 API 스택에 있는 다른 함수는 잘 동작을 했고, 문제의 lambda 함수도 잘 동작을 했으니 각각이 문제는 아니라 생각했다. 그렇다면 API Gateway와 Lambda가 연결되는 과정에서 시간 초과가 난 건데. 이전까지는 시간 초과가 나지 않았으니 구조 자체의 문제도 아니라 생각했다.
나의 문제는 DB를 열고 안 닫아서였다..... 하... mysql pool을 만들고 end를 안 해줘서 시간이 초과된 것이었다.
무한루프나 연결 같이 종료를 기다려야 하는 부분이 있다면 그 곳의 코드를 먼저 확인해보자.
'AWS' 카테고리의 다른 글
[Redis] 전송 중 데이터 암호화가 활성화된 레디스 연결 시 에러 - jemalloc/jemalloc.h, openssl/ssl.h (0) | 2022.09.19 |
---|---|
[Serverless] WARNING: Could not determine version of module ~ 문제 (0) | 2022.08.17 |
[AWS] Lambda로 CloudFront 무효화 기록 - S3 트리거, 와일드카드 (0) | 2022.08.04 |
[AWS] 이미지 업로드/읽기 속도 향상기 - Signed URL, Lambda@Edge, Cloud Front (0) | 2022.07.26 |
[AWS] Access denied for user 'id'@'ip' (using password: YES)" 해결 방법 (0) | 2022.04.17 |