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 S3 | Amazon EFS |
---|
최대 크기 | 10,240 MB | 함수당 5개 계층, 총 250MB | 탄력적 | 탄력적 |
지속성 | 임시 | 지속 | 지속 | 지속 |
콘텐츠 | 동적 | 정적 | 동적 | 동적 |
스토리지 유형 | 파일 시스템 | 아카이브 | 객체 | 파일 시스템 |
지원 작업 | 모든 파일 시스템 작업 | 불변 | 버전 관리 지원 원자적 작업 | 모든 파일 시스템 작업 |
가격 | Lambda에 포함 | Lambda에 포함 | 스토리지 + 요청 + 데이터 전송 | 스토리지 + 데이터 전송 + 처리량 |
공유/권한 | 함수만 | IAM | IAM | IAM + NFS |
Lambda에서의 상대적 데이터 접근 속도 | 가장 빠름 | 가장 빠름 | 빠름 | 매우 빠름 |
모든 호출에서 공유 | 아니오 | 예 | 예 | 예 |
4 스토리지 옵션 선택 가이드
- 임시 스토리지 (/tmp): 함수 실행 중 임시 파일이나 중간 결과를 저장할 때 사용합니다.
- Lambda 계층: 공통 코드, 라이브러리, 정적 자산을 여러 함수에서 공유할 때 유용합니다.
- Amazon S3: 대용량 데이터, 영구 저장이 필요한 객체, 버전 관리가 필요한 파일에 적합합니다.
- Amazon EFS: 여러 Lambda 함수나 다른 AWS 서비스와 파일 시스템을 공유해야 할 때 사용합니다.
5 결론
- AWS Lambda의 다양한 스토리지 옵션은 각기 다른 사용 사례에 최적화되어 있습니다.
- 애플리케이션의 요구사항, 성능 필요성, 비용 등을 고려하여 적절한 스토리지 옵션을 선택하는 것이 중요합니다.
- EFS 마운팅 기능을 활용하면 Lambda 함수에서 더욱 유연하게 파일 시스템을 활용할 수 있으며, 이는 복잡한 파일 처리 작업이 필요한 서버리스 애플리케이션 개발에 큰 도움이 될 것입니다.