Wiz*_*Wiz 9 amazon-ec2 amazon-web-services
我看过很多关于创建AMI 的教程,但我从来没有真正理解 AMI 的完整概念。是指向实例的链接,还是它已存储且从未更改。此外,映像是否包括本地存储和安装在该实例上的所有软件包等,或者它只是特定实例配置的副本。谢谢
cyb*_*x86 10
在最简单的形式中,AMI 是对虚拟机的描述 - 虚拟化类型、架构(32/64 位)、内核和根设备。用亚马逊的话来说:
AMI 是包含软件配置(操作系统、应用程序服务器和应用程序)的模板,您可以在亚马逊经过验证的计算环境中运行这些配置。
EC2 实例是虚拟机,运行在亚马逊的硬件上。为了启动实例,需要一些最少的信息。此外,不同的实例类型支持不同的配置(例如有些不支持 32 位 AMI)。
每个 AMI 都有一个标识符(例如 ami-a1b2c3d4),并且该 AMI 的配置在创建后无法更改。(但是,您可以在启动时或在某些情况下,甚至在实例启动后覆盖许多设置)。
就根卷而言,AMI 包含对现有卷的引用(例如,它们引用 EBS 支持的实例的快照,或 S3 支持的实例中的映像部分)。
AMI 还包含一定程度的错误检查 - 通常是一个用户 ID 来表示所有权、加密密钥(用于加密图像)和一个签名(用于验证图像完整性)。通过查看创建 S3 支持的实例时创建的清单文件,您可以很好地了解 AMI 是什么——它只是一个包含数据和对其他项目(存储、内核等)的引用的文件。
映像将其作为块设备映射引用 - 它指定设备(例如 /dev/sda1)和数据源(临时(和 S3 部分,如果相关)或 ebs-snapshot)。由于 S3 部分已签名,并且 ebs-snapshots 无法更改(只能删除),因此从 AMI 启动实例(不覆盖其设置)应始终导致具有相同软件设置的实例。(请注意,由于用户数据或不同的块设备映射(例如,微实例没有临时存储,而其他实例类型有),从同一 AMI 启动的实例仍有可能在运行状态上有所不同。在这里,附加的卷与 AMI 分开存储,但由 AMI 以无法更改卷的方式进行引用。
在从 AMI 启动实例之前,您可以覆盖块储存设备映射(例如,添加额外的 EBS 卷,或者如果实例类型支持,则添加另一个临时卷)。对于 EBS 卷,在实例启动后,您可以分离根卷并完全附加不同的 EBS 卷。
因此,简要回答您的问题:是指向实例的链接,还是已存储且从未更改过。它被存储并且永远不会改变。
此外,映像是否包括本地存储和安装在该实例上的所有软件包等,或者它只是特定实例配置的副本。该映像包括本地存储和安装在该实例上的所有软件包等。(通常,这只是根卷,但可以设置 AMI 以启动具有多个填充卷的实例)。
归档时间: |
|
查看次数: |
1552 次 |
最近记录: |