본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Amazon Elastic File System; Amazon EFS; 아마존 EFS
NFS 프로토콜로 여러 리눅스 서버가 동시에 마운트해 공유하는, 용량을 미리 정하지 않는 서버리스 파일 스토리지

아마존 Elastic File System(아마존 EFS)은 AWS가 관리하는 NFS 파일 시스템이다. 파일을 추가하면 늘어나고 지우면 줄어들어 용량을 프로비저닝할 필요가 없고, 페타바이트 규모까지 커진다. NFSv4.0과 NFSv4.1을 지원하므로 기존 리눅스 애플리케이션을 고치지 않고 디렉터리 하나를 마운트해 쓴다. 아마존 EC2, 아마존 ECS, 아마존 EKS, AWS Lambda, AWS Fargate에서 접근할 수 있다.

웹 서버 여러 대가 같은 업로드 디렉터리를 봐야 하거나, 컨테이너가 재시작돼도 남아야 하는 공유 데이터, 콘텐츠 관리 시스템, 홈 디렉터리처럼 여러 컴퓨팅 자원이 같은 파일을 함께 읽고 쓰는 요구에 쓴다. 윈도우 기반 EC2 인스턴스에서는 EFS를 지원하지 않으므로, SMB 공유가 필요하면 아마존 FSx의 FSx for Windows File Server를 쓴다.

VPC의 세 가용 영역에 탑재 대상을 두고 EC2 인스턴스들이 함께 쓰는 리전 파일 시스템
항목 설명
프로토콜 NFSv4.0, NFSv4.1. 리눅스 전용(윈도우 EC2 미지원)
마운트 대상 VPC의 가용 영역마다 마운트 대상(mount target)을 만들고, 보안 그룹으로 NFS 접근을 통제한다. 같은 가용 영역의 마운트 대상을 쓰면 지연과 가용 영역 간 전송 비용이 줄어든다.
동시 접근 여러 가용 영역의 수많은 인스턴스가 동시에 마운트할 수 있다.
확장 저장 용량이 파일 추가·삭제에 따라 자동으로 늘고 준다. 쓴 만큼 요금을 낸다.
보안 IAM 정책, 보안 그룹, 액세스 포인트로 접근을 통제한다. 저장 데이터 암호화는 생성할 때 켜고, 전송 중 암호화는 마운트할 때 TLS로 켠다.
복제 다른 리전이나 같은 리전에 복제본 파일 시스템을 두고 장애 시 전환한다. 초기 복제가 끝나면 대부분의 파일 시스템에서 RPO 15분을 유지한다.

파일 시스템 유형

편집 원본 편집
구분 리전(Regional) One Zone
저장 위치 같은 리전의 여러 가용 영역에 중복 저장 하나의 가용 영역 안에 저장
가용 영역 장애 한 개 이상의 가용 영역이 불가해도 데이터에 접근 가능 가용 영역 손실 시 데이터가 사라질 수 있음
비용 더 비쌈 더 쌈
용도 운영 데이터(AWS 권장 기본값) 개발·테스트, 다른 곳에 사본이 있는 데이터

스토리지 클래스와 수명 주기 관리

편집 원본 편집
클래스 성격 첫 바이트 지연
EFS Standard SSD 기반, 자주 접근하는 파일 읽기 약 1ms, 쓰기 약 2.7ms
EFS Infrequent Access(IA) 분기에 몇 번 접근하는 파일 수십 ms
EFS Archive 연간 몇 번 이하로 접근하는 파일 수십 ms
  • 수명 주기 관리(lifecycle management)가 마지막 접근 시점을 기준으로 파일을 옮긴다. 기본값은 Standard에서 30일 동안 접근이 없으면 IA로, 90일 동안 접근이 없으면 Archive로 옮기는 것이다.
  • IA나 Archive에 있는 파일을 다시 읽어도 기본으로는 Standard로 돌아오지 않는다. 지연에 민감하면 '첫 접근 시 Standard로 전환' 정책을 켠다.
  • 파일 이름, 소유자, 디렉터리 구조 같은 메타데이터는 항상 Standard에 남는다.
  • IA·Archive는 저장 단가가 낮은 대신 계층 전환 요금 같은 별도 요금이 붙으므로 자주 읽는 파일을 두면 오히려 비싸질 수 있다.

성능 모드와 처리량 모드

편집 원본 편집
  • 범용(General Purpose): 기본값이며 작업당 지연이 가장 낮다. AWS는 모든 파일 시스템에 범용 모드를 권장한다. One Zone은 항상 범용 모드이다.
  • 최대 I/O(Max I/O): 이전 세대 방식으로, 병렬성이 매우 높고 지연이 커도 되는 작업용이다. One Zone이나 Elastic 처리량 모드와 함께 쓸 수 없다.
모드 동작 맞는 경우
Elastic(권장 기본값) 작업량에 따라 처리량이 자동으로 오르내린다. 읽고 쓴 데이터 양만큼 과금 급증하거나 예측하기 어려운 작업, 평균 처리량이 최대치의 5% 이하인 작업
Provisioned 저장 용량과 무관하게 필요한 처리량을 미리 지정 성능 요구를 알고 있고 평균 처리량이 최대치의 5% 이상인 작업
Bursting 저장 용량에 비례한 기준 처리량과 버스트 크레딧 저장량이 많고 처리량 요구가 크기에 비례하는 작업

Bursting 모드에서 크레딧이 바닥나 성능이 떨어지면 Elastic이나 Provisioned로 바꾼다.

EBS·S3와 비교

편집 원본 편집
구분 아마존 EBS 아마존 EFS 아마존 S3
스토리지 유형 블록 파일(NFS) 객체
동시 접근 기본 1대(io1·io2 다중 연결은 같은 가용 영역 최대 16대) 여러 가용 영역의 수많은 인스턴스·컨테이너·Lambda HTTP API로 어디서나
범위 단일 가용 영역 리전(또는 One Zone) 리전
용량 볼륨 크기를 미리 지정 자동 확장 자동 확장
대표 용도 부트 볼륨, DB 디스크 공유 웹 콘텐츠, 컨테이너 영구 저장소, 홈 디렉터리 백업, 정적 콘텐츠, 데이터 레이크
  • 여러 가용 영역의 리눅스 인스턴스가 같은 파일을 동시에 읽고 써야 하면 EFS를 고른다. 윈도우·SMB·Active Directory가 나오면 FSx for Windows File Server이다.
  • 오토 스케일링 그룹의 웹 서버들이 업로드 파일을 공유하거나, ECS·EKS·Fargate·Lambda가 영구 공유 저장소를 필요로 하면 EFS가 정답인 경우가 많다.
  • 처리량 요구를 예측하기 어려우면 Elastic 처리량 모드, 일정하게 높은 처리량을 알고 있으면 Provisioned를 고른다.
  • 자주 쓰지 않는 파일이 많아 비용을 줄이려면 수명 주기 관리로 IA·Archive로 옮긴다. 개발용이나 재생성 가능한 데이터는 One Zone으로 더 줄인다.
  • 다른 리전에 파일 시스템 사본이 필요하면 EFS 복제를, 정해진 일정의 백업과 보존은 AWS Backup을 쓴다.