Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Image Builder 导入和导出虚拟机映像
当您从虚拟化环境中导出 VM 时,该过程会创建一个或多个磁盘容器文件,这些文件充当 VM 环境、设置和数据的快照。您可以使用这些文件导入 VM,并将其用作映像配方的基础映像。
对于 VM 磁盘容器,Image Builder 支持以下文件格式:
-
打开虚拟化存档 (OVA)
-
虚拟机磁盘 (VMDK)
-
虚拟硬盘 (VHD/VHDX)
-
Raw
导入使用磁盘创建 Amazon 系统映像 (AMI) 和 Image Builder 映像资源,这两个资源都可以用作自定义映像配方的基础映像。VM 磁盘必须存储在 S3 存储桶中才能导入。或者,您可以从现有EBS快照导入。
在 Image Builder 控制台中,您可以直接导入图像,然后使用输出图像或AMI在配方中使用,也可以在创建配方或配方版本时指定导入参数。有关作为映像配方的一部分进行导入的更多信息,请参阅 虚拟机导入配置。
将 VM 导入 Image Builder
Image Builder 与 Amazon EC2 VM 导入/导出集成,API使导入过程能够在后台异步运行。Image Builder 会引用虚拟机导入中的任务 ID 来跟踪其进度,并创建一个 Image Builder 映像资源作为输出。这允许您在虚拟机导入完成之前在配方中引用 Image Builder 映像资源。
- Console
-
要使用 Image Builder 控制台导入虚拟机,请执行以下步骤:
常规
-
为基本映像指定一个唯一的名称。
-
指定基本映像的版本。采用以下格式:major.minor.patch
。
-
您也可以为基本映像输入可选的描述。
基本映像操作系统
-
选择与您的虚拟机操作系统平台匹配的映像操作系统 (OS) 选项。
-
从列表中选择与您的虚拟机版本相匹配的操作系统版本。
虚拟机导入配置
-
当您从虚拟化环境中导出虚拟机时,该过程会创建一个或多个磁盘容器文件。这些文件充当虚拟机环境、设置和数据的快照。您可以使用这些文件导入虚拟机作为映像配方的基本映像。有关VMs在 Image Builder 中导入的更多信息,请参阅导入和导出 VM 映像。
要指定导入源的位置,请执行以下步骤:
导入源
在磁盘容器 1 部分中指定要导入的第一个虚拟机映像磁盘容器或快照的来源。
-
源-可以是 S3 存储桶,也可以是EBS快照。
-
选择磁盘的 S3 位置 – 输入 Amazon S3 中存储磁盘映像的位置。要浏览位置,请选择浏览 S3。
-
要添加磁盘容器,请选择添加磁盘容器。
-
IAM 角色
要将IAM角色与您的虚拟机导入配置相关联,请从IAM角色下拉列表中选择该角色,或者选择创建新角色来创建新角色。如果您创建了新角色,则IAM角色控制台页面将在单独的选项卡中打开。
-
高级设置 – 可选
以下设置可选:使用这些设置,您可以为导入创建的基本映像配置加密、许可、标签等。
基本映像架构
要指定虚拟机导入源的架构,请从架构列表中选择一个值。
加密
如果您的虚拟机磁盘映像已加密,则必须提供用于导入过程的密钥。要为导入指定KMS密钥,请从加密(KMS密钥)列表中选择一个值。该列表包含您的账户在当前区域中有权访问的KMS密钥。
许可证管理
导入虚拟机时,导入过程会自动检测虚拟机操作系统并将相应的许可证应用于基本映像。根据您的操作系统平台,许可证类型如下:
要将使用创建的许可证配置附加 Amazon License Manager 到您的基础映像,请从许可证配置名称列表中进行选择。有关 License Manager 的更多信息,请参阅使用 Amazon License Manager
-
许可证配置包含基于您的企业协议条款的许可规则。
-
Linux 仅支持BYOL许可证。
标签(基本映像)
标签使用键值对为您的 Image Builder 资源分配可搜索的文本。要为导入的基本映像指定标签,请使用键和值框输入键值对。
要添加标签,请选择 Add tag(添加标签)。要删除标签,请选择 Remove tag(删除标签)。
- Amazon CLI
-
要将虚拟机从磁盘导入AMI并创建可以立即引用的 Image Builder 映像资源,请按照以下步骤操作 Amazon CLI:
-
使用中的 Amazon 虚拟机导入/导出import-image命令启动EC2虚拟机导入。 Amazon CLI记下命令响应中返回的任务 ID。下一步中您将需要使用该值。有关更多信息,请参阅 VM Import/Export 用户指南 中的使用 VM Import/Export 将虚拟机作为映像导入。
-
创建CLI输入JSON文件
为了简化中使用的 Image Builder import-vm-image 命令 Amazon CLI,我们创建了一个JSON文件,其中包含我们要传递到命令中的所有导入配置。
JSON文件中数据值的命名约定遵循为 Image Builder API 操作请求参数指定的模式。要查看API命令请求参数,请参阅 Im EC2age Builder API 参考中的ImportVmImage命令。
要将数据值作为命令行参数提供,请参阅Amazon CLI 命令参考中指定的参数名。将 Image Builder import-vm-image 命令作为选项。
以下是我们在此示例中指定的参数的摘要:
-
名称(字符串,必填)— 要从导入中作为输出而创建的 Image Builder 映像资源的名称。
-
semanticVersion<major>(字符串,必填)—输出图像的语义版本,它按以下格式指定版本,每个位置都有数值来表示特定版本:。 <minor>。 <patch>。例如,1.0.0
。要了解有关 Image Builder 资源的语义版本控制的更多信息,请参阅 Image Builder 中的语义版本控制。
-
描述(字符串)— 映像配方的描述。
-
平台(字符串,必填)— 导入的 VM 的操作系统平台。
-
vmImportTaskID(字符串,必填)— Amazon EC2 虚拟机导入过程中的 ImportTaskId
(Amazon CLI)。Image Builder 会监控导入过程AMI,以提取其创建的图像生成器图像资源,然后立即生成可用于配方的 Image Builder 图像资源。
-
clientToken(字符串,必填)— 您为确保请求的等效性而提供的区分大小写的唯一标识符。有关更多信息,请参阅 Amazon 参考中的确保等性。EC2 API
-
标签(字符串映射)— 标签是附加到导入资源的键值对。最多允许 50 个键值对。
将文件另存为 import-vm-image.json
,以便在 Image Builder import-vm-image 命令中使用。
{
"name": "example-request",
"semanticVersion": "1.0.0",
"description": "vm-import-test",
"platform": "Linux",
"vmImportTaskId": "import-ami-01ab234567890cd1e",
"clientToken": "asz1231231234cs3z",
"tags": {
"Usage": "VMIE"
}
}
-
导入映像
使用您创建的文件作为输入并运行 import-vm-image 命令:
aws imagebuilder import-vm-image --cli-input-json file://import-vm-image.json
从您的映像版本中分发虚拟机磁盘 Amazon CLI
在常规映像构建过程中,您可以使用 Amazon CLI中的 Image Builder 分配配置,设置将支持的 VM 磁盘格式文件分配到目标区域的 S3 存储桶。有关更多信息,请参阅 为来自的输出 VM 磁盘创建分发设置 Amazon CLI。