My_Life/개발 노트
AWS Lambda에서 null 값이 리턴되는 현상
Yanoo
2022. 4. 29. 00:21
728x90
반응형
현재 시스템은
- API 요청을 보낸다.
- API GateWay가 AWS lambda로 요청을 보낸다.
- lambda가 응답을 보낸다.
- 그림에 표시하지는 않았지만 API Gateway는 컨트롤러(서비스)로 보낸다.
이 구조로 되어있다.
여기서 발생한 문제는 API를 요청했을 때, 가끔 null값이 리턴된다는 점이었는데 이 부분을 해결해야 했다.
처음 null 값이 리턴됐을 때, 서비스에서 보내는 값이라고 생각했는데, 확인해보니 아니었다 그래서
API Gateway나 lambda를 의심하게 되었는데, 결론을 말하면 lambda 설정 문제였다.
🎈 원인
lambda는 각 리전별로 동시에 수행할 수 있는 람다함수의 개수를 최대 1000개로 제한하고 있는데, request 수가 이를 넘게 되면, 람다가 수행되지 않는 문제점이 발생할 수 있다고 한다.
이유는 동시성 문제가 발생한다는 점이었는데, 만약 요청을 처리하는 와중에 다시 람다 함수가 호출이 된다면, 또 다른 컨테이너를 띄우기에 동시성이 증가하기 때문이다.
🎯 해결방법
예약된 동시성을 통해 동시성 개수를 늘린다.
람다 함수의 설정을 보면(사진 참조) Reserved concurrency 값을 늘립니다.
이렇게 하면, 동시 인스턴스 수를 보장해줍니다.
이렇게 해결하여 문제가 발생하지 않았고, 추후에 더 많은 요청이 발생하여 같은 문제가 발생한다면 reserved concurrency 값을 증가시킬 예정입니다.
728x90
반응형