https://www.serverless.com/

Serverless Framework


나의 cloud 환경은 AWS 이며, Windows 환경에서 테스트 했다.

(현재 내 windows는 AWS CLI 설치가 완료되었고, npm도 설치되어 있음)

 

Serverless Framework 설정

# serverless framework 설치
npm install -g serverless

# 새로운 서버리스 프로젝트 생성
 serverless

 

serverless framework에 로그인하고 들어가보면,

위와 같이 생성되어 있음을 알 수 있다.

후에 deploy now의 질문에 yes로 대답하면..

이렇게 뜨는데 현재 내가 설정해둔 default region과 serverless에서 제공해주는 리전이 달라서 그러는 것 같다..

(현재는 테스트용이라 AWS 계정의 region을 us-east-1으로 변경할꺼고 나중에 프로젝트를 제대로 하려면 내가 원하는 리전으로 설정하는 방향으로 진행해야겠다.)

 

AWS 자격증명 설정

https://www.serverless.com/framework/docs/providers/aws/guide/credentials/

serverless-test user를 추가하자(IAM)

테스트니까 일단 Admin으로 박자.(프로덕션이나 중요한 프로젝트의 경우 권한을 자세히 설정하는게 좋다.)

 

 

Serverless Deploy

위와 같이 잘 실행됨을 알 수 있다..!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Test

serverless invoke -f hello

# 로그 호출 및 표시: 
serverless invoke -f hello -- log

serverless logs -f hello
 
# Tail logs
serverless logs -f hello --tail


# serverless 제거
serverless remove

 

serverless framework 기준

해당 serverless framework GUI 상에서 모니터링도 가능하다.

 

serverless remove를 사용하면 알아서 또 다 지워준다.

 


생성된 프로젝트를 까보면..

이런 느낌이고 사용자가 작성해야하는 파일의 경우 handler.js, serverless.yml 정도 인듯?

handler.js는 lambda에 들어가야할 함수고 (사용자 지정 함수 느낌)

serverless.yml의 경우 아래와 같이 생성되었다.

org: realyun99
app: test-nodejs-serverless
service: test-nodejs-serverless

frameworkVersion: '3'

provider:
  name: aws
  runtime: nodejs14.x

functions:
  hello:
    handler: handler.hello

 

 

위의 테스트 환경은 예제이고 직접 내가 템플릿을 만들어보고 사용자의 입장에서 무엇을 해야하는지 파악하려 한다.

 # 어떤 명령어 옵션이 있는지 확인
 serverless create --help
 
 serverless create --template aws-go --path "C:\Users\HP\test-go"

go언어의 템플릿으로 해당 경로에 test-go 폴더를 생성하고 넣어라의 느낌!

serverless.yml 안에 어떻게 AWS 환경 구성하고 싶은지 적는 것 같다... 아무래도...? ㅋㅋㅋㅋ

https://www.serverless.com/framework/docs/providers/aws/guide/serverless.yml


(serverless.yml)

  • AWS 인프라와 Serverless Framework로 배포할 Lambda 함수의 정보 및 설정을 담은 파일
  • CloudFormation의 문법 사용 가능
  • 다양한 Serverless Framework 플러그인 사용 가능
    • ex) 500개 리소스 제한인 CloudFormation 스택을 Nested Stack으로 만들어주는 플러그인

 

 

❗ 결론적으로 serverless.yml 파일이랑 lambda 함수에 들어갈 코드만 잘 작성하면 된다! serverless 파일이 관건일 듯! ❗

'Cloud' 카테고리의 다른 글

Cloud Service Providers  (0) 2021.05.08

+ Recent posts