Lambda 함수용 임시 스토리지 구성하기
Lambda 함수용 임시 스토리지 구성하기 (Configure ephemeral storage for Lambda functions)
Lambda는 함수용 임시 스토리지를 /tmp 디렉터리에 제공해요. 이 스토리지는 일시적이며 각 실행 환경에 고유해요. Ephemeral storage 설정으로 함수에 할당되는 임시 스토리지 용량을 제어할 수 있어요. 임시 스토리지는 512MB에서 10,240MB까지 1MB 단위로 구성할 수 있어요. /tmp에 저장된 모든 데이터는 AWS가 관리하는 키로 미사용 시 암호화(encryption at rest)돼요.
이 페이지에서는 일반적인 사용 사례와 Lambda 함수의 임시 스토리지를 업데이트하는 방법을 설명해요.
섹션
- 임시 스토리지 증가의 일반적 사용 사례
- 임시 스토리지 구성하기(콘솔)
- 임시 스토리지 구성하기(AWS CLI)
- 임시 스토리지 구성하기(AWS SAM)
본문
임시 스토리지 증가의 일반적 사용 사례
임시 스토리지를 늘리면 도움이 되는 일반적인 사용 사례가 몇 가지 있어요.
- ETL(추출-변환-적재) 작업 — 코드가 처리 완료를 위해 중간 계산을 수행하거나 다른 리소스를 다운로드할 때 임시 스토리지를 늘려요. 임시 공간이 많을수록 더 복잡한 ETL 작업을 Lambda 함수에서 실행할 수 있어요.
- ML(머신러닝) 추론 — 많은 추론 작업은 라이브러리와 모델을 포함한 대용량 참조 데이터 파일에 의존해요. 임시 스토리지가 많으면 Amazon Simple Storage Service(Amazon S3)에서 더 큰 모델을
/tmp로 다운로드하고 처리에 사용할 수 있어요. - 데이터 처리 — S3 이벤트에 응답하여 Amazon S3에서 객체를 다운로드하는 워크로드의 경우,
/tmp공간이 많을수록 인메모리 처리 없이 더 큰 객체를 다룰 수 있어요. PDF를 만들거나 미디어를 처리하는 워크로드도 임시 스토리지 증가의 혜택을 받아요. - 그래픽 처리 — 이미지 처리는 Lambda 기반 애플리케이션의 흔한 사용 사례예요. 큰 TIFF 파일이나 위성 이미지를 처리하는 워크로드의 경우 임시 스토리지가 많을수록 Lambda에서 라이브러리를 사용하고 계산을 수행하기 쉬워져요.
임시 스토리지 구성하기 (콘솔)
Lambda 콘솔에서 임시 스토리지를 구성할 수 있어요.
함수용 임시 스토리지를 수정하려면
- Lambda 콘솔의 Functions 페이지를 열어요.
- 함수를 선택해요.
- Configuration 탭을 선택한 다음 General configuration을 선택해요.
- General configuration에서 Edit을 선택해요.
- Ephemeral storage에서 512MB에서 10,240MB 사이의 값을 1MB 단위로 설정해요.
- Save를 선택해요.
임시 스토리지 구성하기 (AWS CLI)
update-function-configuration 명령으로 임시 스토리지를 구성할 수 있어요.
예시
aws lambda update-function-configuration \
--function-name my-function \
--ephemeral-storage '{"Size": 1024}'
임시 스토리지 구성하기 (AWS SAM)
AWS Serverless Application Model로 함수의 임시 스토리지를 구성할 수 있어요. template.yaml 파일에서 EphemeralStorage 속성을 업데이트한 다음 sam deploy를 실행해요.
예시 template.yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: An AWS Serverless Application Model template describing your function.
Resources:
my-function:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Description: ''
MemorySize: 128
Timeout: 120
Handler: index.handler
Runtime: nodejs22.x
Architectures:
- x86_64
EphemeralStorage:
Size: 10240
# Other function properties...