TL;DR – Use the following open-source tool on GitHub.

AWS Lambda Code Storage Limit Exceeded

You are already up and running with AWS Lambda for several months, and all of a sudden you get the following error: 

An error occurred: TestDashdeliveryLambdaFunction – Code storage limit exceeded. (Service: AWSLambda; Status Code: 400; Error Code: CodeStorageExceededException; Request ID: 05d3ae68-e7f6-11e8-948e-41c27396380e).

Why is it happening?

AWS limits the amount of “code storage” it saves on their internal S3 for Lambda functions of up to 75GB.

Although it sounds like a lot of space, you can easily exceed that storage limit. In case you’re using the Serverless Framework, its default is to store a version for every deployment you make. It’s also affected by the programming language you are using.

Solving the issue

If you don’t need to store a version for each deployment (like many of us), you can easily cancel it with the following addition to your serverless.yml file:

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

Adding the versionFunctions: false parameter will cancel the version storing.

clear-lambda-storage: auto-clean old versions

If you prefer to keep older versions (e.g. for being able to rollback quickly), you’ll need to manually clean old ones. Luckily, at Epsagon we love sharing open-source utilities (for example, spotting dead functions)! This time it’s the clear-lambda-storage. As simple as it sounds, it will take care of removing old and unused versions (i.e. that are neither currently deployed nor $LATEST) from every Lambda function, and from every region. Running it is very simple:

git clone
cd clear-lambda-storage/
pip install -r requirements.txt

It will output how many versions have been removed, from how many functions, and how many MBs were freed:

Deleted 9412 versions from 502 functions
Freed 42056 MBs

Did you find the tool useful? Feel free to request additional features, and contribute yourself.

Happy serverless-ing with these “How-To” guides:

Make AWS Lambda Faster: Memory Performance

How to Handle AWS Lambda Errors Like a Pro

How to Set Up AWS Lambda with SQS

Get Started with EFS File System Access for AWS Lambda

Troubleshooting AWS Lambda 101