본문으로 건너뛰기

1 AWS Lambda의 스토리지

  • AWS Lambda는 서버리스 컴퓨팅 서비스로, 다양한 파일 시스템 및 스토리지 옵션을 제공합니다.
  • 이번 글에서는 Lambda의 EFS 파일 시스템 마운팅 기능과 여러 스토리지 옵션에 대해 자세히 알아보겠습니다.

2 Lambda의 파일 시스템 마운팅

  • Lambda 함수는 VPC 내에서 실행될 때 EFS(Elastic File System) 파일 시스템에 접근할 수 있습니다.
  • 초기화 과정에서 EFS 파일 시스템을 로컬 디렉토리에 마운트하도록 Lambda를 구성할 수 있습니다.
  • EFS 액세스 포인트를 활용해야 합니다.
  • 주의할 점: EFS 연결 제한(함수 인스턴스 하나당 연결 하나)과 연결 버스트 제한에 유의해야 합니다.

2.1 EFS 마운팅 구조

  • VPC 내에 Lambda 함수가 위치합니다.
  • VPC는 여러 가용 영역에 걸쳐 있으며, 각 가용 영역에는 프라이빗 서브넷이 있습니다.
  • EFS 액세스 포인트는 루트 경로("/")를 사용합니다.
  • EFS 파일 시스템은 모든 가용 영역의 Lambda 함수에서 접근 가능합니다.

3 Lambda의 스토리지 옵션

  • Lambda는 다양한 스토리지 옵션을 제공하며, 각각의 특성과 용도가 다릅니다.
  • 주요 옵션은 다음과 같습니다:
    • 임시 스토리지 (/tmp)
    • Lambda 계층
    • Amazon S3
    • Amazon EFS

3.1 스토리지 옵션 비교

특성임시 스토리지 (/tmp)Lambda 계층Amazon S3Amazon EFS
최대 크기10,240 MB함수당 5개 계층, 총 250MB탄력적탄력적
지속성임시지속지속지속
콘텐츠동적정적동적동적
스토리지 유형파일 시스템아카이브객체파일 시스템
지원 작업모든 파일 시스템 작업불변버전 관리 지원 원자적 작업모든 파일 시스템 작업
가격Lambda에 포함Lambda에 포함스토리지 + 요청 + 데이터 전송스토리지 + 데이터 전송 + 처리량
공유/권한함수만IAMIAMIAM + NFS
Lambda에서의 상대적 데이터 접근 속도가장 빠름가장 빠름빠름매우 빠름
모든 호출에서 공유아니오

4 스토리지 옵션 선택 가이드

  • 임시 스토리지 (/tmp): 함수 실행 중 임시 파일이나 중간 결과를 저장할 때 사용합니다.
  • Lambda 계층: 공통 코드, 라이브러리, 정적 자산을 여러 함수에서 공유할 때 유용합니다.
  • Amazon S3: 대용량 데이터, 영구 저장이 필요한 객체, 버전 관리가 필요한 파일에 적합합니다.
  • Amazon EFS: 여러 Lambda 함수나 다른 AWS 서비스와 파일 시스템을 공유해야 할 때 사용합니다.

5 결론

  • AWS Lambda의 다양한 스토리지 옵션은 각기 다른 사용 사례에 최적화되어 있습니다.
  • 애플리케이션의 요구사항, 성능 필요성, 비용 등을 고려하여 적절한 스토리지 옵션을 선택하는 것이 중요합니다.
  • EFS 마운팅 기능을 활용하면 Lambda 함수에서 더욱 유연하게 파일 시스템을 활용할 수 있으며, 이는 복잡한 파일 처리 작업이 필요한 서버리스 애플리케이션 개발에 큰 도움이 될 것입니다.