S erverless Framework Compose 시도

Serverless Frame Work에도 Docker가 말한 Docker Compose가 있습니다!
https://www.serverless.com/blog/serverless-framework-compose-multi-service-deployments
제가 실제로 참여한 프로젝트에서도 역할을 할 수 있을 것 같아서 해봤어요.

개요


ServerlessFramework Compose는 여러 ServerlessFramework에 기술된 서비스를 함께 디버깅할 수 있는 기능입니다.v3.15.0 이상 지원.
많은 디렉터리가 서비스별로 분류된다고 생각하지만 지금까지 함께 디버깅을 하려면 매번 디렉터리를 이동해야 한다serverless deploy.
이것은 Serverless Framework Compose에서 파일 하나만 만들면 디버깅과 삭제까지 통합할 수 있습니다.편리

사용법


다음은 손쉽게 시험해 볼 수 있는 창고 환경을 준비했다.
https://github.com/cohky16/poc/tree/master/sls/compose
가능한 한 환경을 오염시키고 싶지 않기 때문에 컨테이너 안에서 Serverless Framework를 작동시킨다.실제 운행을 원하시는 분들은 사용해 보세요.
다음은 이런 것들을 만드는 절차다.
  • Docker file 만들기
  • 기본적인 이미지가 적당하다.
  • v3.15.0을 설치합니다.
  • https://github.com/cohky16/poc/blob/master/sls/compose/Dockerfile
  • .env 만들기
  • AWS 인증 정보 입력
  • AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
  • AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION
  • AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
  • docker-compose.yml 만들기
  • docker compose up -d로 용기를 만들어 이동
  • docker compose exec serverless /bin/bash 용기에 들어가기
  • https://github.com/cohky16/poc/blob/master/sls/compose/docker-compose.yml
  • 서비스 -a 및 b 생성
  • serverless create --template aws-nodejs --path service-a
  • serverless create --template aws-nodejs --path service-b
  • 철저한 확인이기 때문에 템플릿을 직접 사용합니다.
  • serverless-compose.yml 만들기
  • path에 디버깅할 서비스의 경로를 삽입
  • https://github.com/cohky16/poc/blob/master/sls/compose/serverless-compose.yml

  • 실행serverless deploy

  • 설치하지 않은 경우@serverless/compose 설치 여부를 묻는 말에 설치
    ❯ serverless deploy
    
    Serverless Compose needs to be installed first. This is a one-time operation.
          ? Do you want to install Serverless Compose locally with "npm"? (Y/n)
    
  • AWS에서 리소스 개발 확인
  • serverless remove에서 제거
  • AWS에서 리소스 삭제 확인
  • 다음은 서버리스-compose입니다.yml의 토대 위에서 서비스 의존 관계를 더욱 상세하게 설정하는 방법도 썼다.
    https://www.serverless.com/framework/docs/guides/compose
    현재 다음 변수만 사용할 수 있으니 주의하세요.
  • ${sls:stage}
  • ${env:xxx}
  • self,opt,플러그인 등을 사용할 수 없습니다.

    총결산


    이렇게 간단하게 여러 서비스를 관리할 수 있어서 나는 매우 편리하다고 생각한다.
    Docker와 달리 명령이 변경되지 않으므로 가져오기 비용이 낮은 것도 중요합니다.
    Serverless Framework에서 여러 서비스 활용에 고생하는 분들은 서비스 도입을 연구해 봐도 될까요?

    좋은 웹페이지 즐겨찾기