콘텐츠로 이동

Serverless Framework에서 prune plugin을 설정하는 방법

등록일

수정일

serverless-prune-plugin은 Serverless Framework로 배포할 때 오래된 AWS Lambda 함수 버전과 Lambda Layer 버전을 정리하는 데 사용하는 플러그인이다.

배포 시에만 사용하므로 보통 devDependency로 설치해도 충분하다.

Terminal window
npm install --save-dev serverless-prune-plugin
service: example-service
plugins:
- serverless-prune-plugin
custom:
prune:
automatic: true
number: 3
includeLayers: true
  • automatic
    • 배포 후 prune를 자동으로 실행한다.
  • number
    • 최신 몇 개 버전을 남길지 지정한다.
    • 3이면 방금 배포한 버전을 포함해 최신 3개만 남긴다.
  • includeLayers
    • Lambda Layer의 이전 버전도 같이 정리할지 결정한다.

플러그인을 설정한 뒤 sls deploy를 실행하면 배포 후 prune 플러그인이 동작한다.

Terminal window
Pruning of functions complete

필요하면 명령어로 직접 정리할 수도 있다.

Terminal window
sls prune -n 3 -c serverless.yaml
  • -c serverless.yaml은 사용할 Serverless 설정 파일을 지정하는 옵션이다.
custom:
prune:
automatic: true
number: 3

이 설정이면 배포할 때마다 최신 3개 버전만 남기고 오래된 버전을 정리한다.


  • number: 3은 최신 3개 버전을 남긴다는 뜻이다.
  • 방금 배포한 최신 버전도 이 개수에 포함된다.
  • Lambda Layer도 함께 관리 중이면 includeLayers: true 사용 여부를 같이 검토한다.