Serverless Framework Full Tutorial | Deploy AWS Lambda Step-by-Step for Beginners
- 서버리스 프레임워크는 개발자가 코드 작성에만 집중하고, 서버 관리, 스케일링, 요청 처리는 AWS 람다와 같은 서버리스 아키텍처가 자동으로 처리하는 개념입니다. ☁️
- 이는 사용한 만큼만 비용을 지불하는 매우 비용 효율적인 방식이며, AWS는 매월 100만 건의 무료 요청을 제공합니다. 💰
- Express.js를 사용하여 API를 구축하고 이를 서버리스 아키텍처에 배포하는 과정을 다룹니다. 🚀
- 서버리스 프레임워크 설치는
npm install -g serverless 명령어를 통해 전역으로 설치하며, serverless 명령어로 설치 여부를 확인할 수 있습니다. 🛠️
serverless 명령어를 사용하여 Express.js 템플릿으로 새 프로젝트를 생성하고, 프로젝트 이름(예: express-serverless)을 지정합니다. 📁
serverless.yml 파일은 서비스 이름, 클라우드 제공자(AWS), 함수 정의(핸들러 파일 경로, 이벤트 트리거) 등 서버리스 애플리케이션의 핵심 설정을 포함합니다. ⚙️
- 함수 이벤트에서
path: /{proxy+} 대신 특정 경로(예: /, /hello)를 지정하여 불필요한 람다 호출을 줄이고 비용을 절감할 수 있습니다. ✨
- 로컬 환경에서 API를 테스트하기 위해
serverless-offline 플러그인을 사용하며, npm install --save-dev serverless-offline으로 설치 후 serverless.yml에 추가합니다. 🧪
sls offline 명령어로 로컬 서버를 실행할 수 있으며, 기본 포트 3000번을 custom.serverless-offline.httpPort 설정을 통해 변경할 수 있습니다. 🖥️
- AWS에 배포하려면 AWS 계정이 필요하며, 신규 계정에는 $100 상당의 크레딧이 제공될 수 있습니다. 💳
- 보안을 위해 루트 사용자 대신 IAM 사용자를 생성하고, 필요한 권한(예:
AdministratorAccess 또는 최소 권한)을 부여한 후 액세스 키와 시크릿 키를 발급받아야 합니다. 🔒
- 발급받은 AWS 자격 증명은
aws configure 명령어나 환경 변수를 통해 로컬에 설정합니다. 🔑
- 모든 설정이 완료되면
sls deploy 명령어를 사용하여 서버리스 애플리케이션을 AWS 람다에 배포할 수 있습니다. 📤