제한 초과 시 AWS Lambda 코드 스토리지를 확보하는 방법

4609 단어 serverlessawsnode
GitHub에서 다음open-source tool을 사용합니다.

이미 몇 달 동안 AWS Lambda를 실행하고 있는데 갑자기 다음 오류가 발생합니다.

오류가 발생했습니다. TestDashdeliveryLambdaFunction – 코드 저장 한도를 초과했습니다. (서비스: AWSLambda; 상태 코드: 400; 오류 코드: CodeStorageExceededException; 요청 ID: 05d3ae68-e7f6-11e8-948e-41c27396380e).

왜 그런 일이 일어나고 있습니까?



AWS는 Lambda 기능을 위해 내부 S3에 저장하는 "코드 스토리지"의 양을 최대 75GB로 제한합니다.

많은 공간처럼 들리지만 저장 한도를 쉽게 초과할 수 있습니다. Serverless Framework를 사용하는 경우 기본값은 모든 배포에 대한 버전을 저장하는 것입니다. 또한 사용 중인 프로그래밍 언어의 영향을 받습니다.

문제 해결



각 배포에 대한 버전을 저장할 필요가 없다면(우리 중 많은 사람처럼) serverless.yml 파일에 다음을 추가하여 쉽게 취소할 수 있습니다.

provider:
  name: aws
  runtime: nodejs14.x
  versionFunctions: false
  region: ${opt:region, 'us-east-1'}
  stage: ${opt:stage, 'dev'}


versionFunctions: false 매개변수를 추가하면 버전 저장이 취소됩니다.

clear-lambda-storage: 이전 버전 자동 정리



이전 버전을 유지하려는 경우(예: 빠르게 롤백할 수 있도록) 이전 버전을 수동으로 정리해야 합니다. 이번에는 클리어 람다 스토리지입니다. 간단하게 들리겠지만 모든 Lambda 함수와 모든 리전에서 이전 버전과 사용되지 않은 버전(즉, 현재 배포되지 않았거나 $LATEST가 아님)을 제거합니다. 실행하는 것은 매우 간단합니다.

git clone https://github.com/khanhcd92/clear-lambda-storage-nodejs.git
cd clear-lambda-storage-nodejs/
npm i
node index.js 


고급 사용법



자격 증명 제공:

node index.js --access-key <access_key_id> --secret-key <secret_access_key> --num-to-keep <number>


한 지역에 자격 증명을 제공합니다.

node index.js --access-key <access_key_id> --secret-key <secret_access_key> --num-to-keep <number> --regions <region_code>


프로필 제공:

node index.js --profile <profile_id> --num-to-keep <number>


한 지역의 프로필 제공:

node index.js --profile <profile_id> --num-to-keep <number> --regions <region_code>

좋은 웹페이지 즐겨찾기