

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 VM 作为映像导入
<a name="import-vm-image"></a>

从虚拟化环境中导出虚拟机后，您可以使用虚拟机导入/导出将其导入到亚马逊 EC2。无论 VM 来自哪里，导入过程都相同。

**Topics**
+ [将虚拟机导入 Amazon 的先决条件 EC2](#import-image-prereqs)
+ [将映像上传到 Amazon S3](#upload-image)
+ [导入 VM](#import-vm)

## 将虚拟机导入 Amazon 的先决条件 EC2
<a name="import-image-prereqs"></a>
+ 创建 Amazon Simple Storage Service（Amazon S3）存储桶用于存储导出的映像或者选择现有的存储桶。存储桶必须位于您要导入的区域 VMs。有关 S3 存储桶的更多信息，请参阅 [Amazon Simple Storage Service 用户指南](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)。
+ 创建命名为 `vmimport` 的 IAM 角色。有关更多信息，请参阅 [所需的服务角色](required-permissions.md#vmimport-role)。
+ 如果您尚未在用于运行导入命令的计算机 AWS CLI 上安装，请参阅《[AWS Command Line Interface 用户指南》](https://docs.aws.amazon.com/cli/latest/userguide/)。
**提示**  
在[支持的 AWS 区域](https://docs.aws.amazon.com/cloudshell/latest/userguide/supported-aws-regions.html)中，您还可以使用[AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)，以实现可从 AWS 管理控制台直接启动并且已经预先通过身份验证的浏览器式 shell。

## 将映像上传到 Amazon S3
<a name="upload-image"></a>

使用所选的上传工具将虚拟机映像文件上传到 S3 存储桶。有关通过 Amazon S3 控制台上传对象的信息，请参阅[上传对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)。

## 导入 VM
<a name="import-vm"></a>

将虚拟机映像文件上传到 Amazon S3 后，您可以使用导 AWS CLI 入映像。这些工具接受 S3 存储桶和文件路径，或者公有 Amazon S3 文件的 URL。私有 Amazon S3 文件需要[预签名 URL]( https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html)。

您也可以使用 [Migration Hub Orchestrator](https://console.aws.amazon.com/migrationhub/orchestrator/) 控制台中的“*将虚拟机映像导入 AWS 模板*”，将本地虚拟机映像导入到 AWS。有关更多信息，请参阅 [示例 4：使用 Migration Hub Orchestrator 导入映像](#import-vm-mho)。

**重要**  
AWS VM Import/Export 强烈建议您在创建新的 VM Import 任务时为`--license-type`或`--usage-operation`参数指定一个值。这样可以确保您的操作系统获得适当的许可，并且您的计费得到优化。有关更多信息，请参阅 [为您的进口商品提供许可 VMs](licensing.md)。
AWS 虚拟机 Import/Export 仅支持原生安装在源虚拟机中的映像，不支持使用 physical-to-virtual (P2V) 转换过程创建的映像。有关更多信息，请参阅[虚拟机 Import/Export 要求](vmie_prereqs.md)。

**Topics**
+ [示例 1：使用 OVA 文件导入映像](#import-vm-single-disk)
+ [示例 2：用多个磁盘导入映像](#import-vm-multi-disk)
+ [示例 3：在启用了加密选项的情况下导入](#import-vm-encrypted)
+ [示例 4：使用 Migration Hub Orchestrator 导入映像](#import-vm-mho)

### 示例 1：使用 OVA 文件导入映像
<a name="import-vm-single-disk"></a>

------
#### [ AWS CLI ]

使用以下 [https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html) 命令。

```
aws ec2 import-image \
    --description "$(date '+%b %d %H:%M') {{My server VM}}" \
    --license-type "AWS" \
    --disk-containers '[{
    "Format": "OVA",
    "UserBucket": {
      "S3Bucket": "{{amzn-s3-demo-import-bucket}}",
      "S3Key": "{{vms}}/{{my-server-vm.ova}}"
    }
  }]'
```

------
#### [ PowerShell ]

按如下方式使用 [Import-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Import-EC2Image.html) cmdlet。

```
Import-EC2Image `
    -Description ((Get-Date -Format "MMM dd HH:mm ") + "{{My server OVA}}") `
    -LicenseType "AWS" `
    -DiskContainer @(
        @{
            Format = "OVA"
            UserBucket = @{
                S3Bucket = "{{amzn-s3-demo-import-bucket}}"
                S3Key = "{{vms}}/{{my-server-vm.ova}}"
            }
        }
    )
```

------

### 示例 2：用多个磁盘导入映像
<a name="import-vm-multi-disk"></a>

------
#### [ AWS CLI ]

使用 [https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html) 命令。

```
aws ec2 import-image \
    --description "$(date '+%b %d %H:%M') {{My server disks}}" \
    --license-type "AWS" \
    --disk-containers '[
    {
      "Description": "{{First disk}}",
      "Format": "vmdk",
      "UserBucket": {
        "S3Bucket": "{{amzn-s3-demo-import-bucket}}",
        "S3Key": "{{disks}}/{{my-server-vm-disk2.vmdk}}"
      }
    },
    {
      "Description": "{{Second disk}}",
      "Format": "vmdk",
      "UserBucket": {
        "S3Bucket": "{{amzn-s3-demo-import-bucket}}",
        "S3Key": "{{disks}}/{{my-server-vm-disk2.vmdk}}"
      }
    }
  ]'
```

------
#### [ PowerShell ]

按如下方式使用 [Import-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Import-EC2Image.html) cmdlet。

```
Import-EC2Image `
    -Description ((Get-Date -Format "MMM dd HH:mm ") + "{{My server disks}}") `
    -LicenseType "AWS" `
    -DiskContainer @(
        @{
            Description = "{{First disk}}"
            Format = "vmdk"
            UserBucket = @{
                S3Bucket = "{{amzn-s3-demo-import-bucket}}"
                S3Key = "{{disks}}/{{my-server-vm-disk1.vmdk}}"
            }
        },
        @{
            Description = "{{Second disk}}"
            Format = "vmdk"
            UserBucket = @{
                S3Bucket = "{{amzn-s3-demo-import-bucket}}"
                S3Key = "{{disks}}/{{my-server-vm-disk2.vmdk}}"
            }
        }
    )
```

------

### 示例 3：在启用了加密选项的情况下导入
<a name="import-vm-encrypted"></a>

在整个导入过程中，不得禁用为加密提供的 CMK。有关更多信息，请参阅《Amazon EBS 用户指南》**中的 [Amazon EBS 加密](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html)。

------
#### [ AWS CLI ]

使用以下 [https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html) 命令。

```
aws ec2 import-image \
    --description "$(date '+%b %d %H:%M') {{My server OVA}}" \
    --encrypted \
    --kms-key-id {{0ea3fef3-80a7-4778-9d8c-1c0c6EXAMPLE}} \
    --disk-containers '[{
        "Format": "OVA",
        "UserBucket": {
          "S3Bucket": "{{amzn-s3-demo-import-bucket}}",
          "S3Key": "{{vms}}/{{my-server-vm.ova}}"
        }
    }]'
```

------
#### [ PowerShell ]

按如下方式使用 [Import-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Import-EC2Image.html) cmdlet。

```
Import-EC2Image `
    -Description ((Get-Date -Format "MMM dd HH:mm ") + "{{My server disks}}") `
    -LicenseType "AWS" `
    -DiskContainer @(
        @{
            Format = "OVA"
            UserBucket = @{
                S3Bucket = "{{amzn-s3-demo-import-bucket}}"
                S3Key = "{{vms}}/{{my-server-vm.ova}}"
            }0
        }
    ) `
    -Encrypted $true `
    -KmsKeyId "alias/aws/ebs"
```

------

### 示例 4：使用 Migration Hub Orchestrator 导入映像
<a name="import-vm-mho"></a>

------
#### [ Console ]

**使用模板导入映像**

1. 打开 [Migration Hub Orchestrator 控制台](https://console.aws.amazon.com/migrationhub/orchestrator)。

1. 在导航窗格中，选择**创建迁移工作流**。

1. 在**选择工作流模板**页面上，选择**将虚拟映像导入 AWS** 模板。

1. 配置并提交您的工作流程以开始 VM 导入。有关更多信息，请参阅 [https://docs.aws.amazon.com/migrationhub-orchestrator/latest/userguide/import-vm-images.html](https://docs.aws.amazon.com/migrationhub-orchestrator/latest/userguide/import-vm-images.html)。

------