我想使用 VM Import 将我在 AWS 上的本地服务器副本创建为 Amazon Elastic Compute Cloud(Amazon EC2)实例。
解决方法
您可以使用 AWS 命令行界面(AWS CLI)运行 VM Import/Export 作业。然后,将您的服务器副本创建为亚马逊机器映像(AMI),并上传到 Amazon Simple Storage Service(Amazon S3)桶。您可以将 AMI 作为 EC2 实例启动。
**注意:**如果在运行 AWS CLI 命令时收到错误,请确保使用的是最新版本的 AWS CLI。
对于大规模迁移,AWS 服务器迁移服务(SMS)会自动执行迁移过程。您可以导入在 VMware vSphere、Microsoft Hyper-V/SCVMM 和 Azure 上运行的本地虚拟机。
在开始之前,请执行以下操作:
- 确保您的虚拟机满足所有 VM Import/Export 要求。
- 查看支持的 Linux 和 Windows 操作系统、映像格式、许可选项以及 VM Import/Export 的限制。
- 如果您以 AWS Identity and Access Management(IAM)用户身份登录使用 VM Import/Export,则您的策略具有所需的权限。
1.请遵循 VM Export 所需配置中的指南。
2.在本地客户端上安装 AWS CLI,并使用为 VM Import 用户生成的 AWS 凭证对其进行配置。
3.在计划运行 EC2 实例的同一 AWS 区域创建一个新的 S3 桶。
4.使用信任策略 trust-policy.json(该策略允许 VM Import 服务代入角色)创建一个 IAM 角色,并命名为“vmimport”。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "vmie.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:Externalid": "vmimport"
}
}
}
]
}
5.将以下名为“vmimport”的 IAM 策略附加到 IAM 角色以授予权限。
**注意:**将 disk-image-file-bucket 替换为您的 S3 桶名称。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::disk-image-file-bucket",
"arn:aws:s3:::disk-image-file-bucket/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource": "*"
}
]
}
6.使用您选择的工具将映像上传到 S3 桶。
7.在客户端计算机上,运行 AWS CLI 命令 import-image。
8.要检查导入任务状态,请运行 AWS CLI 命令 describe-import-image-tasks。
9.将映像作为 AMI 导入后,按照使用旧启动实例向导启动实例的说明进行操作。或者,按照使用新启动实例向导启动实例的说明进行操作。
相关信息
将 VM 作为映像导入
在您的 AWS 账户 中创建 IAM 用户
编程访问
亚马逊机器映像(AMI)