我想在 AWS 上创建本地服务器的副本作为 Amazon Elastic Compute Cloud (Amazon EC2) 实例。如何使用 VM Import/Export 执行该操作?
解决方法
您可以使用 AWS 命令行界面 (AWS CLI) 运行 VM Import/Export 作业。然后,创建服务器的副本作为 Amazon 系统映像 (AMI),并将其上传到 Amazon Simple Storage Service (Amazon S3) 存储桶。您可以启动 AMI 作为 EC2 实例。
**注意:**如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI。
对于大规模迁移,AWS Server Migration Service (SMS) 可以自动执行迁移过程。您可以导入在 VMware vSphere、Microsoft Hyper-V/SCVMM 和 Azure 上运行的本地虚拟机。
开始之前,请执行以下操作:
- 确保您的 VM 符合所有的 VM Import/Export 要求。
- 检查支持的 Linux 和 Windows 操作系统、图像格式、许可选项及 VM Import/Export 的 限制。
- 如果以 AWS Identity and Access Management (IAM) 用户的身份登录以使用 VM Import/Export,请确保您的策略中具有 IAM 用户所需的权限。
1. 请遵循 VM 导出的所需配置中的指南。
2. 在本地客户端上安装 AWS CLI,然后使用为 VM Import 用户生成的 AWS 凭证对其进行配置。
3. 在您计划运行 EC2 实例所在的 AWS 区域中创建新的 S3 存储桶**。**
4. 使用信任策略 trust-policy.json 创建名为“vmimport”的 IAM 角色,以使 VM Import 服务承担该角色。
{
"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 用户
程序访问
Amazon 系统映像 (AMI)