AWS lambda에서 계층 추가 시 ‘Layers consume more than the available size of 262144000 bytes’ 오류가 뜰 경우 대처 방안

728x90

AWS Athena

AWS Athena에서 python 함수를 실행할 때 pandas 같은 기본 미지원 패키지를 추가하기 위해 계층(layer)를 추가할 때가 있는데 아래와 같이 메시지가 뜰 때가 있습니다.

원인은 말 그대로 계층 한계 용량 (약 262mb) 보다 많은 계층 용량을 적용하기 위해 발생합니다. 이럴 경우 아래 3가지 정도 대응 방안이 있습니다.

  1. 계층에 추가된 패키지 중 불필요하고, 용량 많이 잡아먹는 python 패키지를 처음부터 제외하기
  2. Python 버전 여러 개에 대응하도록 설정되어있다면 Lambda에서 실제 사용하는 python 버전만 사용
  3. 기존에 이미 추가된 Layer 중 불필요한 layer가 있는지 조회해서 삭제하기

저 같은 경우 2번 항목으로, lambda에서 실제 사용하는 python 버전에 맞게 패키지를 구성하니 불필요한 용량이 줄어들었습니다.

p.s

lambda 용량 한계는 250mb지만 임시 스토리지 용량은 10gb 까지 사용 가능하도록 변경되었습니다.

Ref:

Node.js - AWS Lambda 용량 줄이기(Layer를 사용하자)

Why is there a size difference when using the AWS Lambda layers vs AWS SAM deployment package

728x90