本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
直接从 Amazon 系统映像 (AMI) 中导出虚拟机 (AMI)
若您希望在现场虚拟化环境中部署新的标准化实例,基于 Amazon 系统映像(AMI)导出 VM 文件将非常有用。您可以将大部分 AMI 导出到 Citrix Xen、Microsoft Hyper-V 或 VMware vSphere。
导出映像时,将按存储导出虚拟机的存储桶的标准 Amazon S3 费率向您收费。此外,临时使用 Amazon EBS 快照可能会收取少量费用。有关 Amazon S3)定价的更多信息,请参阅 Amazon S3)定价
先决条件
要从 Amazon EC2 导出虚拟机,首先要满足以下先决条件。
-
安装 AWS CLI。有关更多信息,请参阅 AWS Command Line Interface 用户指南。
提示 在 suppAWS 区域 orted(支持的)中,您还可以使用,以AWS CloudShell获得基于浏览器的预先验证 shell,并直接从中启动AWS Management Console。
-
创建 Amazon S3 存储桶以存储导出的映像,或选择现有存储桶。存储桶必须位于您想要导出 VM 的区域。有关 S3 存储桶的更多信息,请参阅 Amazon Service 用户指南。
-
创建命名为
vmimport
的 IAM 角色。有关更多信息,请参阅 必需的服务角色。
导出映像的注意事项
导出映像和卷存在以下限制:
-
您必须将映像导出为您的虚拟化环境支持的以下映像格式之一:
-
虚拟硬盘 (VHD),该格式可与 Citrix Xen 和 Microsoft Hyper-V 虚拟化产品兼容。
-
流优化型 ESX 虚拟机磁盘 (VMDK),该格式可与 VMware ESX 和 VMware vSphere 版本 4、5 和 6 相兼容。
-
RAW 格式。
-
-
您不能导出包含 AWS 提供的第三方软件的映像。例如,VM Export 无法导出 Windows 或 SQL Server 映像或通过 AWS Marketplace 中的映像创建的任何映像。
-
您不能导出在块储存设备映射中包含加密 EBS 快照的映像。
-
您只能导出在块储存设备映射中指定的 EBS 数据卷,而不能导出在实例启动后附加的 EBS 卷。
-
如果您从其他AWS账户共享了图像,则无法从 Amazon EC2 导出该图像。
-
您不能同时为同一 AMI 执行多个导出映像任务。
-
默认情况下,每个区域同时进行的转换任务不能超过 5 个。此限制最多可调至 20。
-
不支持卷大小超过 1 TiB 的 VM。
-
您可以将卷导出到未加密的 Amazon S3 存储桶或使用 SSE-S3 加密加密的存储桶。您无法导出到使用 SSE-KMS 加密加密的 S3 存储桶。
启动导出图像任务
若要导出映像,请使用 export-image 命令。导出的文件使用以下 S3 密钥写入指定的 S3 存储桶:前缀 exp ort-am i-id。 格式(例如, my-export-bucket/exports/export-ami-1234567890abcdef0.vmdk)。
aws ec2 export-image --image-id
ami-id
--disk-image-formatVMDK
--s3-export-location S3Bucket=my-export-bucket
,S3Prefix=exports/
监视导出图像任务
要监控图像的导出,请使用以下describe-export-image-tasks命令:
aws ec2 describe-export-image-tasks --export-image-task-ids export-ami-
1234567890abcdef0
以下为响应示例。所示状态为 active
,表明导出任务正在进行。当状态为 completed
时,表示映像可供使用。
{
"ExportImageTasks": [
{
"ExportImageTaskId": "export-ami-1234567890abcdef0"
"Progress": "21",
"S3ExportLocation": {
"S3Bucket": "my-export-bucket",
"S3Prefix": "exports/"
},
"Status": "active",
"StatusMessage": "updating"
}
]
}
取消导出映像任务
如果需要,可以使用以下cancel-export-task命令取消正在导出的图像。
aws ec2 cancel-export-task --export-task-id export-ami-
1234567890abcdef0
如果导出任务完成或正在传输最后一个磁盘映像,则该命令将失败且会返回错误。