ChatGPT解决这个技术问题 Extra ChatGPT

EBS 与实例存储的优势(反之亦然)[关闭]

关闭。这个问题需要更加集中。它目前不接受答案。想改进这个问题?更新问题,使其仅通过编辑此帖子专注于一个问题。 6年前关闭。改进这个问题

对于我在 Amazon EC2 上的实例,我不清楚我从 EBS 与实例存储中获得了什么好处。如果有的话,EBS 似乎更有用(停止、启动、持续 + 更好的速度),而成本差异相对较小......?此外,考虑到 EBS 仍然相对较新,是否有更多的人在使用 EBS 时是否有任何衡量标准?

“微型”也仅在您使用 EBS 支持的实例时可用。
实例存储卷要快得多,并且不是基于网络的存储!
我个人使用实例存储将我启动并运行的 MongoDB 集合转储到其中并将其放在 S3 上,原因有两个。首先它是分开的,它不会降低我的 10 卷 EBS RAID 的写入速度。其次,它比 EBS 快得多,而且因为它是我的实例附带的,所以我没有必要创建额外的 EBS 卷来进行转储并在将它们放在 S3 上后销毁它们。希望它有所帮助,而不是建设性的我的一个..
我已经完成了 AWS 用户指南(700 页)的一半。仔细阅读 EBS 和实例存储。我仍然无法理解为什么会有这样的差异。更令人困惑的是为什么Instance store 等同于S3,但名称不同。必须重新打开该问题才能获得对有用答案的更多贡献。

E
Eric J.

底线是您应该几乎总是使用 EBS 支持的实例。

这就是为什么

可以设置 EBS 支持的实例,以便它们不会(意外)通过 API 终止。

EBS 支持的实例可以在您不使用它们时停止,并在您再次需要它们时恢复(例如暂停虚拟 PC),至少与我在几十 GB EBS 存储上花费的相比,我的使用模式节省了更多的钱。

EBS 支持的实例在崩溃时不会丢失其实例存储(不是所有用户都需要,但可以更快地恢复)

您可以动态调整 EBS 实例存储的大小。

您可以将 EBS 实例存储转移到一个全新的实例(如果您在 Amazon 上运行的硬件出现故障或死机,这种情况时有发生,这很有用)

启动 EBS 支持的实例会更快,因为不必从 S3 获取映像。

如果您的 EBS 支持的实例的硬件计划进行维护,则停止和启动实例会自动迁移到新硬件。我还能够通过强制停止实例并再次启动它来在故障硬件上移动 EBS 支持的实例(您的里程可能因故障硬件而异)。

我是 Amazon 的重度用户,并且在该技术推出测试版后立即将我的所有实例切换到 EBS 支持的存储。我对结果非常满意。

EBS 仍然可能失败 - 不是灵丹妙药

请记住,任何基于云的基础架构都可能随时出现故障。相应地规划您的基础架构。虽然与临时存储实例相比,EBS 支持的实例提供了一定程度的持久性,但它们可能而且确实会失败。拥有一个 AMI,您可以根据需要在任何可用区启动新实例,备份您的重要数据(例如数据库),如果您的预算允许,运行多个服务器实例以实现负载平衡和冗余(理想情况下在多个可用区中) )。

什么时候不

在某些时间点,在 Instance Store 实例上实现更快的 IO 可能会更便宜。曾经有一段时间它肯定是真的。现在 EBS 存储有多种选择,可满足多种需求。随着技术的变化,选项及其定价会不断变化。如果您有大量真正一次性的实例(如果它们消失,它们不会对您的业务产生太大影响),请计算成本与性能。 EBS 支持的实例也可能随时死亡,但我的实践经验是 EBS 更耐用。


是的,以上也是我的想法......希望以某种方式在这里写下他们对实例存储的偏好作为比较......
实例存储支持的 EC2 也可以设置为不会意外终止。
我实际上正在将我的大多数 EBS 支持的 EC2 实例切换为使用实例存储。这实际上取决于您想要实现的目标。我正在切换是因为更好的 IO,并且因为我认为每个 EC2 实例在任何时候都是一次性的,或者:它随时都会崩溃,我将失去这样一个实例上的所有内容。以这种方式构建有助于获得真正的 HA 系统。另请参阅stu.mp/2011/04/the-cloud-is-not-a-silver-bullet.html
@Jim:至少当我在一年前写答案时,通过将许多 EBS 实例条带化到软件 RAID 配置中,您可以获得比使用实例存储更好的 IO。从 EBS 支持启动替换实例也比从 S3 支持快得多(实例存储从 S3 加载,这可能很慢)。在过去 6 个月左右的时间里,我在 AWS 上没有做太多事情;事情可能已经改变。
似乎有点不平衡——尽管可以运行 EBS 支持的实例并高度强调可回收性,但我认为让新手查看这篇文章并随后创建 EBS 支持的实例是危险的,因为他们可能不会保持这种状态同样强调可回收性,这可能是任何云基础架构中最重要的组成部分。大多数看到这个的人肯定对这些东西不熟悉
i
int3

我们 99% 的 AWS 设置都是可回收的。所以对我来说,如果我终止一个实例并不重要——什么都不会丢失。例如,我的应用程序自动部署在 SVN 的实例上,我们的日志被写入中央系统日志服务器。

我看到的实例存储的唯一好处是节省成本。否则,由 EBS 支持的实例获胜。埃里克提到了所有的优点。

[2012-07-16] 今天我会用不同的方式来表达这个答案。

在过去一年左右的时间里,我对 EBS 支持的实例没有任何好的经验。 AWS 上的最后一次停机也几乎破坏了 EBS。

我猜像 RDS 这样的服务也使用某种 EBS,而且这似乎在大多数情况下都有效。在我们自己管理的实例上,我们尽可能摆脱了 EBS。

摆脱我们将数据库集群移回铁(=真正的硬件)的扩展。我们的基础架构中唯一剩下的部分是数据库服务器,我们将多个 EBS 卷条带化到软件 RAID 中并每天备份两次。无论备份之间会丢失什么,我们都可以忍受。

EBS 是一种有点古怪的技术,因为它本质上是一个网络卷:从远程连接到您的服务器的卷。我并没有否定它所做的工作——它是一个了不起的产品,因为基本上无限的持久存储只是一个 API 调用。但它几乎不适合 I/O 性能是关键的场景。

除了网络存储的行为方式之外,所有网络都在 EC2 实例上共享。实例越小(例如 t1.micro、m1.small)就越糟糕,因为您在实际主机系统上的网络接口在多个在其上运行的虚拟机(=您的 EC2 实例)之间共享。

你得到的实例越大,它当然就越好。这里的更好意味着在合理范围内。

当需要持久性时,我总是建议人们使用 S3 之类的东西在实例之间集中。 S3 是一个非常稳定的服务。然后将您的实例设置自动化到可以启动新服务器并自行准备好的程度。那么就没有必要拥有比实例寿命更长的网络存储。

所以总而言之,我认为 EBS 支持的实例没有任何好处。我宁愿在引导程序中增加一分钟,然后以潜在的 SPOF 运行。


与标准相比,EBS IOPS 类卷的 IO 性能是否有显着提高?假设上述内容也适用于 EBS IOPS 卷。
两种技术都在发展。我在 2014 年写了这个评论,当时我有“预置 IOPS”EBS,但是 - “实例存储”现在是 SSD,比以前更快!临时存储总是会在速度方面取胜。所以我两者都用——在 EBS 上保留“持久”的东西,在实例存储上拥有所有的临时文件、日志、“TempDB”数据库、交换文件和其他东西。从两者中受益!
如果您需要一个分布式数据库,该数据库需要以分布式和持久的方式存储其数据,该怎么办?您是否不需要 EBS,因为实例存储不是持久的?
@CMCDragonkai 当然可以。现在有很多选择,例如 AWS 开始提供基于 SSD 的存储。我会调查这些并重新进行分析(单个与 RAID 等)。由于网络吞吐量,我还会考虑获得最大的实例。 EBS 在像 t1.micro 这样的实例上仍然是一个问题。
这个答案中关于网络性能的部分已经过时了 - 很长一段时间以来,已经存在各种可以以少量额外成本“优化 EBS”的实例,其中一些默认情况下是这样的(不收取附加费),它们具有面向 EBS 的专用网络接口,参见。 docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html
s
sehugg

我们喜欢实例存储。它迫使我们使我们的实例完全可回收,并且我们可以轻松地自动化在给定 AMI 上从头开始构建服务器的过程。这也意味着我们可以轻松更换 AMI。此外,EBS 仍然不时出现性能问题。


Netflix 也提出了同样的建议。
那么你在哪里存储基于块的持久文件呢?
D
Daniel Lopez

埃里克几乎做到了。我们 (Bitnami) 是流行的应用程序和开发框架(PHP、Joomla、Drupal,你懂的)的免费 AMI 的流行提供商。我可以告诉您,由 EBS 支持的 AMI 比由 S3 支持的 AMI 更受欢迎。一般来说,我认为 s3 支持的实例用于分布式的、有时间限制的作业(例如,大规模数据处理),如果一台机器发生故障,另一台机器会简单地启动。 EBS 支持的 AMIS 倾向于用于“传统”服务器任务,例如将状态保持在本地的 Web 或数据库服务器,因此需要在崩溃的情况下提供数据。

我没有看到提到的一个方面是,您可以在运行时拍摄由 EBS 支持的实例的快照,从而有效地让您对基础架构进行非常经济高效的备份(快照是基于块的和增量的)


S3 具有内置冗余。 EBS 有 none,因此您需要在其上部署冗余软件。
@Pacerier 根据 docs.aws.amazon.com/AWSEC2/latest/UserGuide/raid-config.html 的官方文档,这是不正确的
g
garnertb

我在上一个职位上的经历与 Eric 完全相同。现在在我的新工作中,我正在经历我在上一份工作中执行的相同过程......为 EBS 支持的实例重建所有 AMI - 并且可能作为 32 位机器(更便宜 - 但不能在 32 和64 台机器)。

EBS 支持的实例启动速度足够快,您可以开始使用 Amazon AutoScaling API,它允许您使用 CloudWatch 指标来触发其他实例的启动并将它们注册到 ELB(弹性负载均衡器),并在何时关闭它们不再需要。

这种动态自动扩展就是 AWS 的全部意义所在 - IT 基础设施的真正节省可以发挥作用。使用旧的 s3“InstanceStore”支持的实例进行自动缩放几乎是不可能的。


i
isomorphismes

我自己刚开始使用 EC2,所以不是专家,但 Amazon's own documentation 说:

我们建议您将本地实例存储用于临时数据,对于需要更高级别持久性的数据,我们建议您使用 Amazon EBS 卷或将数据备份到 Amazon S3。

强调我的。

我做的data analysis比网络托管更多,所以持久性对我来说并不像它对网站那样重要。鉴于亚马逊本身的区别,我不认为 EBS 适合所有人。

在我用过两者之后,我会尽量记住再次称重。


B
BobMcGee

EBS 就像 VM 的虚拟磁盘:

经久耐用,由 EBS 支持的实例可以自由启动和停止(省钱)

可以在任何时间点进行快照,以获得时间点备份

AMI 可以从 EBS 快照创建,因此 EBS 卷成为新系统的模板

实例存储为:

本地,所以通常更快

非联网,在正常情况下,EBS I/O 以网络带宽为代价(EBS 优化实例除外,它们具有单独的 EBS 带宽)

每秒 IOPS 的 I/O 有限。甚至预置的 I/O 也能达到几千 IOPS

脆弱的。一旦实例停止,您将丢失实例存储中的所有内容。

以下是每个的使用位置:

将 EBS 用于支持操作系统分区和永久存储(数据库数据、关键日志、应用程序配置)

将实例存储用于进程内数据、非关键日志和瞬态应用程序状态。示例:外部排序存储、临时文件等。

当实例之间存在复制(NoSQL 数据库、分布式队列/消息系统和具有复制的数据库)时,实例存储也可用于性能关键数据

将 S3 用于系统之间共享的数据:输入数据集和处理结果,或者用于每个系统在启动时使用的静态数据。

将 AMI 用于预烘焙、可启动的服务器


m
mezi

大多数人选择使用 EBS 支持的实例,因为它是有状态的。它更安全,因为您在其中运行和安装的所有内容都将在停止/停止或任何实例故障后继续存在。

实例存储是无状态的,如果发生任何实例故障情况,您可以将其与内部的所有数据一起丢失。但是,它是免费且速度更快的,因为实例卷与运行 VM 的物理服务器相关联。


A
Aishwat Singh

对于所有这一切的新手,如果不小心降落在这里

截至目前,快速入门部分中的所有 AMI 都支持 EBS

https://i.stack.imgur.com/a4Srj.png

official doc 也有很好的解释 EBSInstance store 之间的区别

https://i.stack.imgur.com/bdU8e.png


C
Community

如果您运行多个实例并将 AWS Instance 的计划服务分配为您在 Avoiding Unexpected Charges 上的优先级之一,我建议不要使用实例存储

正如 EBS 卷的文档以及 j2d3 和 Siddharth Sharma 的回答中所解释的那样,实例存储可以运行任意长时间,但不能停止。表示无法通过自动启动/停止或实例恢复来安排服务。

https://i.stack.imgur.com/m9mFR.jpg

作为结论,以您问题的主要部分:

似乎 EBS 更有用(停止、启动、持续 + 更好的速度),而成本差异相对较小......?

答案是,但如果您的实例是基于 EBS 的,则可以停止它。它将保留在您的帐户中,you will not be charged for it。您将只收取音量但 EBS is charged hourly。您还可以考虑,在所有 available types 中,您对 Resize the EBS Volume 具有灵活性。

除了Eric已经列出的好处外,还应注意在成本方面S3 may or may not be cheaper than EBS。我同意,如果您始终在同一平台和应用程序架构中运行 both types of instance,则成本差异相对较小。

但是,如果有在低成本服务上运行应用程序的场景,pull all unhandled taskrole them 通过 pipelineVPC/EBS lambda 在短时间内说 <每天 1 小时,这在您使用实例存储时是不可能做到的,那么情况就不同了。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅