Amazon EC2术语 – AMI vs. EBS vs. Snapshot vs. Volume

我一直在围绕亚马逊EC2,并且对一些术语有些困惑。 具体涉及AMI,快照和卷以及EBS

如果我错了,请纠正我,或者在我的以下陈述中填写任何严重的漏洞:

  • AMI(Amazon Machine Image)是一个操作系统和configuration的完整“磁盘”捕获。 当你启动一个实例时,你从AMI启动它

  • 一个EBS(弹性块存储)是一种方法来保持您从一个给定的AMI启动后所做的任何修改的状态。 在我看来,这就像你的实例和AMI的最终状态差不多。

  • 快照是…好吧,我不确定。 我只能假定它是一个特定实例的快照,但我不清楚这与EBS中存储的状态有什么不同。 快照与现有实例创buildEBS AMI有何不同?

  • 卷是…它似乎挂载了一个AMI / EBS对加载的磁盘空间? 我也不确定。 我可以看到(从AWS控制台)可以从快照创build卷,并且可以附加/分离卷,但是我不清楚为什么何时可以这样做。

正如你所说,AMI是一个机器图像。 它是作为图像存储的系统的总体快照,可以作为实例启动。 我们会在一秒钟之内回到AMIs。

让我们看看EBS。 你的其他两个项目是这个子项目。 EBS是一个虚拟块设备。 你可以把它看作是一个硬盘驱动器,虽然它连接到另一种存储设备真的是一堆软件魔法,但它看起来像一个实例的硬盘驱动器。

EBS只是整个服务的名称。 在EBS里面你有所谓的卷。 这些是亚马逊卖给你的“单位”。 你创build一个卷,他们分配X个千兆字节,你可以使用它像一个硬盘,你可以插入任何运行的计算机(实例)。 卷可以创build空白或从前卷的快照副本,这使我们到下一个主题。

快照是…好的…卷的快照:精确地捕捉卷在特定时刻的样子,包括其所有数据。 你可以有一个卷,附加到你的实例,填补东西,然后快照,但继续使用它。 卷的内容会随着文件系统的使用而不断变化,但快照会被及时冻结。 您可以使用此快照作为基础创build新卷。 新的卷看起来就像您拍摄快照时的第一张磁盘。 您可以开始使用新卷replace旧卷来回滚数据,也可以将相同的数据集附加到第二台机器上。 您可以在任何时间点继续拍摄卷的快照。 这就像一个冻结的实例备份,可以随时轻松地将其制作成一个新的活动磁盘(卷),只要你需要它。

因此,卷可以基于新的空白空间或快照。 了解? 卷可以从任何实例连接和分离,但是一次只能连接到一个实例,就像它们是虚拟抽象的物理磁盘一样。

现在回到AMI。 这是棘手的,因为有两种types。 一个创build一个短暂的实例,其中根文件系统看起来像一台计算机的驱动器,但实际上坐在内存的某个地方,并蒸发一分钟停止使用。 另一种称为EBS支持的实例。 这意味着,当您的实例加载时,它将其根文件系统加载到新的EBS卷上,基本上将EC2虚拟机技术分层到EBS技术之上。 一个常规的EBS卷位于EC2旁边,可以连接,但是EBS支持的实例本身也是一个卷。

一个普通的AMI只是一大块数据,被加载成一台机器。 EBS支持的AMI将被加载到EBS卷上,因此您可以将其closures,并且将从停止的位置开始恢复,就像真实的磁盘一样。

现在把它放在一起。 如果一个实例是EBS支持的,您也可以对其进行快照。 基本上,这正是一个常规的快照,一个瞬间你的计算机的根磁盘的冻结帧。 在实践中,它有两个不同的东西。 一个是它closures你的实例,以便你得到一个磁盘的副本,因为它会看到一台closures计算机,而不是一个。 这使得它更容易启动:)所以,当你快照一个实例时,它closures它,获取磁盘图片,然后再次启动。 其次,它将图像保存为AMI而不是常规磁盘快照。 基本上它是卷的可启动快照。

我想让我们简单一点。 从现有的实例创build一个AMI模板(比如实例#1)注意,当你创build一个AMI模板的时候,你也会有一个卷快照,看看你的快照部分,当你想创build新的实例时,select新创build的AMI模板,它会在AMI模板创build时select快照。

现在,如果您从实例#1的卷创build快照,则可以。 从AMI模板创build新实例,然后分离为其自动创build的卷,然后附加从实例#1的卷创build的快照卷。