我想要将亚马逊机器映像(AMI)的副本导出为虚拟机(VM),以在现场虚拟化环境中部署。
简短描述
使用 AWS 命令行界面(AWS CLI)和 VM Import/Export 开始映像导出任务。这会将您的 AMI 副本导出为写入 Amazon Simple Storage Service(Amazon S3)桶的虚拟机文件。使用导出的虚拟机在您的现场虚拟化环境中部署新的标准化实例。大多数 AMI 可以导出到 Citrix Xen、Microsoft Hyper-V 或 VMware vSphere。
解决方法
先决条件
- 查看虚拟机导出限制,确认 VM Import/Export 是否支持您的 AMI。
- 如果您以 AWS Identity and Access Management(IAM)用户身份登录,请确保您具有所需的 IAM 用户权限。
注意: 如果在运行 AWS CLI 命令时收到错误,请参阅 Troubleshoot AWS CLI errors。此外,确保您使用的是最新版本的 AWS CLI。
将 AMI 的副本导出为映像
要运行映像导出任务,请执行以下操作:
-
从您要导出的 Amazon Elastic Compute Cloud(EC2)实例创建由 Amazon Elastic Block Store(Amazon EBS)提供支持的 AMI。
对于 Linux,请参阅创建由 Amazon EBS 提供支持的 Linux AMI。
对于 Windows,请参阅创建自定义 Windows AMI。
-
在客户端计算机上安装 AWS CLI。然后,使用 IAM 用户的 AWS 凭证配置 AWS CLI。
-
在与您计划导出的 AMI 相同的 AWS 区域中创建新的 S3 存储桶。
-
在您用于 VM Import/Export 的区域中激活 AWS Security Token Service(AWS STS)。然后,创建所需的服务角色。
-
在安装了 AWS CLI 的客户端计算机上,运行 export-image 命令启动导出映像任务:
aws ec2 export-image --image-id example-ami-id --disk-image-format example-disk-image-format --s3-export-location S3Bucket=example-export-bucket,S3Prefix=exports/
**注意:**在此示例中,Amazon S3 密钥 prefixexport-ami-id.format 将导出的文件写入您指定的 S3 存储桶。您可以为导出的文件添加前缀。
export-image 命令输出示例:
{
"DiskImageFormat": "vmdk",
"ExportImageTaskId": "export-ami-1234567890abcdef0"
"ImageId": "example-ami-id",
"RoleName": "vmimport",
"Progress": "0",
"S3ExportLocation": {
"S3Bucket": "example-export-bucket",
"S3Prefix": "exports/"
},
"Status": "active",
"StatusMessage": "validating"
}
-
要检查导出映像任务的状态,运行 describe-export-image-tasks 命令:
aws ec2 describe-export-image-tasks --export-image-task-ids export-example-ami-id
describe-export-image-tasks 命令输出示例:
{
"ExportImageTasks": [
{
"ExportImageTaskId": "export-ami-1234567890abcdef0"
"Progress": "21",
"S3ExportLocation": {
"S3Bucket": "my-export-bucket",
"S3Prefix": "exports/"
},
"Status": "active",
"StatusMessage": "updating"
}
]
}
-
确认导出映像任务的状态变为已完成。这表明您导出的文件已准备就绪,可以作为对象放入您的 S3 存储桶。
已完成状态输出示例:
{
"ExportImageTasks": [
{
"ExportImageTaskId": "example-export-ami-id"
"S3ExportLocation": {
"S3Bucket": "example-export-bucket",
"S3Prefix": "exports/"
},
"Status": "completed"
}
]
}
-
使用 Amazon S3 控制台访问您的 S3 存储桶。然后,找到并下载该对象。
相关信息
直接从亚马逊机器映像(AMI)导出虚拟机
在 AWS 账户中创建 IAM 用户
AWS 安全凭证
亚马逊机器映像(AMI)
VM Import/Export 故障排除