EFS(Elastic File System)
- 관리형 NFS(Network File System)이다.
: 네트워크 파일 시스템이므로 많은 EC2 인스턴스에 마운트될 수 있다. - EFS 덕분에 EC2 인스턴스는 서로 다른 가용성 영역에 있을 수 있다.
그래서 가용성이 높고, 확장성이 뛰어나며 비싸다. - 사용량에 따라 비용을 지불하므로 미리 용량을 프로비저닝할 필요가 없다. (GP2 EBS 볼륨의 약 3배정도)
: 파일 시스템은 자동으로 확장되며 EFS에서 사용하는 데이터 GB 사용량에 따라 비용을 지불한다. - 사용사례
: 콘텐츠 관리, 웹 서빙, 데이터 공유, Wordpress - 내부적으로 NFS 프로토콜을 사용하며, EFS에 대한 액세스를 제어하려면 보안 그룹을 설정해야 한다.
= 중요한 점은 윈도우가 아닌 "Linux 기반" AMI와만 호환이 된다는 점이다. - KMS를 사용해서 EFS 드라이브에서 미사용 암호화를 활성화 할 수 있다.
(Linux 표준 파일 시스템이다.) - 표준 파일 API가 있고, Posix 시스템을 사용한다.
- 위에 이미지를 보시면 EFS 파일 시스템이 있고, 보안 그룹으로 둘러싸인 모습을 볼 수 있다.
EC2 인스턴스가 많이 있고, 위에 이미지처럼 us-east-1a 가용성 영역이나 us-east-1b 가용성 영역 또는 us-east-1c 가용성 영역에 EC2 인스턴스가 있다.
이것들은 모두 EFS를 통해 동일한 네트워크 파일 시스템에 동시에 연결이 가능해진다.
EFS의 다양한 성능(Performance)
EFS Scale(스케일)
- 동시 NFS 클라이언트 수천개와 10GB 이상의 처리량을 확보할 수 있다.
- PB(페타바이트) 규모의 네트워크 파일 시스템으로 자동 확장할 수 있다.
NFS 생성 시 성능 모드 설정 옵션
General Purpose(범용) 모드
- 기본값이다.
- 이 모드는 지연 시간에 민감한 사용 사례에 사용된다.
예시 : 웹 서버나 CMS 등
Max I/O 모드
- 처리량을 최대화하려면 이 모드를 선택하는 것이 좋다.
- 지연 시간이 더 긴 네트워크 파일 시스템이지만 처리량이 더 높고 병렬성이 높다.
예시 : 빅 데이터 애플리케이션이나 미디어 처리가 필요한 경우
처리량 모드
Bursting 모드
- 1TB이다.
- 초당 50MiB에 초당 100MiB 버스트까지 더한 것이다.
Provisioned 모드
- 스토리지 크기에 관계없이 처리량을 설정하고 싶은 경우에 선택한다.
- 프로비저닝을 사용하기 전이면 스토리지가 늘어날수록 처리량이 증가하겠지만,
프로비저닝을 사용하면 1TB의 스토리지에서 초당 1GiB를 처리할 수 있다.
(스토리지와 처리량을 분리하였기 때문이다.)
Elastic 모드
- 워크로드에 따라 처리량을 자동으로 조절할 수 있다.
- 예를 들어, 읽기는 초당 3GiB, 쓰기는 초당 1GiB까지 가능하다.(워크로드에 따라서)
EFS의 Storage Classes(스토리지 클래스)
Storage Tiers(스토리지 계층) 설정 가능
- 스토리지 계층을 설정할 수 있는데,
며칠 후 파일을 다른 계층으로 옮길 수 있는 기능이다. - Standard(스탠다드) 계층
: 자주 액세스하는 파일을 위한 계층이다. - Infrequent access(EFS-IA) 계층
: 자주 액세스하지 않는 용도로는 이 계층을 사용한다.
: 파일을 검색할 경우 비용이 발생하지만 저장하면 비용이 감소된다. - Archive(아카이브) 계층
: 거의 액세스하지 않는 데이터용이다.
: 예를 들어, 1년에 몇 번만 데이터에 액세스하는 경우 해당 계층에 데이터를 저장하는 것이 훨씬 저렴하다. - lifecycle policies(수명 주기 정책)
: 스토리지 계층 간에 파일을 자동으로 이동하기 위해 구현한다.
: 며칠 후에 파일을 어느 계층으로 이동해야 하는지 정의할 수 있다.
- 위에 이미지는 EFS 스탠다드에 파일이 있는 예제이다.
: 이 파일 중 하나는 60일 동안 액세스 하지 않았고, 올바른 수명 주기 정책을 설정하면 EFS IA와 같은 새로운 스토리지 계층으로 옮길 수 있다.
가용성과 내구성 측면에서 볼 때
- 다중AZ 설정이 있는 경우, Standard(스탠다드)를 사용하는 것이 좋다.
- 여러 가용성 영역에 걸친 EFS는 프로덕션 워크로드에 적합하므로 재해에 대비할 수 있다.
- 하지만 개발만 하고 싶고 더 저렴한 옵션을 원한다면 One Zone을 사용하면 된다.
: 하나의 AZ에만 있고 백업은 기본적으로 활성화되도록 설정되어 있다.
: 액세스 빈도가 낮은 스토리지 계층과 호환된다.
: "EFS One Zone IA"라고 불린다. - 올바른 EFS 스토리지 클래스를 사용하게된다면, 최대 90%의 비용을 절감할 수 있다.
'AWS(Amazon Web Service)' 카테고리의 다른 글
[AWS] ELB(Elastic Load Balancing) (1) | 2024.09.27 |
---|---|
[AWS] EBS vs EFS (6) | 2024.09.26 |
[AWS] EBS Encryption(암호화) (0) | 2024.09.24 |
[AWS] EBS Multi-Attach (IO1, IO2 中) (0) | 2024.09.23 |
[AWS] EBS Volume (EC2 Instance Store 中) (1) | 2024.09.22 |