The Boxer
Serverless Framework로 배포해보기 본문
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