如何使用 VM Import/Export 创建基于本地服务器的 Amazon EC2 实例?

2 分钟阅读
0

我想使用 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)