...
S3 vs EBS vs EFS 스토리지 비교
EBS, EFS, S3 모두 데이터를 저장하는 파일 저장 공간 서비스임에는 같다. 하지만 각각 서비스 특징과 성능에 따라 사용 용도를 분별할 필요가 있다.
데이터 시점에서 보면 EBS는 볼륨 기반이며, S3는 객체 기반, 그리고 EFS는 파일 기반 저장 서비스이다.
이 세가지 파일 저장 스토리지의 특징을 살펴보는 시간을 간단히 가져보자.
EFS (Elastic File Storgae)
- AWS 클라우드 서비스와 온프레미스 리소스에서 사용할 수 있는 간단하고 확장 가능하며 탄력적인 완전 관리형 탄력적 NFS 파일 시스템
- NFSv4(Network File System) 프로토콜 사용
- VPC 내 EC2 인스턴스는 직접 액세스 할 수 있음
- On-premise 서버는 Direct Connect & VPN 연결을 통해 파일 시스템 탑재
- Direct Connect은 대역폭이 높고 지연 시간이 짧은 전용 네트워크 연결
EFS는 언제 사용하면 좋은가
- EFS는 자동 고성능 확장을 통해 여러 EC2 인스턴스에 대한 공유 파일 스토리지 옵션이 필요할 때마다 사용할 수 있다. 따라서 콘텐츠 관리 시스템을 위한 파일 스토리지로 적합하다.
- 또한 EFS의 공유 가능한 파일 저장소는 코드 및 미디어 파일을 저장하는 데 이상적이기 때문에 응용 프로그램 개발에 적합하기도 하다.
EBS (Elastic Block Storage)
- EC2 (Elastic Compute Cloud)에서 사용하도록 설게된 사용하기 쉬운 고성능 블록(Block) 스토리지 서비스
- 다양한 AWS 서비스에 EFS를 마운트하고 다양한 가상머신에서 액세스 가능.
- S3나 EFS와 달리 독립형 스토리지가 아니다. (EC2와 함께 사용)
- 데이터에 빠르게 액세스하고 장기적으로 지속해야 하는 경우에 적합
- 물리적 머신의 로컬 디스크 드라이브와 유사하게 EC2 인스턴스에 연결된, 프로비저닝 된 크기의 볼륨에 데이터를 저장하도록 설계 됨.
EBS는 언제 사용하면 좋은가
- 단일 인스턴스에 대한 고성능 스토리지 서비스가 필요한 경우 사용한다.
S3 (Simple Storage Service)
- 웹에서 사용 가능한 object 저장소
- S3의 객체는 고유 식별자(key)와 연결됨으로 어디서나 웹을 통해 액세스 가능.
- S3는 저장 용량이 무한대이고 파일 저장에 최적화되어 있다. 용량을 추가하거나 성능을 높이는 작업이 필요없다.
- 비용은 EC2와 EBS로 구축하는 것보다 훨씬 저렴하다
S3를 언제 사용하면 좋은가
- 몇 년 동안 사용하지 않을 수 있는 보고서 및 레코드와 같은 항목은 논의된 다른 두 스토리지 서비스보다 저렴한 비용으로 S3에 저장할 수 있다.
- 복잡한 쿼리를 실행할 수 있는 데이터를 저장하는 데에도 유용하다.
- 정적 웹사이트도 지원하므로 여러개의 정적 HTML 페이지를 호스팅해야 하는 경우도 사용하면 좋다.
Amazon Cloud Storage 비교 총정리
EFS (File) | S3 (Object) | EBS (Block) | ||
퍼포먼스 | 작업별 대기 시간 | 낮음, 일관됨 (S3보다 빠르고 EBS보다 느림) |
낮음, 여러 요청 타입 처리, CloudFront와 통합 (EBS 및 EFS보다 느림) |
가장 낮음, 일관됨 (S3 및 EFS보다 빠름) |
처리량 크기 | 초당 GBs | 초당 GBs | 초당 GB | |
특성 | 가용성 / 내구성 | 여러 AZ에 중복 저장 | 여러 AZ에 중복 저장 | 단일 AZ에 중복 저장 |
엑세스 | 1개~수천개의 EC2인스턴스 / on-premise 서버 / 여러 AZ에서 동시 접근 | 웹을 통한 수백만 개의 연결 | 하나의 AZ에 속한 하나의 EC2 인스턴스 | |
사용 케이스 | - 웹 서비스 및 컨텐츠 관리 - 엔터프라이즈 어플리케이션 - 홈 디렉토리 - 데이터베이스 백업 - 개발자 도구 - 컨테이너 스토리지 - 빅데이터 분석 |
- 웹 서비스 및 컨텐츠 관리 - 미디어 및 엔터테인먼트 백업 - 빅데이터분석 - 데이터 레이크 |
- 부팅 볼륨 - 트랜잭션 및 NoSQL 데이터베이스 - 데이터 웨어하우징 및 ETL |
EFS vs EBS 비교
- EFS는 EBS와 다르게 Multi-AZ 가능
- 단일 EBS 볼륨의 최대 크기는 최대 16TB까지 될 수 있지만 EFS 볼륨 크기는 사실상 무제한이다.
- 단, EFS에서 파일의 최대 크기는 47.9TB이다. EBS는 파일 크기 제한 없음.
- EBS, EFS 모두 높은 내구성을 제공하지만, 확장성에서 차이가 존재한다.
EFS 볼륨은 워크로드 수요의 급격한 증가를 수용하기 위해 빠르며 자동으로 Scale-up/down이 가능하다. - EFS는 S3와 비슷하게 lifecycle 관리를 통해 스토리지 클래스를 전환하여 비용을 절감할 수 있음
- EBS는 디스크 지연 시간을 최소로 할 수 있다. (프로비저닝된 IOPS).
EFS는 충분히 빠르지만 EBS만큼의 낮은 디스크 지연시간은 확보할 수 없다. (EBS보다 느리다)
반면에 분산 파일 저장 시스템이기 때문에, EFS는 EBS에 비해 초당 처리량은 높을 수 있다. - EFS 볼륨은 전사적 파일 서버, 백업 시스템, 빅 데이터 클러스터, 대규모 병렬 처리(MPP) 시스템, CDN 및 기타 대규모 사용 사례에 적합
- EBS 볼륨은 관계형 및 NoSQL 데이터베이스, ERP 시스템, 메일 서버, 쉐어포인트, 웹 서버, 디렉터리 서버, DNS 서버 또는 미들웨어에 적합 (큰 클러스터에서 실행되지 않는 워크로드로 마운트되는 볼륨이 필요 없음)
보통 S3가 스토리지에 적합하다고 하지만, 확장 가능한 스토리지와 비교적 빠른 출력이 필요한 높은 워크로드로 Application을 실행하려면 EFS가 추천된다.
EBS는 직접 연결 스토리지에 액세스하는 단일 EC2 인스턴스용으로 설계된 반면,
EFS는 네트워크 연결 스토리지를 공유하는 최대 수천 개의 EC2 인스턴스용으로 설계되었다.
EFS의 분산형 다중 AZ 아키텍처는 EBS보다 작업당 지연 시간이 더 긴 편이다.
하지만 EFS는 분산 데이터 스토리지 설계덕에 멀티스레드 Application과 여러 EC2 instance에서 데이터에 동시에 액세스하는 Application에서 상당한 수준의 IOPS 및 처리량을 이끌어 낼 수 있다는 특징이 잇다.
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.