AWS EFS vs EBS vs S3 (차이 및 사용시기)


315

이 질문의 제목에 따라 AWS EFS, EBS 및 S3의 실제 차이점은 무엇입니까?

각각에 대한 나의 이해 :

  • S3는 어디서나 액세스 할 수있는 저장 시설입니다.
  • EBS는 EC2에 장착 할 수있는 장치입니다
  • EFS는 EC2에 마운트 할 수있는 파일 시스템입니다

그렇다면 왜 EFS보다 EBS를 사용합니까? 사용 사례는 같지만 의미 상 약간의 차이가있는 것 같습니까? EFS는 AZ에 복제되지만 EBS는 탑재 된 장치 일뿐입니다. EBS에 대한 이해가 부족하여 구별 할 수없는 것 같습니다.

왜 EFS보다 S3을 선택해야합니까? 둘 다 파일을 저장하고 확장하며 복제됩니다. S3에서는 EFS가 파일 시스템 인 것처럼 선택한 프로그래밍 언어에서 표준 I / O 방법으로 파일을 만들 수있는 SDK를 사용해야한다고 생각합니다. 그러나 이것이 유일한 차이점입니까?


2
EFS는 NFS와 같습니다. EBS는 기본적으로 SAN입니다. S3는 WebDAV를 좋아한다. Glacier는 아마도 blueray DVD입니다 storagemojo.com/2014/04/25/amazons-glacier-secret-bdxl
Neil McGuigan 1

답변:


466

한마디로 대답 : 돈 : D

US-East-1에 1GB 저장 : (2016.12.20에 업데이트 됨)

  • 빙하 : $ 0.004 / 월 (주 : 2016 년 주요 가격 인하)
  • S3 : $ 0.023 / 월
  • S3-IA (2015.09에 발표) : $ 0.0125 / 월 (+ $ 0.01 / gig 검색 요금)
  • EBS : 월 $ 0.045-0.1 / 월 (속도에 따라 다름-SSD 여부) + IOPS 비용
  • EFS : $ 0.3 / 월

처리하는 동안 / 처리하기 전에 데이터를 임시 저장하는 데 사용할 수있는 추가 저장 옵션 :

  • SNS
  • SQS
  • 키네 시스 스트림
  • DynamoDB, SimpleDB

위의 비용은 단지 샘플입니다. 지역마다 차이가있을 수 있으며 언제든지 변경 될 수 있습니다. 또한 인터넷으로의 데이터 전송에 대한 추가 비용이 있습니다. 그러나 서비스 가격 간의 비율보여줍니다 .

이 서비스들에는 훨씬 더 많은 차이점이 있습니다.

EFS는 :

  • 일반적으로 사용 가능 (미리보기 중)이지만 해당 지역에서는 아직 사용하지 못할 수 있습니다
  • 네트워크 파일 시스템 (즉, 대기 시간이 길어질 수 있지만 여러 인스턴스간에 공유 될 수 있음을 의미)
  • EBS (~ 10 배 이상)에 비해 비싸지 만 추가 기능을 제공합니다.
  • 고 가용성 서비스입니다.
  • 관리 서비스입니다
  • EFS 스토리지를 EC2 인스턴스에 연결할 수 있습니다
  • 여러 EC2 인스턴스에서 동시에 액세스 가능
  • 2016 년 12 월 20 일 이후 직접 연결을 통해 EFS 저장소를 사내 서버에 직접 연결할 수 있습니다. ()

EBS는 :

  • 블록 스토리지 (따라서 포맷해야 함) 이는 원하는 파일 시스템 유형을 선택할 수 있음을 의미합니다.
  • 블록 스토리지이므로 여러 블록 스토리지에 Raid 1 (또는 0 또는 10)을 사용할 수 있습니다
  • 정말 빠릅니다
  • 비교적 싸다
  • Amazon의 새로운 발표로 SSD 당 스토리지 당 최대 16TB 데이터를 저장할 수 있습니다.
  • 백업 이유로 EBS 스냅 샷 (아직 실행 중)을 스냅 샷 할 수 있습니다
  • 그러나 특정 지역에만 존재합니다. 다른 리전으로 마이그레이션 할 수는 있지만 리전간에 액세스 할 수는 없습니다 (EC2를 통해 공유하는 경우에만 해당되며 파일 서버가 있음을 의미 함).
  • 연결하려면 EC2 인스턴스가 필요합니다
  • 새로운 기능 (2017 년 2 월 15 일) : 이제 볼륨을 사용하는 동안 볼륨 크기를 늘리거나 성능을 조정하거나 볼륨 유형을 변경할 수 있습니다. 변경 사항이 적용되는 동안 응용 프로그램을 계속 사용할 수 있습니다.

S3는

  • 파일 시스템이 아닌 객체 저장소
  • 파일과 "폴더"를 저장할 수 있지만 기존 파일 시스템에서와 같이 잠금, 권한 등을 가질 수는 없습니다.
  • 즉, 기본적으로 S3를 마운트하여 웹 서버로 사용할 수는 없습니다.
  • 그러나 웹 사이트의 이미지와 비디오를 저장하는 데 적합합니다.
  • 단기 보관에 적합합니다 (예 : 몇 주). 장기 보관에도 적합하지만 Glacier가 더 비용 효율적입니다.
  • 로그 저장에 적합
  • 모든 지역의 데이터에 액세스 할 수 있습니다 (추가 비용이 적용될 수 있음)
  • 고 가용성, 중복성. 기본적으로 데이터 손실이 불가능합니다 (99.999999999 % 내구성, 99.9 가동 시간 SLA)
  • EBS보다 훨씬 저렴합니다.
  • 콘텐츠를 인터넷에 직접 제공 할 수 있으며 EC2 인스턴스없이 S3에서 직접 작동하는 전체 (정적) 웹 사이트를 보유 할 수도 있습니다.

빙하는 :

  • 장기 보관 스토리지
  • 보관하기 매우 저렴한
  • 검색 비용이 매우 많이
  • 데이터를 "읽기"까지 최대 4 시간이 소요됩니다 (오랫 동안 검색 할 필요가없는 항목 만 저장).

JDL의 의견에서 언급했듯이 가격 측면에서 몇 가지 흥미로운 측면이 있습니다. 예를 들어 Glacier, S3, EFS는 사용량에 따라 스토리지를 할당하지만 EBS에서는 할당 된 스토리지를 미리 정의해야합니다. 즉, 과대 평가해야합니다. (그러나 EBS 볼륨에 더 많은 스토리지를 쉽게 추가 할 수 있기 때문에 약간의 엔지니어링이 필요합니다. 즉, EBS 스토리지를 항상 "과다 지불"하므로 훨씬 더 비쌉니다.

출처 : AWS 스토리지 업데이트 – 새로운 저가 S3 스토리지 옵션 및 빙하 가격 인하


8
데이터를 신속하게 복구해야하는 경우 빙하는 매우 비쌉니다. liangzan.net/aws-glacier-calculator
Anatoly

6
그 동의 S3보다 저렴 EBS. 함께 S3당신 만 2,000 PUT 무료로 20 000 GET을 가질 수 있습니다. 으로 EBS당신은 무료로 2 000 000 I / O 작업을해야합니다. 여기 내 QA stackoverflow.com/questions/34048866/…
녹색

2
2 000 000 S3 읽기 비용 ~ 0.4 $, 2 000 000 쓰기 비용 ~ $ 5 ... 그러나 요점은 작업에 적합한 스토리지를 선택해야한다는 것입니다. S3는 (대부분) 크고 자주 변경되지는 않지만 널리 액세스 할 수있는 파일에 가장 적합합니다. : (D 예외의 많은)
아담 Ocsvari

2
좋은 비교. 그러나 EBS와 EFS의 또 다른 주요 차이점은 EBS는 고정 된 스토리지 용량입니다. 예, 1GB 비교는 다르지만 1GB EBS 파티션을 만드는 이유는 무엇입니까? 최소 10GB 파티션을 만들려면 10GB의 데이터에 저장된 동일한 1GB의 데이터에 대해 $ .5-1.0을보고 있습니다. 얼마나 빨리 데이터를 저장해야하는지, 그리고 계속 사용하고 싶은 미사용 공간에 따라 EFS가 더 나은 옵션 일 수 있습니다.
JDL

3
EFS는 현재 Windows가 아닌 Linux에서만 작동합니다.
Andrew Clark

110

사람들이 왜 EFS에 유리한 가장 강력한 이유를 강조하지 않는지 궁금합니다. EFS는 동시에 둘 이상의 EC2 인스턴스에 마운트 될 수있어 동시에 EFS의 파일에 액세스 할 수 있습니다.

(2020 년 5 월 편집, EBS는 현재 동시에 여러 EC2에 마운트를 지원합니다. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html 참조 )


나도. 질문을하거나 질문에 투표 한 사람 (답이 아닌)은 UFS와 NFS 시스템의 차이점이 무엇인지 전혀 모릅니다.
BMW

5
마찬가지로 이것은 S3와 EBS를 사용하는 것의 차이점입니다 .S3과 EFS는 여러 서버에서 공유되는 데이터에 적합하지만 EBS는 그렇지 않습니다.
Geoffrey Wiseman

또한 EFS를 CDN의 원점으로 사용할 수 없으므로 S3가이 역할에 더 좋습니다. CDN에 필요한 자산이 많을 경우 S3를 사용하는 것이 좋습니다.
Moses Liao GZ

71

비교 수정 :

  • S3는 어디서나 액세스 할 수있는 저장 시설입니다.
  • EBS는 EC2에 장착 할 수있는 장치입니다
  • EFS는 여러 EC2 인스턴스에 동시에 마운트 할 수있는 파일 시스템입니다

이 시점에서 EFS와 EBS를 비교하는 것은 아직 시기상조입니다. EFS의 성능은 알려져 있지 않으며 안정성도 알려져 있지 않습니다.

왜 S3를 사용 하시겠습니까?

  • 파일이 하나 이상의 EC2 인스턴스에 '로컬'일 필요는 없습니다.
  • (효과적으로) 무한한 용량
  • 내장 웹 서비스, 인증

2
최근 West-2에서 사용할 수있는 EFS 볼륨을 설정했습니다. 큰 파일에 쓰기 문제가있는 것 같습니다. 예를 들어, "file too large"로 도커 컨테이너를 만들면 sqlite db를 만들지 못했습니다. 내가 사용중인 EBS 볼륨에서 이러한 문제가 없었습니다. 따라서 EFS에는 현재 "고정"이 필요한 사용성 / 신뢰성 문제가있을 수 있습니다.
DKebler

7

비교에 추가하려면 : EFS의 (버스트) 읽기 / 쓰기 성능은 수집 된 크레딧에 따라 다릅니다. 크레딧 수집은 저장 한 데이터의 양에 따라 다릅니다. 더 많은 날짜-> 더 많은 크레딧. 즉, 자주 읽거나 쓰는 몇 GB의 스토리지 만 필요한 경우에는 크레딧이 곧 소진되고 througphput은 약 50kb / s로 떨어집니다. 이 문제를 해결하는 유일한 방법은 큰 더미 파일을 추가하여 크레딧 크레딧을 얻는 것입니다. 그러나 더 많은 스토리지-> 더 많은 비용.


2
정말 미쳤다. 처음에는 이것이 OP에 의한 실수라고 생각했지만 문서를 확인한 후에는 정확합니다 (2017 년 기준)
Jakobovski

7

가격 및 기능 외에도 처리량도 크게 다릅니다 (user1677120에서 언급 한대로).

EBS

EBS 문서 에서 가져온 것 :

| EBS volume | Throughput |           Throughput          |
|    type    |   MiB/s    |         dependent on..        |
|------------|------------|-------------------------------|
| gp2 (SSD)  | 128-160    | volume size                   |
| io1 (SSD)  | 0.25-500   | IOPS (256Kib/s per IOPS)      |
| st1 (HDD)  | 20-500     | volume size (40Mib/s per TiB) |
| sc1 (HDD)  | 6-250      | volume size (12Mib/s per TiB) |

io1, st1 및 sc1의 경우 볼륨 크기에 따라 처리량 트래픽을 125Mib / s 이상으로 500Mib / s로 버스트 할 수 있습니다.

예를 들어 EBS 볼륨을 RAID0으로 배포하여 처리량을 추가로 증가시킬 수 있습니다

EFS

EFS 문서 에서 가져온

| Filesystem |    Base    |   Burst    |
|    Size    | Throughput | Throughput |
|    GiB     |   MiB/s    |   MiB/s    |
|------------|------------|------------|
|         10 |        0.5 |        100 |
|        256 |       12.5 |        100 |
|        512 |       25.0 |        100 |
|       1024 |       50.0 |        100 |
|       1536 |       75.0 |        150 |
|       2048 |      100.0 |        200 |
|       3072 |      150.0 |        300 |
|       4096 |      200.0 |        400 |

기본 처리량은 보장되며 버스트 처리량은 기본 처리량보다 낮은 상태에서 수집 한 크레딧을 사용합니다 (따라서 제한된 시간 동안 만 제공됩니다 . 자세한 내용 은 여기 참조).

S3

S3는 완전히 다른 것이므로 실제로 EBS 및 EFS와 비교할 수 없습니다. 또한 S3에 대해 게시 된 처리량 메트릭이 없습니다. 병렬로 다운로드하거나 (이 방법으로 기본적으로 무제한 처리량이 가능한 AWS 상태를 읽음) CloudFront를 믹스에 추가하여 처리량을 향상시킬 수 있습니다


2

간단한 말로

Amazon EBS는 블록 레벨 스토리지를 제공합니다.

Amazon EFS는 네트워크 연결 공유 파일 스토리지를 제공합니다.

Amazon S3는 객체 스토리지를 제공합니다.


1

EBS는 동일한 AZ의 인스턴스에 연결될 수 있으며 인스턴스 수명에 관계없이 살아남을 수있는 단순한 블록 수준 스토리지입니다.

그러나 흥미로운 차이점은 EFS와 S3의 차이점이며 적절한 사용 사례를 식별하는 것입니다.

비용 : EFS는 S3보다 약 10 배 비쌉니다.

사용 사례:

  • 파일을 동시에 처리해야하는 수천 개의 인스턴스가있을 때마다 S3보다 EFS가 권장됩니다.
  • 또한 S3는 객체 기반 저장소이고 EFS는 파일 기반이므로 파일을 지속적으로 업데이트 (새로 고침)해야 할 때마다 EFS를 사용해야 함을 의미합니다.
  • S3는 결국 일관되고 EFS는 일관됩니다. 최종 일관성을 감당할 수없는 경우 EFS를 사용해야합니다

0

Amazon EBS는 블록 레벨 스토리지를 제공합니다. 파일 시스템을 생성하고 파일을 저장하는 데 사용됩니다. Amazon EFS-NAS / SAN과 유사한 공유 스토리지 시스템. 유닉스 서버에 마운트하여 사용해야합니다. Amazon S3-각 항목이 http URL과 함께 저장되는 객체 기반 스토리지입니다.

차이점 중 하나는-EBS를 한 번에 하나의 인스턴스에 연결할 수 있고 EFS를 스토리지를 공유하는 여러 인스턴스에 연결할 수 있다는 것입니다. S2 일반 오브젝트 스토리지를 마운트 할 수 없습니다.


0

EFS & S3의 목적은 동일하며 모든 종류의 객체 또는 파일을 저장할 수 있습니다.

그러나 저에게 유일한 차이점은 EFS는 VM (EC2) 클라우드에서 기존 파일 시스템을 여러 인스턴스에 연결할 수있는 것과 같은 유연성을 제공 할 수 있다는 것입니다.

반면 S3는 객체를위한 유연하고 탄력적 인 별도의 서버입니다. 정적 파일, 이미지, 비디오 또는 호스팅 정적 앱 (js)에 사용할 수 있습니다.

EBS는 분명히 OS 또는 OS와 관련된 것을 설치할 수있는 블록 스토리지 용입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.