새로운 프로젝트를 하게 되었는데 저번 프로젝트에서 사용량이 적든 많든 ec2를 사용하게 되면 사용량이 없을 때도 돈을 내는 것이 약간 비효율적이라고 느껴졌다.
그래서 사용할 때만 실행되는 aws-lambda를 사용하는 서버리스 서버를 운영하기로 하였다.
사실 이 처음 설정은 나말고 여러 사람들이 잘 정리해두었다.
간단하게 설명하자면
npm install -g serverless
serverless config credentials --provider aws --key xxxxxxxxxxxxxx --secret xxxxxxxxxxxxxx
serverless create --template aws-nodejs --path 서비스 이름
handler.js와 serverless.yml 파일이 생성된다.
service: service name
provider:
name: aws
runtime: nodejs10.x
stage: dev
region: ap-northeast-2
functions:
hello:
handler: handler.hello
events:
- http:
path: hello
method: get
위의 region을 한국 지역인 ap-northeast-2로 지정해야 한다!!
필자의 경우 지역을 지정하지 않고 배포하여 s3는 미국 region이 되어 배포가 진행되지 않았었다.😂
serverless deploy --verpose
or
sls deploy
- npm i serverless-offline --save-v (개발용으로 설치)
- serverless.yml 파일 plugin에 serverless-offline 추가
- 명령어: serverless offline start
배포하게 되면 s3에 파일이 자동으로 저장되고 lambda로 들어가면 lambda가 생성되어 있을 것이다!