亚马逊AWS给用户提供了不同种类的云存储方案,不同的存储系统有不一样的特性和优劣,因此在选择的时候需要从多个方面进行考虑。比较AWS提供的三种主要的存储:AWS Elastic Block Store (EBS)Simple Storage Service (Amazon S3)Elastic File System (EFS)

AWS S3

AWS S3对于静态页面的托管、多媒体分发、版本管理、大数据分析、数据存档来说都非常有用。S3可以和AWS CloudFront结合使用而达到更快的上传和下载速度。

你可以把S3就想象成一个网盘

AWS EBS

AWS EBS是可以用来做数据库或托管应用程序的持续性文件系统,EBS具有很高的IO读写速度并且即插即用。

你可以把EBS想象成EC2的硬盘,如果EC2的实例挂掉,那么用来建立EC2的那个EBS卷也会挂掉(Windows系统的C盘),而别的EBS卷,即使挂载到EC2上,也会仍然存在(逻辑分区)。

  • EBS仅能与EC2实例结合使用,而S3无此限制;
  • 数据传出:两者数据传出至Internet的费用目前一致;
  • S3可与CloudFront(CDN)结合使用,在某些情况下提高访问速度;
  • 存储:EBS的卷存储按每月预置的GB量计费,无论使用与否,而S3按照实际使用GB量收费;
  • 请求:EBS按卷的I/O请求进行收费,S3对GET及所有其他请求按次数进行收费,对于小文件S3的请求费用甚至会高于传输费用;
  • 两者数据传出至Internet的费用目前一致;S3的数据存储相对更为可靠,S3通过冗余方式将数据同步到多个设备,而EBS卷的持久性取决于您的卷大小和自上次快照后数据更新的比例,因此EBS提高持久性需定期快照至S3;

AWS EFS

相比前面两种存储,AWS EFS是比较新的一项服务。它提供了可以在多个EC2实例之间共享的网络文件系统,功能类似于NAS设备。可以用EFS来处理大数据分析、多媒体处理和内容管理。

下面是三种系统的详细对比:

特性Amazon S3EBSEFS
存储类型对象存储块存储块存储
存储大小没有限制最大为16TB没有限制
单个文件大小限制0字节~5TB没有限制最大52TB
IO吞吐量支持multipart上传如果使用single object upload,单个文件大小限制为5GB可以选择HDD或者SSD的磁盘类型,以提供不同的IO默认3GB
访问能通过因特网访问只能被单个EC2实例访问可以被上千个EC2实例同时访问
可用性99.99%99.99%高度可用(官方没有公布相关数据)
速度比较最慢最快中等
价格最便宜中等最贵

在真正采用某一种AWS存储类型的时候,需要考虑到上面的这些参数,以及真实的使用场景。每一种存储类型都有自己最适用的使用场景,都能最大化地发挥自己优势。

An application requires block storage for file updates. The data is 500 GB and must continuously sustain 100 MiB/s of aggregate read/write operations.
Which storage option is appropriate for this application?
A. Amazon S3
B. Amazon EFS
C. Amazon EBS
D. Amazon Glacier

Correct Answer: B
Reference -
https://docs.aws.amazon.com/efs/latest/ug/performance.html