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)

출처: AWS Lambda 개발자 안내서

본문

임시 스토리지 증가의 일반적 사용 사례

임시 스토리지를 늘리면 도움이 되는 일반적인 사용 사례가 몇 가지 있어요.

  • ETL(추출-변환-적재) 작업 — 코드가 처리 완료를 위해 중간 계산을 수행하거나 다른 리소스를 다운로드할 때 임시 스토리지를 늘려요. 임시 공간이 많을수록 더 복잡한 ETL 작업을 Lambda 함수에서 실행할 수 있어요.
  • ML(머신러닝) 추론 — 많은 추론 작업은 라이브러리와 모델을 포함한 대용량 참조 데이터 파일에 의존해요. 임시 스토리지가 많으면 Amazon Simple Storage Service(Amazon S3)에서 더 큰 모델을 /tmp로 다운로드하고 처리에 사용할 수 있어요.
  • 데이터 처리 — S3 이벤트에 응답하여 Amazon S3에서 객체를 다운로드하는 워크로드의 경우, /tmp 공간이 많을수록 인메모리 처리 없이 더 큰 객체를 다룰 수 있어요. PDF를 만들거나 미디어를 처리하는 워크로드도 임시 스토리지 증가의 혜택을 받아요.
  • 그래픽 처리 — 이미지 처리는 Lambda 기반 애플리케이션의 흔한 사용 사례예요. 큰 TIFF 파일이나 위성 이미지를 처리하는 워크로드의 경우 임시 스토리지가 많을수록 Lambda에서 라이브러리를 사용하고 계산을 수행하기 쉬워져요.

임시 스토리지 구성하기 (콘솔)

Lambda 콘솔에서 임시 스토리지를 구성할 수 있어요.

함수용 임시 스토리지를 수정하려면

  1. Lambda 콘솔의 Functions 페이지를 열어요.
  2. 함수를 선택해요.
  3. Configuration 탭을 선택한 다음 General configuration을 선택해요.
  4. General configuration에서 Edit을 선택해요.
  5. Ephemeral storage에서 512MB에서 10,240MB 사이의 값을 1MB 단위로 설정해요.
  6. 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...

더 알아보기 (Learn more)