📌 Amazon EFS - Elastic File System
- EFS는 관리형 NFS (네트워크 파일 시스템)
- 네트워크 파일 시스템이므로 여러 EC2에 동시에 마운트될 수 있음
- EC2 인스턴스는 서로 다른 가용성 영역에 있을 수도 있음
- 가용성이 높고, 확장성이 뛰어나며 GP2 EBS 볼륨의 약 3배 비쌈(?)
- 사용량에 따라 비용을 지불하므로 미리 용량을 프로비저닝 할 필요가 없음
- EFS 파일 시스템은 보안 그룹으로 보호되며, 여러 EC2 인스턴스가 이를 둘러싸고 있음
- 각 EC2 인스턴스는 서로 다른 가용 영역(예: us-east-1a, us-east-1b, us-east-1c)에 위치할 수 있음
- 이러한 가용 영역에 있는 모든 EC2 인스턴스는 EFS를 통해 동일한 네트워크 파일 시스템에 동시에 연결될 수 있음
>> EFS는 여러 가용 영역에 걸쳐 확장 가능하고 높은 가용성을 제공하지만EFS는 GP2 EBS 볼륨보다 비용이 더 비쌈
Use cases
: 콘텐츠 관리, 웹 서비스, 데이터 공유, Wordpress 같은 애플리케이션에 적합
- 내부적으로 NFSv4.1 프로토콜을 사용하며, EFS에 대한 액세스는 보안 그룹으로 제어할 수 있움
- Linux 기반 AMI와만 호환되며, Windows에서는 사용할 수 없음
- KMS를 통해 EFS 데이터에 대해 미사용 암호화를 활성화할 수 있음
- EFS의 장점:
- 파일 시스템이 자동으로 확장되며, 사용한 데이터 양에 따라 비용이 청구됨
- 용량을 미리 계획할 필요 없이 유연하게 사용할 수 있다는 것
📌 EFS - Performance & Storage Classes
EFS Scale
- 1000개의 동시 NFS 클라이언트, 10GB 이상/s 처리량 확보 가능
- PB 규모의 네트워크 파일 시스템으로 자동 확장 가능
Performance Mode _ 성능 모드(EFS 생성 시간으로 설정)
- 네트워크 파일 시스템 생성 시 성능 모드를 설정할 수 있으며 여러가지 옵션이 있음
- 범용(기본값) - 지연 시간에 민감한 사용 사례에 사용됨(웹 서버, CMS 등)
- 최대 I/O - 더 높은 지연 시간, 처리량, 고도로 병렬 처리(빅 데이터, 미디어 처리)
Throughput Mode _ 처리량 모드
- Bursting - 1TB = 50MiB/s + 최대 100MiB/s 폭발
- Provisioned - 스토리지 크기에 관계없이 처리량을 설정(예: 1TB 스토리지의 경우 1Gb/s)
- 예전에는 스토리지가 늘어날수록 처리량이 증가했지만 프로비저닝을 사용하면 ITBㅢ 스토리지에서 초당 1GIB를 처리할 수 있음 (스토리지와 처리량을 분리했기 때문)
- Elastic - 워크로드에 따라 처리량을 자동으로 상향 또는 하향 조정합니다
- 예를 들어 읽기의 경우 최대 3Gb/s, 쓰기의 경우 최대 1Gb/s까지 가능
- 예측할 수 없는 워크로드에 사용됨
📌 EFS - Storage Classes
- 스토리지 계층을 설정할 수 있고 며칠 후 다른 계층으로 옮길 수 있는 기능
- Standard: 자주 액세스하는 파일용
- Infrequent access (EFS-IA): 파일을 검색하는 경우 비용이 들지만, 저장 비용이 저렴
- 아카이브: 거의 액세스하지 않는 데이터용(ex - 1년에 몇 번만), 50% 저렴
- 스토리지 계층 간에 파일을 자동으로 이동하기 위해 라이프사이클 정책 구현해 며칠 후 파일을 어느 계층으로 이동해야 하는지 정의할 수 있음
- (라이프사이클 관리 기능 - N일 후 파일 이동)
- standard 계층
- 이 파일 중 하나는 60일 동안 액세스하지 않음
- >> 이를 EFS IA와 같은 새로운 스토리지 계층으로 옮길 수 있음
- 가용성 및 내구성 측면에서
- Standard: 다중 AZ 설정이 있는 경우에 적합
- 즉 여러 가용성 영역에 걸친 EFS는 프로덕션 워클드에 적합
- One Zone: 개발자에게 적합한 One AZ (하나의 AZ에만 있음), 기본적으로 백업이 활성화되어 IA(EFS One Zone-IA)와 호환됨 (개발만 하고 싶고 조금 더 저렴한 옵션을 원한다면..)
- 액세스 빈도가 낮은 스토리지 계층과 호환됨
- Standard: 다중 AZ 설정이 있는 경우에 적합
전반적으로 올바른 EFS 스토리지 클래스를 사용하면 최대 90% 이상의 비용 절감이 가능함
👩🏻💻 실습
<리전>
- 여러 가용 영역에 걸쳐 한 지역 내에 파일 시스템을 제공.
- 데이터 가용성, 내구성을 매우 높게 유지할 수 있음
<One Zone>
- 비용을 절감하고 싶다면 특정 가용 영역을 하나만 선택해야하는 One Zone 선택
- 개발 환경에서는 좋지만, 프로덕션 환경에서는 데이터에 액세스 할 수 없게 되므로 좋지 않음
- 30일동안 액세스하지 않은 경우 IA 계층으로 전환
- 90일동안 액세스하지 않은 경우 Archive로 전환
💡처리량 모드 기억하기💡
- 버스팅은 실제 사용 중인 스토리지 용량에 따라 처리량을 확장해 더 늘릴 수 있는 방법
- 탄력적 요금제 (권장🌟) 는 EFS 파일 시스템 크기에 상관없이 필요한 모든 IO를 제공하고 자동으로 확장할 수 있는 경우 / 사용한만큼 지불
- 프로비저닝은 필요한 처리량을 미리 알고 있을 때 사용 (처리량을 미리 프로비저닝, 비용도 미리 지불)
📌 EBS VS EFS - Elastic Block Storage
🧐 EBS (Elastic Block Storage)
- EBS 볼륨은 가용 영역(AZ)에 고정되며, 기본적으로 동일 AZ 내에서만 EC2 인스턴스에 연결 가능 (Multi-Attach 기능을 지원하는 io1/io2 볼륨 제외).
- AZ 간에 EBS 볼륨을 옮기려면 스냅샷을 생성한 후, 다른 AZ에서 복원해야 함.
- gp2 볼륨은 디스크 크기가 증가해야 IO가 증가하지만, gp3와 io1은 디스크 크기와 상관없이 IO를 독립적으로 증가시킬 수 있음.
- 백업 시 IO 사용량이 증가할 수 있으므로, 트래픽이 많은 시간대에 백업을 피해야 함.
- 루트 EBS 볼륨은 기본적으로 EC2 인스턴스 종료 시 함께 종료되지만, 이 동작을 비활성화할 수 있음.
🧐 EFS (Elastic File System)
- EFS는 여러 AZ에 걸쳐 최대 100개의 EC2 인스턴스에서 동시에 마운트 가능.
- 여러 인스턴스가 하나의 EFS 파일 시스템을 공유할 수 있어, WordPress 웹사이트 파일 공유 등에 유용.
- POSIX 표준을 사용하여 Linux 인스턴스에만 사용 가능.
- EFS는 EBS보다 비용이 높지만, 스토리지 계층을 활용해 비용을 절감할 수 있음.
🆚 비교 🆚
- EBS는 AZ 내에서 고정된 블록 스토리지로, 주로 단일 인스턴스에서 사용되며 가용 영역 간에 데이터를 이동하려면 스냅샷을 사용해야 함.
- EFS는 여러 AZ에서 파일 스토리지를 공유하는 데 적합하며, 다중 인스턴스와 가용 영역에 걸쳐 사용 가능.
EFS VS EBS VS Instance Store
인스턴스 스토어는 물리적으로 EC2 인스턴스에 연결됨
>>> 즉 EC2 인스턴스가 없어지면 스토리지 또한 잃게 됨
반응형
'AWS' 카테고리의 다른 글
AWS Section 7-2. ELB + AS (0) | 2024.09.27 |
---|---|
AWS Section 7-1. ELB + ASG (0) | 2024.09.27 |
AWS Section 6-1. EC2 인스턴스 스토리지 (4) | 2024.09.27 |
AWS Section 5. EC2 기초 (0) | 2024.09.27 |
AWS Section 4-2. IAM 및 AWS CLI (0) | 2024.09.27 |