所以我很难弄清楚这两者之间的区别。
据我了解,快照只是磁盘驱动器的备份,而AMI是整个系统的备份(或我应该说的实例),但不是整个系统技术上完全位于磁盘上驾驶?如果是这样,那么没有明显的区别,我错过了什么?
答案 0 :(得分:57)
有两种类型的AMI(和相应的实例):
实例存储(有时称为基于S3)。这些不太常见,我不建议初学者使用它们。实例存储AMI是根实例存储卷的一个副本加上一些元数据,所有这些都以特殊格式保存在S3存储桶中
EBS启动。这可能就是你正在使用的。 EBS引导AMI 是 EBS根卷的EBS快照,加上一些元数据,如体系结构,内核,AMI名称,描述,块设备映射等。
您可以拍摄EBS启动卷的快照,并通过将其注册到适当的元数据将其转换为EBS启动AMI。最棘手的部分是指定正确的AKI id(内核),以便正确启动。
答案 1 :(得分:20)
主要区别在于所提到的服务类型。快照属于EBS卷,您可以在某个时间点保存状态并使用相同的数据重新启动。
AMI类似,但它本身就是EC2实例。您无法拍摄非ebs支持的实例的快照,但可以创建一个AMI(系统映像)。
通常我使用EBS快照作为数据库卷的备份解决方案,我使用AMI来保存实例配置
答案 2 :(得分:14)
可以使用快照创建AMI。例如,使用单个“快照”,您可以使用相同的快照创建多个AMI,例如一个PV和一个HVM AMI。
因此,快照具有系统/ OS数据。 AMI是(快照+机器/硬件元数据)。
答案 3 :(得分:9)
我也对此感到困惑。这是理解它的最简单方法:
EBS Snapshot
通常代表特定EBS卷的备份,它可以是任何卷(根卷,数据卷等)
AMI
(Amazon机器映像)是整个EC2实例的备份。例如,通过适当的配置,可以创建包含多个EBS卷的AMI。
现在,这听起来可能令人困惑,但是它们都存储为“ EBS快照”。
就是这样想:
EBS Snapshot
只是数据备份。AMI
是特定时间的系统状态的表示。您也可以从中启动。答案 4 :(得分:5)
以下是AMI和EBS快照之间的更多差异:
1)AMI是可启动的,包含指向根设备的链接,可能包含指向其他数据卷快照的链接。
2)AMI中包含的数据映像不代表明确定义的时间点,除非重新启动实例,这通常是生产环境不可接受的。快照可以以一致的方式进行,因为它们的确切时间点可以控制,因此在快照启动之前,可以确保所有内容都已准备好进行备份"。
3)可以从Linux的根设备的现有快照创建AMI,但不能用于Windows。
答案 5 :(得分:1)
快照作为备份策略使用成本较低,因为当您有多个快照时,您只需支付一个完整备份,其余的只是差异,通常只是差异。
答案 6 :(得分:1)
您可以将AMI视为具有操作系统和已保存已安装组件的计算机的通用模板。
快照可以包含AMI所做的一切,但也可以保存EBS卷的磁盘数据。
您决定使用哪一个通常取决于您的实例是否支持EBS,以及您是否要完全重新创建所有数据完好无损或仅需要通用机器模板的计算机。
答案 7 :(得分:0)
根据AWS提供的定义,它阐明了差异 - 亚马逊机器映像(AMI)是一个包含软件配置的模板(例如,操作系统,应用程序服务器和应用程序)。在AMI中,您启动一个实例,该实例是作为云中虚拟服务器运行的AMI的副本。 而快照您可以通过获取时间点快照将EBS卷上的数据备份到Amazon S3。快照是增量备份,这意味着只保存最近快照之后已更改的设备上的块。删除快照时,仅删除该快照独有的数据。
答案 8 :(得分:0)
根据AWS提供的定义,
AMI是您可以从中启动EC2实例的模板。 EBS快照是EBS卷的块级副本。 EBS卷可以是引导卷(即包含操作系统),也可以是仅数据卷(例如,包含数据库文件)。您可以使用RegisterImage从快照创建AMI。
这是两个不同的概念,适用于不同的级别(EBS卷与EC2模板),但是,这两个概念之间存在某些依赖关系。
对于支持EBS的EC2实例(即从EBS卷启动的EC2实例),AMI被实现为启动卷的EBS快照+几个元数据(机器的体系结构-32位对64位- ,虚拟化类型-HVM与PV-等等...)
因此,对于支持EBS的EC2实例,AMI是EBS快照+ XML文件。您甚至可以根据自己拥有的启动卷的快照来创建自己的AMI。
答案 9 :(得分:0)
EBS Volume
是EC2之后的基础磁盘。 Snapshot
是特定volume
的时间点备份,而AMI是整个EC2实例的备份,该实例可能具有多个附加卷,就像虚拟机一样。
使用Packer,您可以构建自动机器映像,包括用于EC2的AMI,用于VMware的VMDK / VMX文件,用于VirtualBox的OVF导出等。
EC2 <-- EBS Volume (Boot) + EBS Volume
^
|
Snapshot (only of specific volume)
^
|
AMI (Combined snapshots of all volumes, snapshot must have boot volume)
^
|
Launch a new Instance (same installed softwares and configs, different specs)
快照可用于备份驱动器/卷。这是增量备份操作,这意味着每次您对卷进行快照时,它将仅添加自上次备份(不是整个备份)以来添加/引入的新更改(节省了备份时间,空间和最终成本)
快照可用于:
定期备份驱动器
更改卷的类型,例如,您遇到流量或读写操作,并且需要增加IO操作,因此将gp2
从io1
更改为IOPs
,将<{1}} < / p>
自定义AMI可以用于:
用于灾难恢复,以防当前正在运行的EC2实例损坏且无缘无故无法运行。
标准公司的AMI已安装了所有必备软件,这些软件可简化部署过程(例如,配置为连接到`Splunk,已安装一些监视和可观察性软件,已安装docker或已配置为连接Puppet或Chef在启动中)
AMI可以用于轻松地在不同区域中部署应用程序。
使用所有已安装的软件及其配置将服务器升级到更高或更高的规格
AMI可以在AWS账户之间公开共享。
答案 10 :(得分:0)
我会用外行的话来解释这个概念: 假设 EC2 实例为 PC/笔记本电脑 EBS 存储作为硬盘和 AMI 作为操作系统映像 因此,AMI 是 Amazon Machine Image,而 EBS Snapshot 是随时移动的弹性块存储快照。
AMI 用于新启动 EC2 实例,作为 EBS 快照,您可以在终止 EC2 实例之前进行备份,并且可以附加到任何 EC2 实例以进行存储和检索。