存储需求广泛而多样化,即便在单一组织机构中也是如此。而且如果无法对特定需求使用正确的服务,就可能为云存储额外支出费用。亚马逊Web服务(AWS)提供了多种选择,每一种都有不同的性能水平和价格。优化存储服务的第一步就是评估各种AWS云存储选择的优缺点。
AWS有三种存储服务可供选择:亚马逊简单存储服务(S3)、弹性块存储(EBS)和亚马逊Glacier。根据自身特定需求,可能会发现最佳的存储解决方案是这些服务中的一种,或者是全部三种服务的组合。
亚马逊S3
亚马逊简单存储服务是一种对象存储,旨在将大型数据量有条理的放入“桶(bucket)”中。这个桶有点类似于目录,且存储上限为5TB。
亚马逊S3在存储内容或者数据时效果较好,频繁访问数据并且能够容忍一些性能差异,比如大数据分析和文档管理。S3对象可以跨多种存储设备进行复制,增加耐久性,但是AWS提供了去冗余存储选择,且耐久性保证为99.99%,而不是标准S3的99.999999999%。S3标准存储初始价格为9.5美分/GB/月;去冗余初始价格为7.6美分/GB/月。
AWS弹性块存储(AWS Elastic Block Store)
在编程操作对象上,S3表现良好,但是并不适用于一些应用,这些应用要求性能担保水平,且要访问文件系统,比如关系型数据库。对于这些用例,EBS更适合。EBS随机附赠存储量上限为1TB。不像S3对象,可以从任何设备轻松访问,EBS容量附属于单一的弹性计算云(EC2)实例。EBS容量的核心优势在于能够提供输入/输出操作(IOPS)的保障水平。比如,应用可能需要数据库查询,两秒内返回结果,为了实现这个操作,存储系统需要在期望负载下执行1000次IOPS。对于只需要访问文件系统的案例,EBS容量价格为10美分/GB/月,加上10美分/一百万次IO操作。如果要提前准备IOPS水平,EBS容量费用为12.5美分/GB/月,加上10美分/提前准备IOPS/月。由于EBS设备限于1TB,可能需要在EC2实例上附加多个EBS设备。需要指出的是如果有多个IOPS预提供设备,就要为每一个EBS设备支付IOPS准备费用。
亚马逊Glacier
亚马逊Glacier是第三种选择,这是一种低成本归档存储服务。亚马逊Glacier是目前为止最便宜的存储选择,价格为1美分/GB/月,但是伴随着这种价格,也有明显的限制。
最重要的限制就是数据访问操作时间按照小时来衡量,而不是秒。因为一种典型的检索操作可能在任何地方发生,用三到五个小时完成,这项服务只适用于频繁访问内容的长期存储。比如,肯呢过使用亚马逊Glacier来存储电子邮件和文档,目的是为了法规遵从或者电子恢复。如果三个月内从亚马逊Glacier存储中检索编辑数据,AWS还收取额外的费用。
优化AWS云存储的关键在于均衡成本和性能,尤其强调性能、耐久性和访问时间。EBS存储提供了保证性能和文件系统存储,但是比其他的AWS服务成本更高。EBS最适用于I/O敏感应用使用,且不能忍受响应时间差异。提供IOPS需要使用EBS优化的EC2实例。实例可看做是IOPS性能的具体水平;比如,M1大型实例规定上限500 IOPS,但是M1超大型实例规定上限1000 IOPS。我们会发现提供IOPS需要更大的机器实例,因此也会产生额外的成本。
评估S3存储中访问对象的频率。如果针对扩展时期存储备份,但是很少访问更久的备份,这些就是迁移到亚马逊Glacier的不错候选。在S3中存放备份在一些时间段合乎情理,因为可能需要使用这些备份还原数据或者应用。亚马逊S3支持对象生命周期管理策略,包括从S3将数据自动化迁移到Glacier。管理员可以在亚马逊管理控制台或者以编程的方式定义迁移策略。更多细节详见亚马逊文档。