이 질문의 제목에 따라 AWS EFS, EBS 및 S3의 실제 차이점은 무엇입니까?
각각에 대한 나의 이해 :
- S3는 어디서나 액세스 할 수있는 저장 시설입니다.
- EBS는 EC2에 장착 할 수있는 장치입니다
- EFS는 EC2에 마운트 할 수있는 파일 시스템입니다
그렇다면 왜 EFS보다 EBS를 사용합니까? 사용 사례는 같지만 의미 상 약간의 차이가있는 것 같습니까? EFS는 AZ에 복제되지만 EBS는 탑재 된 장치 일뿐입니다. EBS에 대한 이해가 부족하여 구별 할 수없는 것 같습니다.
왜 EFS보다 S3을 선택해야합니까? 둘 다 파일을 저장하고 확장하며 복제됩니다. S3에서는 EFS가 파일 시스템 인 것처럼 선택한 프로그래밍 언어에서 표준 I / O 방법으로 파일을 만들 수있는 SDK를 사용해야한다고 생각합니다. 그러나 이것이 유일한 차이점입니까?
답변
한마디로 대답 : 돈 : 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 스토리지 옵션 및 빙하 가격 인하
답변
사람들이 왜 EFS에 유리한 가장 강력한 이유를 강조하지 않는지 궁금합니다. EFS는 동시에 둘 이상의 EC2 인스턴스에 마운트 될 수있어 동시에 EFS의 파일에 액세스 할 수 있습니다.
(2020 년 5 월 편집, EBS는 현재 동시에 여러 EC2에 마운트를 지원합니다.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html 참조 )
답변
비교 수정 :
- S3는 어디서나 액세스 할 수있는 저장 시설입니다.
- EBS는 EC2에 장착 할 수있는 장치입니다
- EFS는 여러 EC2 인스턴스에 동시에 마운트 할 수있는 파일 시스템입니다
이 시점에서 EFS와 EBS를 비교하는 것은 아직 시기상조입니다. EFS의 성능은 알려져 있지 않으며 안정성도 알려져 있지 않습니다.
왜 S3를 사용 하시겠습니까?
- 파일이 하나 이상의 EC2 인스턴스에 ‘로컬’일 필요는 없습니다.
- (효과적으로) 무한한 용량
- 내장 웹 서비스, 인증
답변
비교에 추가하려면 : EFS의 (버스트) 읽기 / 쓰기 성능은 수집 된 크레딧에 따라 다릅니다. 크레딧 수집은 저장 한 데이터의 양에 따라 다릅니다. 더 많은 날짜-> 더 많은 크레딧. 즉, 자주 읽거나 쓰는 몇 GB의 스토리지 만 필요한 경우에는 크레딧이 곧 소진되고 througphput은 약 50kb / s로 떨어집니다. 이 문제를 해결하는 유일한 방법은 큰 더미 파일을 추가하여 크레딧 크레딧을 얻는 것입니다. 그러나 더 많은 스토리지-> 더 많은 비용.
답변
가격 및 기능 외에도 처리량도 크게 다릅니다 (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를 믹스에 추가하여 처리량을 향상시킬 수 있습니다
답변
간단한 말로
Amazon EBS는 블록 레벨 스토리지를 제공합니다.
Amazon EFS는 네트워크 연결 공유 파일 스토리지를 제공합니다.
Amazon S3는 객체 스토리지를 제공합니다.
답변
EBS는 동일한 AZ의 인스턴스에 연결될 수 있으며 인스턴스 수명에 관계없이 살아남을 수있는 단순한 블록 수준 스토리지입니다.
그러나 흥미로운 차이점은 EFS와 S3의 차이점이며 적절한 사용 사례를 식별하는 것입니다.
비용 : EFS는 S3보다 약 10 배 비쌉니다.
사용 사례:
- 파일을 동시에 처리해야하는 수천 개의 인스턴스가있을 때마다 S3보다 EFS가 권장됩니다.
- 또한 S3는 객체 기반 저장소이고 EFS는 파일 기반이므로 파일을 지속적으로 업데이트 (새로 고침)해야 할 때마다 EFS를 사용해야 함을 의미합니다.
- S3는 결국 일관되고 EFS는 일관됩니다. 최종 일관성을 감당할 수없는 경우 EFS를 사용해야합니다