Amazon EFS 파일 시스템 접근 구성

Amazon EFS 파일 시스템 접근 구성

함수가 Amazon Elastic File System(Amazon EFS) 파일 시스템을 로컬 디렉터리에 마운트하도록 구성할 수 있습니다. Amazon EFS는 워크로드에 맞춰 자동으로 확장되는 서버리스 파일 시스템입니다. Amazon EFS를 사용하면 함수 코드가 공유 리소스를 안전하게, 높은 동시성으로 접근·수정할 수 있습니다.

출처: AWS Lambda 개발자 안내서

본문

이 페이지의 내용:

  • 실행 역할과 사용자 권한
  • 파일 시스템과 접근 지점(access point) 구성
  • 파일 시스템 연결(콘솔)
  • 지원 리전

실행 역할과 사용자 권한

파일 시스템에 사용자가 구성한 AWS Identity and Access Management(IAM) 정책이 없다면, EFS는 파일 시스템 마운트 대상을 사용해 연결할 수 있는 모든 클라이언트에 전체 접근을 부여하는 기본 정책을 사용합니다. 파일 시스템에 사용자가 구성한 IAM 정책이 있다면 함수의 실행 역할에 올바른 elasticfilesystem 권한이 있어야 합니다.

  • elasticfilesystem:ClientMount
  • elasticfilesystem:ClientWrite (읽기 전용 연결에는 필요 없음)

이 권한들은 AmazonElasticFileSystemClientReadWriteAccess 관리형 정책에 포함되어 있습니다. 또한 실행 역할에는 파일 시스템의 VPC에 연결하는 데 필요한 권한이 있어야 합니다.

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

  • elasticfilesystem:DescribeMountTargets

파일 시스템과 접근 지점 구성

함수가 연결하는 **모든 가용 영역(Availability Zone)**에 마운트 대상이 있는 Amazon EFS 파일 시스템을 만드세요. 성능과 복원력을 위해 가용 영역을 최소 두 개 사용하세요. 예를 들어 단순한 구성에서는 서로 다른 가용 영역의 두 프라이빗 서브넷이 있는 VPC를 가질 수 있습니다. 함수는 두 서브넷 모두에 연결하고 각각에 마운트 대상이 제공됩니다. 함수와 마운트 대상이 사용하는 보안 그룹이 NFS 트래픽(포트 2049)을 허용하는지 확인하세요.

파일 시스템을 만들 때는 나중에 바꿀 수 없는 성능 모드를 선택합니다. General purpose 모드는 대기 시간이 더 낮고, Max I/O 모드는 더 높은 최대 처리량과 IOPS를 지원합니다. 선택에 도움이 필요하면 Amazon Elastic File System User Guide의 'Amazon EFS performance'를 참고하세요.

접근 지점(access point)은 함수의 각 인스턴스를 연결하는 가용 영역의 올바른 마운트 대상에 연결합니다. 최상의 성능을 위해 비루트(non-root) 경로로 접근 지점을 만들고 각 디렉터리에 만드는 파일 수를 제한하세요. 다음 예제는 파일 시스템에 my-function 디렉터리를 만들고 표준 디렉터리 권한(755)으로 소유자 ID를 1001로 설정합니다.

  • Name – files
  • User ID – 1001
  • Group ID – 1001
  • Path – /my-function
  • Permissions – 755
  • Owner user ID – 1001
  • Group user ID – 1001

함수가 접근 지점을 사용하면 사용자 ID 1001이 부여되고 디렉터리에 대한 전체 접근 권한을 가집니다.

자세한 내용은 Amazon Elastic File System User Guide의 다음 주제를 참고하세요.

  • Amazon EFS 리소스 생성
  • 사용자, 그룹, 권한 작업

파일 시스템 연결(콘솔)

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

함수가 아직 VPC에 연결되어 있지 않다면 'Lambda 함수에 Amazon VPC의 리소스 접근 부여' 문서를 참고하세요.

  1. Lambda 콘솔의 Functions 페이지를 엽니다.
  2. 함수를 선택합니다.
  3. Configuration을 선택한 뒤 File systems을 선택합니다.
  4. File system 아래에서 Add file system을 선택합니다.
  5. EFS를 선택합니다.
  6. 다음 속성을 구성합니다.
    • EFS file system – 같은 VPC에 있는 파일 시스템의 접근 지점입니다.
    • Local mount path – 파일 시스템이 Lambda 함수에 마운트되는 위치로, /mnt/로 시작합니다.

Amazon EFS는 스토리지 클래스에 따라 요율이 다른 스토리지와 처리량 비용을 청구합니다. 자세한 내용은 Amazon EFS pricing을 참고하세요.

Lambda는 VPC 간 데이터 전송에 대해 비용을 청구합니다. 이는 함수의 VPC가 파일 시스템이 있는 다른 VPC와 피어링된 경우에만 적용됩니다. 요율은 같은 리전의 VPC 간 Amazon EC2 데이터 전송과 동일합니다. 자세한 내용은 Lambda pricing을 참고하세요.

지원 리전

Lambda용 Amazon EFS는 Asia Pacific (New Zealand), Asia Pacific (Taipei), Asia Pacific (Malaysia), Asia Pacific (Thailand), Canada West (Calgary)를 제외한 모든 상용 리전에서 사용할 수 있습니다.

더 알아보기 (Learn more)