在创建一个EC2实例的时候,我们可以选择两种主要的存储类型作为EC2的存储设备,一种是弹性块存储EBS (Elastic Block Store),另一种则是实例存储(Instance Store Volumes)。
EBS的特点
- 亚马逊EBS卷提供了高可用、可靠、持续性的块存储,EBS可以依附到一个正在运行的EC2实例上
- 如果你的EC2实例需要使用数据库或者文件系统,那么建议使用EBS作为首选的存储设备
- EBS卷的存活可以脱离EC2实例的存活状态。也就是说在终止一个实例的时候,你可以选择保留该实例所绑定的EBS卷
- EBS卷可以依附到同一个可用区(AZ)内的任何实例上
- EBS卷可以被加密,如果进行了加密那么它存有的所有已有数据,传输的数据,以及制造的镜像都会被加密
- EBS卷可以通过快照(Snapshot)来进行(增量)备份,这个快照会保存在S3 (Simple Storage System)上
- 你可以使用任何快照来创建一个基于该快照的EBS卷,并且随时将这个EBS卷应用到该区域的任何实例上
- EBS卷创建的时候已经固定了可用区,并且只能给该可用区的实例使用。如果需要在其他可用区使用该EBS,那么可以创建快照,并且使用该快照创建一个在其他可用区的新的EBS卷
- 快照还可以复制到其他的AWS区域
不同类型的EBS卷
在我们创建EC2的时候,可以更改所使用的EBS卷的大小和类型。不同类型的EBS会给实例提供不一样的IO和吞吐,他们分别是预配置IOPS SSD(Provisioned IOPS SSD),通用型SSD(General Purpose SSD),吞吐量优化型HDD(Throughput Optimized HDD),Cold HDD。还有一种叫做Magnetic类型的磁盘,是最老的磁盘类型,在下面图没有标出。
下面可以给大家比较一下不同类型之间的区别。
实例存储
- 实例存储为EC2实例提供了短暂的块存储设备
- 实例存储(Instance Store Volumes)又叫做短暂型存储(Ephemeral Storage)
- 实例存储是AWS的宿主机上依附的存储(可以理解为实例存储是真实的物理机上安装的磁盘,如下图;而EBS则是专门的另外的存储设备)
- 实例存储比较适合存放短暂型、变化很快的数据,比方说缓存、爬虫数据和其他短暂的数据
- 实例存储的大小取决于实例的类型
- 实例存储的存活与否与实例的状态有关系
- 实例重启,实例存储的数据将不受影响
- 一旦实例终止,实例存储将永久消失
- 实例存储的实例不能进入停止状态(Stop),只能重启(Reboot)或者终止(Terminate)。
另外,需要注意的是,并不是所有的实例类型都支持实例存储。在创建实例的时候,你可以在AWS市场上选择支持实例存储的镜像,然后在下一步你只能选择某些特定的实例类型大小;而对于EBS来说,没有那么多限制,你可以选择任意的实例类型大小。