Nest.js Serverless Deploy


• Nest.js 애플리케이션을 생성하고, Serverless 프레임워크를 이용하여 AWS Lambda에 배포하고 API Gateway를 통해 접근하는 API를 생성하는 방법을 설명한다.
• Lambda에서 실행할 진입점이 되는 handler 함수를 작성하고, serverless 관련 설정 파일인 `serverless.yaml`을 생성하며, Typescript 설정을 진행한다.
• Nest.js 애플리케이션 설정에서 'incremental'이 false로 설정되었고, 'allowJs'와 'esModuleInterop' 설정이 true로 추가되었다. 'incremental'은 마지막 컴파일에 프로젝트 정보를 캐싱하여 효율성을 높이지만, 반복적인 배포 과정에서 오류가 발생할 수 있다. 'esModuleInterop'은 CommonJS 모듈을 가져올 수 있게 하고, 'allowJs'는 자바스크립트 파일을 가져올 수 있게 한다.
• AWS IAM 설정에서 필요한 권한들에 대한 설정이 필요하며, 이번 예제에서는 필요한 서비스들에 대해 full access를 추가하였다. 그리고 애플리케이션을 빌드하고 배포하는 과정에서 node_modules를 제외하지 않으면 전체 코드 용량이 커져 Lambda 배포가 불가능하다. 이를 해결하기 위해 devDependencies를 제외한 패키지만 다시 설치하였다.

북마크
공유하기
신고하기