참고 영상
EFS란?
Elastic File System의 약자로 AWS 클라우드 서비스와 온 프레미스 리소스에서 사용할 수 있는 완전 관리형 NFS 파일 시스템을 제공합니다.
파일 스토리지란?
- 여러 클라이언트(사용자, 앱, 서버 등)가 공유 파일 폴더에 저장된 데이터에 액세스 할 수 있음
- 스토리지 서버가 블록 스토리지를 로컬 파일 시스템과 함께 사용하여 파일을 구성
- 클라이언트는 파일 경로를 통해 데이터에 액세스 함
파일스토리지의 좋은 사용 방식
파일 스토리지는 많은 수의 서비스 및 리소스가 동시에 동일한 데이터에 액세스 해야할 때 사용
특징
- NFS 기반 공유 스토리지 서비스(NFSv4)
- 애플리케이션을 중단하지 않고 온디맨드로 페타바이트 규모로 확장할 수 있음
- 파일을 추가 또는 제거하면 Amazon EFS가 자동으로 확장하거나 축소
- 몇 천개의 동시 접속 유지 가능
- 데이터는 여러 AZ에 나누어 분산 저장
-> 높은 가용성
- 쓰기후 읽기 일관성
-> EC2 인스턴스가 수정한 내용을 다른 인스턴스가 바로 가져다 쓸 수 있음
- Private Service
-> AWS 외부에서 접속 불가능. (접속하기 위해선 VPN 혹은 Direct Connect 등 별도로 VPC와 연결이 필요하다.)
- 각 가용영역에 Mount Target을 두고 각각의 가용영역에서 해당 Mount Target으로 접근한다.
- Linux Only 이다. (윈도우 사용 불가)
- EC2에는 Mount Target을 통해 접근한다.
- client에서 EFS를 사용하기 위해선 VPN과 같은 연결을 사용하여 접근 할 수 있다.
EFS 사용 이유
공유된 스토리지가 필요할때
스토리지 클래스
- EFS Standard : 3개 이상의 가용영역에 보관
- EFS Standard - IA : 3개 이상의 가용영역에 보관하며 데이터를 가져올 때마다 비용 발생 (조금 저렴)
- EFS One Zone : 하나의 가용역역에 보관 (저렴하지만 가용영역이 날라가면 데이터도 날라감. 중요하지 않은 데이터 보관 ex. 썸네일 같은것)
- EFS One Zone - IA : 하나의 가용역역에 저장하며 데이터를 가져올 때 비용 발생 (가장 저렴)
EBS와의 차이점
EFS | EBS |
---|
용량을 따로 지정할 필요 없이 자동으로 늘려줌 | 용량을 미리 크기를 지정해야 함 |
리전별 서비스이며, 여러 가용영역에 데이터를 저장 | EBS 볼륨은 단일 가용 영역에 데이터를 저장 |
중복스토리지를 사용하면 '파일시스템이 위치한 리전의' 모든 가용 영역에서 동시에 데이터에 액세스할 수 있음 | EC2 인스턴스를 EBS 볼륨에 연결하려면 EC2인스턴스와 EBS볼륨 모두 동일한 가용영역에 상주필요 |
퍼포먼스 모드
- General Purpose: 가장 보편적인 모드
- Max IO : 매우 높은 IOPS가 필요한 경우
- 빅데이터, 미디어 처리 등
Throughput 모드
- Bursting Throughput : 낮은 Throughput일 때 크래딧을 모아 높은 Throughput일 때 사용하는 것
-> EC2 T 타입과 비슷한 개념
- Provisioned Throughput : 미리 지정한 만큼의 Throughput을 확보해 두고 사용