Posts AWS EFS(Elastic File System) - 기초 개념
Post
Cancel

AWS EFS(Elastic File System) - 기초 개념

EFS (Elastic File System)


스토리지 용량이나 성능을 사전에 프로비저닝하거나 관리하지 않고도 파일 데이터를 공유할 수 있는 서버리스 파일 스토리지

  • 애플리케이션 중단 없이 페타바이트 단위까지 필요에 따라 확장되도록 설계되었으며, 파일을 추가하거나 삭제함에 따라 자동으로 커지고 줄어든다.
  • 단순한 웹 서비스 인터페이스를 제공하기 때문에 파일 시스템을 빠르고 쉽게 생성하고 구성할 수 있다.
  • 파일 스토리지 인프라 전체를 대신 관리해 주므로, 복잡한 파일 시스템 구성을 배포·패치·유지보수하는 부담을 줄일 수 있다.
  • NFS(Network File System) 버전 4 프로토콜(NFSv4.1, NFSv4.0)을 지원한다.
    • 따라서 애플리케이션과 도구들이 Amazon EFS를 로컬 디렉터리 쓰듯 사용할 수 있다.
  • Amazon EC2, Amazon ECS, Amazon EKS, AWS Lambda, AWS Fargate를 포함한 대부분의 AWS 컴퓨트 서비스에서 접근할 수 있다.

가용성·내구성 설계

높은 확장성, 높은 가용성, 높은 내구성을 갖도록 설계되었다.

Regional (권장)

  • Regional 파일 시스템은 같은 AWS 리전 내 여러 가용 영역(AZ)에 걸쳐 지리적으로 분산하여 데이터를 중복 저장한다.

One Zone

  • One Zone 파일 시스템은 단일 가용 영역(AZ) 안에 데이터를 저장한다.

성능 및 처리량

다양한 워크로드에 필요한 처리량, IOPS, 낮은 지연 시간을 제공한다.

General Purpose

  • 지연 시간에 민감한 애플리케이션(웹 서버, CMS, 홈 디렉터리 등)에 적합한 일반적인 성능 모드

Elastic

  • 워크로드 활동에 따라 처리량을 자동으로 확장·축소하는 처리량 모드

파일 접근 방식 및 보안

  • Amazon EFS는 여러 시스템이 동시에 파일에 접근하더라도, 일반적인 파일 시스템에서 기대되는 방식 그대로 안정적인 읽기·쓰기 환경을 제공한다.
  • 이를 통해 데이터는 항상 일관되게 유지되며, 파일 잠금 기능으로 동시 접근 시 충돌을 방지할 수 있다.
  • 리눅스 파일 시스템과 동일한 POSIX 권한 체계를 지원하여, 사용자와 그룹 단위로 파일 및 디렉터리에 대한 접근을 제어할 수 있다.
  • 파일 시스템을 보호하기 위해 저장 시 암호화전송 중 암호화, 두 가지 암호화 방식을 지원한다.
    • EFS 파일 시스템을 생성할 때 저장 시 암호화를 설정할 수 있다.
    • 이 옵션을 활성화하면 파일 데이터뿐 아니라 디렉터리 구조와 같은 모든 메타데이터까지 암호화되어 저장된다.
  • 파일 시스템을 마운트할 때 전송 중 암호화를 적용하여, 애플리케이션과 EFS 간의 통신을 안전하게 보호할 수 있다.
  • Amazon EFS에 대한 NFS 클라이언트 접근은 IAM 정책과 보안 그룹 같은 네트워크 보안 설정을 함께 사용하여 제어된다.
    • 즉, 네트워크 차원에서 접근이 허용되어야 하며, 동시에 해당 리소스에 EFS 접근 권한이 부여되어 있어야 실제 사용이 가능하다.

주요 기능


인증과 접근 제어

  • Amazon EFS 관리 콘솔을 사용하거나 파일 시스템 생성과 같은 EFS API를 호출하려면 유효한 인증 정보가 필요하다.
  • 또한 EFS 파일 시스템뿐 아니라, 이를 사용하는 다른 AWS 리소스에 대해서도 적절한 접근 권한이 함께 부여되어야 한다.
  • EFS 리소스를 생성하거나 접근할 수 있도록 명시적인 권한을 부여받아야 한다.
    • IAM User / IAM Role 기반 권한 모델
  • NFS 클라이언트에 대한 IAM 인증은 대규모 환경에서 NFS 접근 관리를 단순화하기 위해 IAM을 활용하는 추가적인 보안 옵션이다.
    • IAM 기반 NFS 인증을 사용하면 IAM을 통해 EFS 파일 시스템 접근을 확장성 있게 관리할 수 있다.
    • 즉, 인스턴스 수가 늘어나도 IP 규칙을 일일이 관리할 필요가 없다.

액세스 포인트


하나의 EFS 파일 시스템 안에서 애플리케이션별로 접근 경로를 분리해 주는 진입 지점

  • 액세스 포인트를 통해 이루어지는 모든 파일 시스템 요청에 대해 특정 사용자 IDPOSIX 그룹 정보를 강제로 적용할 수 있다.

사용자 ID 및 루트 디렉터리 강제

  • 여러 애플리케이션이 공유 데이터를 사용할 때 접근 관리를 쉽게 만들어 준다.
  • 파일 시스템의 루트 디렉터리를 별도로 지정할 수 있어, 클라이언트가 해당 디렉터리와 그 하위 경로에만 접근하도록 제한할 수 있다.

IAM 정책과 Access Point 조합

  • IAM 정책을 사용하면 특정 애플리케이션이 반드시 특정 액세스 포인트를 통해서만 EFS에 접근하도록 강제할 수 있다.
  • IAM 정책과 액세스 포인트를 함께 사용하면 애플리케이션별로 특정 데이터셋에 대한 안전한 접근 권한을 손쉽게 제공할 수 있다.

Access points와 Mount Target의 관계

  • 액세스 포인트를 사용하려면 먼저 VPC에 최소 하나 이상의 마운트 타깃이 생성되어 있어야 한다.
  • 마운트 타깃은 EFS 파일 시스템에 대한 네트워크 연결을 제공하고, 액세스 포인트는 접근 제어와 애플리케이션 전용 진입 지점을 제공한다.
  • 액세스 포인트는 연결된 마운트 타깃의 가용 영역(AZ) 배치를 그대로 따른다.
  • 보안 그룹은 액세스 포인트가 아니라 마운트 타깃 수준에서 적용된다.
    • 네트워크 접근 제어는 마운트 타깃 책임
    • Access Point는 권한/논리적 접근 제어 담당
  • 마운트 타깃이 존재하는 모든 가용 영역에서 액세스 포인트를 사용할 수 있다.
  • 액세스 포인트를 사용해 EFS를 마운트할 때는 EFS 전용 마운트 헬퍼를 사용합니다.

AccessedViaMountTarget

  • IAM 조건 키 elasticfilesystem:AccessedViaMountTarget를 사용하면 직접 마운트든 액세스 포인트를 통한 마운트든 상관없이, 반드시 마운트 타깃을 통해서만 EFS에 접근하도록 강제할 수 있다.

참고 자료


This post is licensed under CC BY 4.0 by the author.