AWS Lambda's Self-Managed Code Storage Lifts the Account Quota, Not the Function Size Limit

InfoQ · 2026.08.02

AWS Lambda Self-Managed Code Storage란?

AWS Lambda가 Self-Managed Code Storage 기능을 출시하면서, Lambda 배포 패키지를 고객이 직접 소유한 S3 버킷에서 참조할 수 있게 됐다. 기존에는 Lambda가 내부적으로 관리하는 코드 스토리지에 배포 패키지가 업로드됐고, 리전당 총 코드 스토리지 쿼터가 75GB로 제한되어 있었다. 대규모 서비스나 다수의 Lambda 함수를 운영하는 팀에서는 이 한도에 도달해 배포 자체가 막히는 상황이 발생하기도 했다.

이번 기능 출시로 관리형 기본 한도는 75GB에서 300GB로 상향됐으며, Self-Managed Code Storage를 사용하면 리전 단위 쿼터 제한 자체가 제거된다. S3의 용량은 사실상 무제한이므로, 배포 패키지 규모가 큰 팀이나 수십~수백 개의 Lambda 함수를 운영하는 환경에서 실질적인 병목이 해소된다.

실무에서 어떻게 작동하는가?

Self-Managed Code Storage는 Lambda 함수가 배포 패키지를 직접 고객 소유의 S3 버킷 객체로 참조하도록 설정하는 방식이다. 기존 S3 기반 배포와 유사해 보이지만, Lambda 내부 스토리지를 거치지 않고 S3를 직접 소스로 삼는다는 점이 핵심 차이다.

aws lambda update-function-code \
  --function-name my-function \
  --s3-bucket my-deployment-bucket \
  --s3-key my-package.zip

주의할 점은 S3 객체를 교체하더라도 UpdateFunctionCode API 호출이 여전히 필요하다는 것이다. S3 버킷의 객체만 덮어쓴다고 Lambda가 자동으로 새 코드를 인식하지 않는다. 배포 파이프라인에서 S3 업로드 이후 UpdateFunctionCode 호출을 명시적으로 포함해야 하며, 이를 누락하면 이전 패키지로 계속 실행되는 문제가 생긴다.

또한 현재 Terraform AWS 프로바이더에서는 아직 지원되지 않는다. Terraform 기반 인프라 자동화를 사용하는 팀은 Enhancement Request가 반영될 때까지 AWS CLI나 SDK를 통해 수동으로 처리하거나, 별도 스크립트를 파이프라인에 추가해야 한다.

함수 크기 제한은 그대로다

이번 변경으로 오해하기 쉬운 부분이 있다. 리전 단위 코드 스토리지 쿼터가 제거됐다고 해서, 함수 단위의 패키지 크기 제한이 완화된 것은 아니다. 압축 파일 기준 50MB(직접 업로드), 압축 해제 기준 250MB 제한은 그대로 유지된다. 따라서 대용량 의존성을 가진 단일 함수의 크기 문제는 Lambda Layer 분리, 컨테이너 이미지 기반 배포 등 기존 방법으로 별도 해결해야 한다.

Self-Managed Code Storage는 함수 하나의 크기를 늘려주는 기능이 아니라, 계정 전체의 배포 패키지 누적 용량 문제를 해소하는 기능임을 명확히 이해하고 적용해야 한다.

정리

  • Self-Managed Code Storage로 리전당 코드 스토리지 쿼터가 제거되고, 관리형 기본 한도는 75GB → 300GB로 상향됐다.
  • S3 객체 교체 후에도 UpdateFunctionCode 호출은 필수이며, Terraform 프로바이더 지원은 아직 미지원이다.
  • 함수별 패키지 크기 제한(압축 50MB / 해제 250MB)은 변경되지 않았으므로 용도를 혼동하지 말아야 한다.
Source
InfoQ
원문 보기 →
← 목록으로 돌아가기