根据问题的标题,AWS EFS、EBS和S3之间的实际区别是什么?
我对每一个的理解:
S3是一种在任何地方都可以访问的存储设施
EBS是可以挂载到EC2上的设备
EFS是一个可以挂载到EC2上的文件系统
为什么要用EBS而不是EFS呢?看起来他们有相同的用例,但有轻微的语义差异?尽管EFS是跨az复制的,因为EBS只是一个挂载设备。我想我对EBS的理解不足,所以我无法区分。
为什么选择S3而不是EFS?它们都可以存储文件、缩放和复制。我想S3必须使用SDK,而EFS是文件系统,您可以使用您选择的编程语言中的标准I/O方法来创建文件。但这是唯一真正的区别吗?
除了价格和功能之外,吞吐量也有很大差异(正如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添加到组合中
AWS EFS、EBS和S3。从功能的角度来看,这是区别所在
EFS:
Network filesystem :can be shared across several Servers; even between regions. The same is not available for EBS case.
This can be used esp for storing the ETL programs without the risk of security
Highly available, scalable service.
Running any application that has a high workload, requires scalable storage, and must produce output quickly.
It can provide higher throughput. It match sudden file system growth, even for workloads up to 500,000 IOPS or 10 GB per second.
Lift-and-shift application support: EFS is elastic, available, and scalable, and enables you to move enterprise applications easily and quickly without needing to re-architect them.
Analytics for big data: It has the ability to run big data applications, which demand significant node throughput, low-latency file access, and read-after-write operations.
EBS:
对于NoSQL数据库,EBS为NoSQL数据库提供了峰值性能所需的低延迟性能和可靠性。
S3:
健壮的性能、可伸缩性和可用性:Amazon S3在资源采购周期或前期投资中免费扩展存储资源。
2)数据湖和大数据分析:创建一个数据湖,以原生格式保存原始数据,然后使用机器学习工具,分析来获得见解。
备份与恢复:安全、健壮的备份与恢复解决方案
数据归档
S3是一个善于存储大量备份或用户文件的对象存储。与EBS或EFS不同,S3不局限于EC2。存储在S3桶中的文件可以通过编程方式访问,也可以直接从AWS CloudFront等服务访问。许多网站使用它来保存他们的内容和媒体文件,这些文件可以通过AWS CloudFront有效地提供。