

# Lambda 함수에 대한 파일 시스템 액세스 구성
<a name="configuration-filesystem"></a>

Amazon Elastic File System(Amazon EFS) 파일 시스템을 로컬 디렉터리에 마운트하도록 함수를 구성할 수 있습니다. Amazon EFS를 사용하면 함수 코드가 안전하고 높은 동시성으로 공유 리소스에 액세스하여 수정할 수 있습니다.

## 지원되는 리전
<a name="configuration-filesystem-supported-regions"></a>

Amazon EFS for Lambda는 아시아 태평양(뉴질랜드), 아시아 태평양(타이베이), 아시아 태평양(말레이시아), 멕시코(중부), 아시아 태평양(태국), 캐나다 서부(캘거리)를 제외한 모든 [상용 리전](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#region)에서 사용할 수 있습니다.

**Topics**
+ [지원되는 리전](#configuration-filesystem-supported-regions)
+ [실행 역할 및 사용자 권한](#configuration-filesystem-permissions)
+ [파일 시스템 및 액세스 포인트 구성](#configuration-filesystem-setup)
+ [파일 시스템에 연결(콘솔)](#configuration-filesystem-config)

## 실행 역할 및 사용자 권한
<a name="configuration-filesystem-permissions"></a>

파일 시스템에 사용자 구성 AWS Identity and Access Management(IAM) 정책이 없는 경우, EFS는 파일 시스템 탑재 대상을 사용하여 파일 시스템에 연결할 수 있는 모든 클라이언트에 대한 모든 액세스 권한을 부여하는 기본 정책을 사용합니다. 파일 시스템에 사용자 구성 IAM 정책이 있는 경우 함수의 실행 역할에 올바른 `elasticfilesystem` 권한이 있어야 합니다.

**실행 역할 권한**
+ **elasticfilesystem:ClientMount**
+ **elasticfilesystem:ClientWrite(읽기 전용 연결에는 필요하지 않음)**

이러한 권한은 **AmazonElasticFileSystemClientReadWriteAccess** 관리형 정책에 포함되어 있습니다. 또한 실행 역할에는 [파일 시스템의 VPC에 연결하는 데 필요한 권한](configuration-vpc.md#configuration-vpc-permissions)도 있어야 합니다.

파일 시스템을 구성할 때 Lambda는 권한을 사용하여 마운트 대상을 확인합니다. 파일 시스템에 연결되도록 함수를 구성하려면 사용자에게 다음 권한이 필요합니다.

**사용자 권한**
+ **elasticfilesystem:DescribeMountTargets**

## 파일 시스템 및 액세스 포인트 구성
<a name="configuration-filesystem-setup"></a>

함수가 연결되는 모든 가용 영역에 마운트 대상이 있는 Amazon EFS에서 파일 시스템을 생성합니다. 성능 및 복원력을 위해 최소 두 개의 가용 영역을 사용합니다. 예를 들어, 간단한 구성에서 별도의 가용 영역에 두 개의 프라이빗 서브넷이 있는 VPC를 가질 수 있습니다. 이 함수는 두 서브넷에 모두 연결되며 각 서브넷에서 마운트 대상을 사용할 수 있습니다. 함수와 마운트 대상에서 사용되는 보안 그룹에서 NFS 트래픽(포트 2049)을 허용하는지 확인합니다.

**참고**  
파일 시스템을 생성할 때 나중에 변경할 수 없는 성능 모드를 선택합니다. **범용** 모드는 지연 시간이 짧으며 **최대 I/O** 모드는 더 높은 최대 처리량과 IOPS를 지원합니다. 선택에 관한 도움말은 *Amazon Elastic File System 사용 설명서*의 [Amazon EFS 성능](https://docs.aws.amazon.com/efs/latest/ug/performance.html)을 참조하세요.

액세스 포인트는 함수의 각 인스턴스를 연결된 가용 영역에 대한 올바른 마운트 대상에 연결합니다. 최상의 성능을 위해 루트가 아닌 경로를 사용하여 액세스 포인트를 생성하고 각 디렉터리에서 생성되는 파일 수를 제한합니다. 다음 예제에서는 파일 시스템에 `my-function`라는 디렉터리를 생성하고 소유자 ID를 표준 디렉터리 권한(755)으로 1001로 설정합니다.

**Example 액세스 포인트 구성**  
+ **이름** – `files`
+ **사용자 ID** – `1001`
+ **그룹 ID** – `1001`
+ **경로** – `/my-function`
+ **권한** – `755`
+ **소유자 사용자 ID** – `1001`
+ **그룹 사용자 ID** – `1001`

함수가 액세스 포인트를 사용할 때 사용자 ID 1001이 지정되고, 디렉터리에 대한 전체 액세스 권한을 가집니다.

자세한 내용은 *Amazon Elastic File System 사용 설명서*의 다음 항목을 참조하세요.
+ [Amazon EFS를 위한 리소스 생성](https://docs.aws.amazon.com/efs/latest/ug/creating-using.html)
+ [사용자, 그룹 및 권한 작업](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs-nfs-permissions.html)

## 파일 시스템에 연결(콘솔)
<a name="configuration-filesystem-config"></a>

함수는 VPC의 로컬 네트워크를 통해 파일 시스템에 연결됩니다. 함수가 연결되는 서브넷은 파일 시스템의 마운트 지점을 포함하는 동일한 서브넷이거나 NFS 트래픽(포트 2049)을 파일 시스템으로 라우팅할 수 있는 동일한 가용 영역의 서브넷일 수 있습니다.

**참고**  
함수가 VPC에 아직 연결되어 있지 않은 경우 [Lambda 함수에 Amazon VPC의 리소스에 대한 액세스 권한 부여](configuration-vpc.md) 단원을 참조하세요.

**파일 시스템 액세스를 구성하려면**

1. Lambda 콘솔의 [함수 페이지](https://console.aws.amazon.com/lambda/home#/functions)를 엽니다.

1. 함수를 선택합니다.

1. **구성(Configuration)**을 선택한 다음 **파일 시스템(File systems)**을 선택합니다.

1. **파일 시스템**에서 **파일 시스템 추가**를 선택합니다.

1. 다음 속성을 구성합니다.
   + **EFS 파일 시스템** – 동일한 VPC에 있는 파일 시스템에 대한 액세스 포인트입니다.
   + **로컬 마운트 경로** - 파일 시스템이 Lambda 함수에서 마운트되는 위치로, `/mnt/`로 시작합니다.

**요금**  
Amazon EFS는 스토리지 및 처리량에 대해 요금을 청구하며, 요율은 스토리지 클래스에 따라 달라집니다. 자세한 내용은 [Amazon EFS 요금](https://aws.amazon.com/efs/pricing)을 참조하세요.  
Lambda는 VPC 간 데이터 전송에 대해 요금을 청구합니다. 이는 함수의 VPC가 파일 시스템이 있는 다른 VPC로 피어링된 경우에만 적용됩니다. 요금은 동일한 리전의 VPC 간 Amazon EC2 데이터 전송과 동일합니다. 자세한 내용은 [Lambda 요금](https://aws.amazon.com/lambda/pricing)을 참조하세요.