The Boxer

Serverless Framework로 배포해보기 본문

Devops

Serverless Framework로 배포해보기

Prower 2022. 7. 6. 00:22
728x90
반응형
  • google cloud functions, azure functions, aws lambda... 이 서비스들은 serverless 컴퓨팅 서비스이다.
  • serverless: 직역하자면 서버가 없다는 의미가 된다.
  • 실제로는 서버가 없다는 의미보다는 개발자가 실질적으로 관리할 서버가 없는 개발 모델을 의미한다.
  • 실제로 서버는 존재하지만 추상화 되어있고, 개발자는 서버에 대한 관리, 프로비저닝, 스케일링 등의 작업을 신경쓰지 않아도 된다.

Serverless Framework

  • 위 serverless 서비스를 구성하고 운영하다 보면 배포한 함수에 대한 관리, 환경 설정을 매번 해줄 필요가 있다.
  • 이를 좀 더 편하게 사용하기 위해서 만든 것이 serverless framework며, 단순한 yaml파일 만으로도 serverless 구성이 가능해진다.

배포해보기

  • aws lambda를 통해 serverless 서비스를 배포해본다.

설치

npm install -g serverless
​
sls --version

IAM 설정

  • aws lambda에 배포를 해볼 것이므로 aws IAM에서 access key로 접근할 수 있는 사용자를 생성
serverless config credentials --provider aws --key {액세스 키 ID} --secret {비밀 액세스 키}

프로젝트 생성

  • sls 명령어로 손쉽게 프로젝트를 생성할 수 있는 template을 확인할 수 있다.
  • python으로 생성시 serving될 함수가 정의된 python 파일과 serverless.yml 파일이 생성된다.

serverless.yml

  • 배포될 프로젝트에 대한 설정 파일
  • python으로 생성을 했다면, python 파일은 실제 실행될 로직에 대해 기술되어 있으며, 배포 리전, 라우팅, 환경 등에 대한 설정은 serverless.yml 에서 담당한다.

테스트

  • 실제 배포하고 지정된 url을 획득하여 테스트하는 방식이 아닌 로컬에서 함수를 테스트 해 볼 수 있다.
serverless invoke local --function {실행될 function}
  • 실행될 function에 대한 설정은 serverless.yml 파일에 지정되어 있다.

배포

  • aws lambda로 프로젝트를 배포한다.
sls deploy

 

ref

728x90
반응형

'Devops' 카테고리의 다른 글

AWS IAM  (0) 2023.04.27
AWS EC2 볼륨 연결  (0) 2023.04.26
cloudwatch log insight 사용법 간단 정리  (0) 2022.08.18
aws lambda 기본 개념  (0) 2022.08.09
cloudwatch alert  (0) 2022.08.07
Comments