大话亚马逊AWS EC2存储

ec2_aws
ec2_aws

首先 AWS有三种宽泛的存储分类:实例存储(instance store),EBS(Elastic Block Storage)和S3

我们先探讨一下EBS和S3,稍后回到实例存储上。

EBS是一种可mount的存储,它可以作为EC2实例上的一个设备被mount上,多个EBS设备可以mount到同一个EC2实例上,并且他们可以通过softRAID组合成大的卷组。它是一种网络附加存储,所以可能产生较高的延迟,不过有一些方法可以减少这些延迟,稍后我们会进行讨论。

同一个AZ(availability zone)上的EBS可以被mount到同一个EC2实例上。S3却可以在任何地方访问到—这是S3的一个特性和角色所在。S3是一个基于web的存储服务,可以跨region复制,这让它可以在不同的AZ上可用。可以从一个region上copy S3上的数据到其他的region,所以理论上讲,S3的数据是可以跨region的。不过,它不被能mount,所以
它首要的用途是保存永久性的数据,例如快照文件(snapshots),对于S3的理解上脑海里要时刻记住它是一种存储服务,而不是单一的设备。

EBS还可以进一步提炼出两种分类:标准的和PIOPS(Provisioned IOPS)。标准的正如上面所描述的,注意,既然多个EBS设备可以mount到同一个EC2实例上,那么这些设备可以通过一些策略来提高读写性能。EBS的优化是EC2实例的一个重要配置,它指导你如何添加EBS设备到你的实例上。

因为EBS是共享磁盘资源,它们会有各种性能指标,这依赖于不同种类EC2实例的竞争程度。过去,AWS的用户都想分得更多的资源(slice of the pie)。Provisioned IOPS 成为了最终的解决办法。这种EBS是可调整和具有预见性的。根据你选择的IOPS,卷组数量来分配使用。注意PIOPS保证使用率为90%时你需要付出99%的费用,这一点很重要,这改变了你之前匹配的RAID方式使用磁盘设备,使用设备数量*0.9而不是速度*设备数量来计算你所需要的容量。

现在回到EBS的优化,注意到如果你需要更多的IOPS,你就会需要更多的pipe。通过提高EC2实例和EBS存储之间的网络带宽可以提高EBS的性能,重要的是你要知道如果选择了PIOPS,EBS优化也一定要选上,这样你就不会试图通过标准共享的网络方式提升你的PIOPS。这对于类似于cassandra的服务很重要,它强调数据的一致性和完整性,这样你也应该为标准EBS选择EBS优化。

很重要的一点是AWS的网络情况也跟EC2的实例大小有关系,在m1.xlarge实例上写操作要比m1.large更快一些,不是因为CPU,而是因为网络带宽质量。

总之,EBS优化是一个可选项,你应该事先进行评估和调查,它并不是试图提高性能的必选项,但可以作为防止磁盘吞吐率的下降的选择之一。使用固定pipes数量的
EBS实例,而不是仅仅为每个EC2实例配置一个EBS设备。当然一些特定的情况下普通的EBS已经超过了EBS优化的性能,尤其是小EC2的实例类型。

Amazon是不会告诉你他们做了怎样的改进,所以很难取猜测这些提高的选项,只需要你去付钱去提高性能就好啦。

让我们回到实例存储或者叫ephemeral存储。 这种存储是物理添加的,使得他的性能要比Cassandra集群使用的EBS要高。然而它会随着EC2实例的shutdown而消失。并且AWS还是对物理附加(physically-attached)和直接附加(direct-attached)做了区分。我认为物理附加仍然会在同一个rack上共享资源,直接附加仅仅用于EC2的附加实例上。

临时存储是可轮转的或这SSD设备,同样它可以配置RAID来提升性能。一个困扰的问题是EBS是否使用轮转(可擦写)的磁盘或者SSD? AWS官方并没有提供任何这方面的信息。当然这些并不是非常重要,如果你想提升EBS存储的性能,请选择PIOPS与EBS优化模式。

除非你想让你的ops team更加错综复杂,请选择具有临时存储的EC2实例以及带有直接附加的存储,并且选择适合自己的的EC2实例吧。

原文:datastax

发现一篇非常棒的文章,关于 aws instance 讲述的非常详细,大家可以参考下: https://www.guru99.com/creating-amazon-ec2-instance.html

2 Comments

  1. Hi,

    I reached out previously and hadn’t heard back from you yet. This tells me a few things:

    1) You’re being chased by a T-rex and haven’t had time to respond.
    2) You’re interested but haven’t had a time to respond.
    3) You aren’t interested. Whichever one it is, please let us know as we’re getting worried!

    Please respond 1,2, or 3. I do not want to be a bother.

    Regards,
    Alex

    ========================= Original Message===========================

    Hi,

    I was looking for information on AWS and was directed to your site on Facebook.

    I discovered that you had mentioned http://www.datastax.com/dev/blog/what-is-the-story-with-aws-storageat your page https://www.sudops.com/how-about-aws-storage.html. I would like to highlight that we have created an in-depth article https://www.guru99.com/creating-amazon-ec2-instance.html

    Could you please link to it?

    As a thank you, I would be happy to share your page with our 20k Social Media Followers.

  2. Fisher

    wow, It’s a perfect article, good job Alex! What can I do for you? I will link your page url in my article. 🙂

Comments are closed