Lambda 함수에 대한 파일 시스템 액세스 구성
Amazon Elastic File System(Amazon EFS) 파일 시스템을 로컬 디렉터리에 마운트하도록 함수를 구성할 수 있습니다. Amazon EFS를 사용하면 함수 코드가 안전하고 높은 동시성으로 공유 리소스에 액세스하여 수정할 수 있습니다.
실행 역할 및 사용자 권한
파일 시스템에 사용자 구성 AWS Identity and Access Management(IAM) 정책이 없는 경우, EFS는 파일 시스템 탑재 대상을 사용하여 파일 시스템에 연결할 수 있는 모든 클라이언트에 대한 모든 액세스 권한을 부여하는 기본 정책을 사용합니다. 파일 시스템에 사용자 구성 IAM 정책이 있는 경우 함수의 실행 역할에 올바른 elasticfilesystem
권한이 있어야 합니다.
실행 역할 권한
-
elasticfilesystem:ClientMount
-
elasticfilesystem:ClientWrite(읽기 전용 연결에는 필요하지 않음)
이러한 권한은 AmazonElasticFileSystemClientReadWriteAccess 관리형 정책에 포함되어 있습니다. 또한 실행 역할에는 파일 시스템의 VPC에 연결하는 데 필요한 권한도 있어야 합니다.
파일 시스템을 구성할 때 Lambda는 권한을 사용하여 마운트 대상을 확인합니다. 파일 시스템에 연결되도록 함수를 구성하려면 사용자에게 다음 권한이 필요합니다.
사용자 권한
-
elasticfilesystem:DescribeMountTargets
파일 시스템 및 액세스 포인트 구성
함수가 연결되는 모든 가용 영역에 마운트 대상이 있는 Amazon EFS에서 파일 시스템을 생성합니다. 성능 및 복원력을 위해 최소 두 개의 가용 영역을 사용합니다. 예를 들어, 간단한 구성에서 별도의 가용 영역에 두 개의 프라이빗 서브넷이 있는 VPC를 가질 수 있습니다. 이 함수는 두 서브넷에 모두 연결되며 각 서브넷에서 마운트 대상을 사용할 수 있습니다. 함수와 마운트 대상에서 사용되는 보안 그룹에서 NFS 트래픽(포트 2049)을 허용하는지 확인합니다.
참고
파일 시스템을 생성할 때 나중에 변경할 수 없는 성능 모드를 선택합니다. 범용 모드는 지연 시간이 짧으며 최대 I/O 모드는 더 높은 최대 처리량과 IOPS를 지원합니다. 선택에 관한 도움말은 Amazon Elastic File System 사용 설명서의 Amazon EFS 성능을 참조하세요.
액세스 포인트는 함수의 각 인스턴스를 연결된 가용 영역에 대한 올바른 마운트 대상에 연결합니다. 최상의 성능을 위해 루트가 아닌 경로를 사용하여 액세스 포인트를 생성하고 각 디렉터리에서 생성되는 파일 수를 제한합니다. 다음 예제에서는 파일 시스템에 my-function
라는 디렉터리를 생성하고 소유자 ID를 표준 디렉터리 권한(755)으로 1001로 설정합니다.
예 액세스 포인트 구성
-
이름 –
files
-
사용자 ID –
1001
-
그룹 ID –
1001
-
경로 –
/my-function
-
권한 –
755
-
소유자 사용자 ID –
1001
-
그룹 사용자 ID –
1001
함수가 액세스 포인트를 사용할 때 사용자 ID 1001이 지정되고, 디렉터리에 대한 전체 액세스 권한을 가집니다.
자세한 내용은 Amazon Elastic File System 사용 설명서의 다음 항목을 참조하세요.
파일 시스템에 연결(콘솔)
함수는 VPC의 로컬 네트워크를 통해 파일 시스템에 연결됩니다. 함수가 연결되는 서브넷은 파일 시스템의 마운트 지점을 포함하는 동일한 서브넷이거나 NFS 트래픽(포트 2049)을 파일 시스템으로 라우팅할 수 있는 동일한 가용 영역의 서브넷일 수 있습니다.
참고
함수가 VPC에 아직 연결되어 있지 않은 경우 Lambda 함수에 Amazon VPC의 리소스에 대한 액세스 권한 부여 단원을 참조하세요.
파일 시스템 액세스를 구성하려면
Lambda 콘솔의 함수 페이지
를 엽니다. -
함수를 선택합니다.
-
구성(Configuration)을 선택한 다음 파일 시스템(File systems)을 선택합니다.
-
파일 시스템에서 파일 시스템 추가를 선택합니다.
-
다음 속성을 구성합니다.
-
EFS 파일 시스템 – 동일한 VPC에 있는 파일 시스템에 대한 액세스 포인트입니다.
-
로컬 마운트 경로 - 파일 시스템이 Lambda 함수에서 마운트되는 위치로,
/mnt/
로 시작합니다.
-
요금
Amazon EFS는 스토리지 및 처리량에 대해 요금을 청구하며, 요율은 스토리지 클래스에 따라 달라집니다. 자세한 내용은 Amazon EFS 요금
Lambda는 VPC 간 데이터 전송에 대해 요금을 청구합니다. 이는 함수의 VPC가 파일 시스템이 있는 다른 VPC로 피어링된 경우에만 적용됩니다. 요금은 동일한 리전의 VPC 간 Amazon EC2 데이터 전송과 동일합니다. 자세한 내용은 Lambda 요금