EFS vs FSx: 언제 무엇을 선택해야 할까?
Amazon EFS와 FSx의 핵심 차이점과 워크로드별 최적의 파일 스토리지 선택 기준을 알아봅니다.
관련 시험 도메인
- Domain 3: Design High-Performing Architectures
핵심 요약 (BLUF)
EFS는 Linux/NFS 기반 공유 파일 시스템에, FSx는 Windows(SMB) 또는 고성능(Lustre) 워크로드에 적합합니다. 운영체제와 프로토콜 요구사항이 선택의 핵심 기준입니다.
시험 팁
시험 핵심: "Linux + NFS = EFS", "Windows + SMB = FSx for Windows", "HPC + Lustre = FSx for Lustre"
파일 스토리지는 언제 필요할까?
EBS는 단일 EC2 인스턴스에 연결되는 블록 스토리지입니다. 하지만 여러 인스턴스가 동시에 같은 파일에 접근해야 하는 상황이 있습니다:
- 웹 서버 팜의 정적 콘텐츠 공유
- 컨테이너 기반 애플리케이션의 영구 스토리지
- 빅데이터/ML 학습 데이터셋 공유
- 홈 디렉토리 또는 개발 환경 공유
이런 경우 EFS 또는 FSx와 같은 공유 파일 시스템이 필요합니다.
EFS와 FSx의 핵심 차이점
Amazon EFS (Elastic File System)
- 프로토콜: NFS v4.0/4.1
- 운영체제: Linux 전용
- 자동 확장: 페타바이트까지 자동 확장/축소
- 가용성: Multi-AZ 기본 지원
- 지연 시간: 약 10ms (범용 모드)
Amazon FSx 제품군
FSx는 4가지 파일 시스템을 제공합니다:
| FSx 유형 | 프로토콜 | 주요 용도 |
|---|---|---|
| FSx for Windows | SMB | Windows 파일 서버, AD 통합 |
| FSx for Lustre | Lustre | HPC, ML, 비디오 렌더링 |
| FSx for NetApp ONTAP | NFS, SMB, iSCSI | 하이브리드 클라우드, 멀티프로토콜 |
| FSx for OpenZFS | NFS | ZFS 기반 Linux 워크로드 |
EFS vs FSx: 상세 비교
| 비교 항목 | EFS | FSx for Windows | FSx for Lustre |
|---|---|---|---|
| 프로토콜 | NFS | SMB 2.0-3.1.1 | Lustre |
| 운영체제 | Linux | Windows, Linux | Linux |
| 최대 처리량 | 10+ GB/s | 2-12 GB/s | 수백 GB/s |
| 지연 시간 | ~10ms | ~1ms | 밀리초 미만 |
| IOPS | 수십만 | 수백만 | 수백만 |
| S3 연동 | 없음 | 없음 | 네이티브 지원 |
| Active Directory | 없음 | 네이티브 지원 | 없음 |
| 자동 확장 | ✅ | ❌ (고정 크기) | ❌ (고정 크기) |
언제 무엇을 선택할까?
EFS를 선택해야 하는 경우
-
Linux 기반 공유 스토리지
- EC2, ECS, EKS, Lambda에서 공유 파일 접근
- 웹 서버 팜의 정적 콘텐츠
-
자동 확장이 필요한 경우
- 저장 용량 예측이 어려운 워크로드
- 사용한 만큼만 과금
-
서버리스 연동
- Lambda 함수에서 파일 시스템 접근
- 컨테이너의 영구 볼륨
시험 팁
EFS + Lambda: Lambda 함수에서 EFS를 마운트하여 대용량 ML 모델 로드 가능 (250MB 패키지 제한 우회)
FSx for Windows를 선택해야 하는 경우
-
Windows 워크로드
- .NET 애플리케이션
- SQL Server 데이터베이스 파일
-
Active Directory 통합
- 기업 사용자 인증
- 그룹 정책 기반 접근 제어
-
SMB 프로토콜 필수
- Windows 파일 공유
- DFS(Distributed File System) 네임스페이스
FSx for Lustre를 선택해야 하는 경우
-
고성능 컴퓨팅(HPC)
- 수백 GB/s 처리량 필요
- 밀리초 미만 지연 시간
-
머신러닝/빅데이터
- 대규모 학습 데이터셋
- SageMaker 연동
-
S3와 네이티브 연동
- S3 데이터를 파일 시스템처럼 접근
- 처리 결과를 자동으로 S3에 저장
시험 팁
FSx for Lustre + S3: S3 버킷을 FSx for Lustre와 연결하면 S3 객체가 자동으로 파일 시스템에 나타나고, 변경사항을 S3로 다시 내보낼 수 있습니다.
FSx for NetApp ONTAP을 선택해야 하는 경우
-
하이브리드 클라우드
- 온프레미스 NetApp에서 마이그레이션
- NetApp SnapMirror 복제
-
멀티프로토콜 접근
- 같은 데이터에 NFS, SMB, iSCSI로 접근
- Windows와 Linux 혼합 환경
성능 모드 이해하기
EFS 성능 모드
| 모드 | 특징 | 적합한 워크로드 |
|---|---|---|
| 범용(General Purpose) | 낮은 지연 시간, 웹 서빙 | CMS, 홈 디렉토리 |
| 최대 I/O | 높은 처리량, 높은 지연 시간 | 빅데이터, 미디어 처리 |
EFS 처리량 모드
| 모드 | 특징 | 비용 |
|---|---|---|
| 버스팅 | 저장 크기에 비례, 크레딧 기반 | 포함 |
| 프로비저닝 | 고정 처리량 보장 | 추가 요금 |
| 탄력적 | 자동 확장/축소 | 사용량 기반 |
비용 최적화 전략
EFS 비용 절감
-
수명 주기 정책 활용
- 30일 이상 접근하지 않은 파일 → IA 클래스로 자동 이동
- 최대 92% 비용 절감
-
One Zone 옵션
- 개발/테스트 환경에 적합
- Standard 대비 47% 저렴
FSx 비용 절감
-
데이터 압축
- FSx for Windows, ONTAP: 자동 압축 지원
- 실제 저장 용량 감소
-
적정 크기 프로비저닝
- FSx는 자동 확장하지 않음
- 사용량 모니터링 후 크기 조정
SAA-C03 시험 출제 포인트
- ✅ 프로토콜 매칭: "NFS 필요 → EFS", "SMB 필요 → FSx for Windows"
- ✅ 성능 요구사항: "밀리초 미만 지연, 수백 GB/s → FSx for Lustre"
- ✅ S3 연동: "S3 데이터를 파일처럼 처리 → FSx for Lustre"
- ✅ AD 통합: "Active Directory + 파일 공유 → FSx for Windows"
- ✅ 자동 확장: "용량 예측 불가, 자동 확장 → EFS"
시험 팁
시험 문제 예시: "Linux EC2 인스턴스 그룹이 ML 학습 데이터를 공유해야 합니다. 데이터는 S3에 저장되어 있으며, 밀리초 미만의 지연 시간이 필요합니다. 어떤 스토리지를 사용해야 합니까?" → 정답: FSx for Lustre (S3 네이티브 연동 + 초저지연)
자주 묻는 질문 (FAQ)
Q: EFS와 FSx 중 어느 것이 더 저렴한가요?
EFS Standard는 GB당 $0.30/월, FSx for Windows는 GB당 $0.13/월입니다. 하지만 FSx는 고정 크기를 프로비저닝해야 하므로, 실제 사용량이 적으면 EFS가 더 경제적일 수 있습니다.
Q: EFS를 Windows에서 사용할 수 있나요?
아니요. EFS는 NFS 프로토콜만 지원하므로 Linux 전용입니다. Windows 워크로드에는 FSx for Windows를 사용하세요.
Q: Lambda에서 FSx를 사용할 수 있나요?
Lambda는 EFS만 직접 마운트할 수 있습니다. FSx 데이터에 접근하려면 EC2를 통한 간접 접근이 필요합니다.
Q: FSx for Lustre는 영구 데이터 저장에 적합한가요?
Scratch 타입은 임시 스토리지로 데이터 지속성이 없고, Persistent 타입은 Multi-AZ 복제로 영구 저장에 적합합니다.
Q: 온프레미스에서 EFS에 접근할 수 있나요?
네. AWS Direct Connect 또는 VPN을 통해 온프레미스에서 EFS에 NFS로 접근할 수 있습니다.