Create IAM User
Using AWS CLI
다음과 같은 AWS CLI 를 확인하여 Administrators 유저 그룹을 만들고 루트 계정을 생성한다.
1 | brew install aws # install aws cli |
Create Lambda function
함수의 확인
1 | aws lambda list-functions |
Serverless Application Management(SAM)
Lambda Function 을 작성하고 배포하는 일련의 과정을 위해서 SAM 을 사용한다.
1 | brew install aws-sam-cli # install SAM |
local test
아래 함수를 실행하면 로컬의 3000번 포트에서 lambda 함수들이 동작된다.
1 | sam local start-api |
create package
람다함수가 클라우드 환경에서 실행되기 위해서는 S3 버킷에 배포되어야 하고 이를 위해 package 화를 시켜야 한다.
1 | sam package \ |
위 명령어를 실행하면 sam-app/hello_world 디렉토리를 압축하여 .zip 파일을 만들고 amazon s3 에 업로드 한다. 여기서 새롭게 생긴 packaged.yaml
파일은 template.yaml
파일과 동일한 내용을 가지지만 차이가 있다면, packaged.yaml
파일의 경우 codeUri 가 실제 클라우드 uri 를 가진다는 것이다.
Deploy AWS lambda
패키지화를 다 시키고 s3 를 업데이트 했다면 lambda 함수를 배포할 차례이다.
1 | sam deploy \ |
npm serverless
SAM 이 아니라 serverless 는 npm 패키지로 좀 더 쉽다.
아래와 같이 설치하고
1 | npm install -g serverless # install serverless |
serverless.yaml
1 | service: my-app |
handler.js
1 | module.exports.run = (event, context, callback)=>{ |
deploy
1 | sls deploy # deploy project |
invoke
1 | sls invoke --function helloWorld --log |