

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

# `AWSSupport-MigrateEC2ClassicToVPC`
<a name="automation-awssupport-migrate-ec2-classic-to-vpc"></a>

**描述**

`AWSSupport-MigrateEC2ClassicToVPC`运行手册将亚马逊弹性计算云 (Amazon EC2) 实例从 EC2-Classic 迁移到虚拟私有云 (VPC)。本运行手册支持使用亚马逊弹性区块存储 (Amazon EBS) Elastic Block Store 根卷迁移硬件虚拟机 (HVM) 虚拟化类型的亚马逊 EC2 实例。

[运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-MigrateEC2ClassicToVPC)

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（必需）允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。
+ ApproverIAM

  类型： StringList

  描述：（可选）可以批准或拒绝操作的 IAM 用户的 Amazon 资源名称 (ARNs)。如果您为 `MigrationType` 参数指定 `CutOver` 值，则此参数才应用。
+ DestinationSecurityGroupId

  类型： StringList

  描述：（可选）您要与在您的 VPC 中启动的 Amazon EC2 实例关联的安全组的 ID。如果您未为此参数指定值，则自动化会在您的 VPC 中创建一个安全组，并从 EC2-Classic 中的安全组中复制规则。如果无法将规则复制到新的安全组，则您的 VPC 的默认安全组将与 Amazon EC2 实例关联。
+ DestinationSubnetId

  类型：字符串

  描述：（可选）您要将 Amazon EC2 实例迁移到的子网的 ID。如果您没有为此参数指定一个值，则自动化将从 VPC 中随机选择一个子网。
+ InstanceId

  类型：字符串

  描述：（必填）您要迁移的 Amazon EC2 实例的 ID。
+ MigrationType

  类型：字符串

  有效值： CutOver \$1 测试

  描述：（必需）要执行的迁移的类型。

  该`CutOver`选项需要获得批准才能停止在 EC2-Classic中运行的Amazon EC2 实例。此操作获得批准后，Amazon EC2 实例将停止，并且自动化会创建一个 Amazon Machine Image (AMI)。 当 AMI 状态为`available`，从此启动了一个新的 Amazon EC2 实例 AMI 在`DestinationSubnetId`您的 VPC 中指定的中。如果您在 EC2-Classic 中运行的 Amazon EC2 实例附加了弹性 IP 地址，则该实例将被移至您的 VPC 中新创建的亚马逊 EC2 实例。如果在您的 VPC 中启动的 Amazon EC2 实例由于任何原因未能创建，则该 EC2 实例将被终止并请求批准以 EC2-Classic 启动您的亚马逊实例。

  该`Test`选项创建了一个 AMI 您的 Amazon EC2 实例，该实例在 EC2-Classic 中运行，无需重启。由于 Amazon EC2 实例不会重启，因此我们无法保证所创建映像的文件系统的完整性。当 AMI 状态为`available`，从此启动了一个新的 Amazon EC2 实例 AMI 在您`DestinationSubnetId`的 VPC 中指定的中。如果您在 EC2-Classic 中运行的 Amazon EC2 实例附加了弹性 IP 地址，则自动化会验证`DestinationSubnetId`您指定的地址是否公开。如果在您的 VPC 中启动的 Amazon EC2 实例由于任何原因未能创建，则该实例将被终止并终止自动运行。
+ SNSNotificationARNfor批准

  类型：字符串

  描述：（必需）要向其发送批准通知的 Amazon Simple Notiﬁcation Service (Amazon SNS) 主题的 ARN。如果您为 `MigrationType` 参数指定 `CutOver` 值，则此参数才应用。
+ TargetInstanceType

  类型：字符串

  默认：t2.2xlarge

  描述：（可选）您要在您的 VPC 中启动的 Amazon EC2 实例的类型。仅支持基于 Xen 的实例类型，例如 T2、M4 或 C4。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `ssm:GetDocument`
+ `ssm:ListDocumentVersions`
+ `ssm:ListDocuments`
+ `ssm:StartAutomationExecution`
+ `sns:GetTopicAttributes`
+ `sns:ListSubscriptions`
+ `sns:ListTopics`
+ `sns:Publish`
+ `ec2:AssociateAddress`
+ `ec2:AuthorizeSecurityGroupIngress`
+ `ec2:CreateImage`
+ `ec2:CreateSecurityGroup`
+ `ec2:DeleteSecurityGroup`
+ `ec2:MoveAddressToVpc`
+ `ec2:RunInstances`
+ `ec2:StopInstances`
+ `ec2:CreateTags`
+ `ec2:DescribeAddresses`
+ `ec2:DescribeInstanceAttribute`
+ `ec2:DescribeInstances`
+ `ec2:DescribeInstanceStatus`
+ `ec2:DescribeRouteTables`
+ `ec2:DescribeSecurityGroupReferences`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeTags`
+ `ec2:DescribeVpcs`
+ `ec2:DescribeInstanceTypes`
+ `ec2:DescribeImages`

**文档步骤**
+ `aws:executeAwsApi`-收集您在`InstanceId`参数中指定的 Amazon EC2 实例的详细信息。
+ `aws:assertAwsResourceProperty` - 确认您在 `TargetInstanceType` 参数中指定的实例类型是基于 XEN。
+ `aws:assertAwsResourceProperty`-确认您在`InstanceId`参数中指定的 Amazon EC2 实例属于 HVM 虚拟化类型。
+ `aws:assertAwsResourceProperty`-确认您在`InstanceId`参数中指定的亚马逊 EC2 实例具有 Amazon EBS 根卷。
+ `aws:executeScript` - 根据您为 `DestinationSecurityGroupId` 参数指定的值视需要创建一个安全组。
+ `aws:branch` - 根据您在 `DestinationSubnetId` 参数中指定的值进行分支。
+ `aws:executeAwsApi` - 标识您运行此自动化所在 AWS 区域 的默认 VPC。
+ `aws:executeAwsApi` - 随机选择位于默认 VPC 中的子网的 ID。
+ `aws:createImage`-创建一个 AMI 无需重新启动 Ama EC2 zon 实例。
+ `aws:branch` - 根据您为 `MigrationType` 参数指定的值进行分支。
+ `aws:branch` - 根据您为 `DestinationSubnetId` 参数指定的值进行分支。
+ `aws:runInstances`-从启动新实例 AMI 在-Classic 中 EC2无需重启 Amazon EC2 实例即可创建。
+ `aws:changeInstanceState`-如果上一步由于任何原因失败，则终止新启动的 Amazon EC2 实例。
+ `aws:runInstances`-从启动新实例 AMI 创建时无需在 EC2-Classic 中重启亚马逊 EC2 实例（如果提供）。`DestinationSubnetId`
+ `aws:changeInstanceState`-如果上一步由于任何原因失败，则终止新启动的 Amazon EC2 实例。
+ `aws:assertAwsResourceProperty`-确认在 EC2-Classic 中运行的 Amazon EC2 实例的停止行为。
+ `aws:approve`-等待批准才能停止 Amazon EC2 实例。
+ `aws:changeInstanceState`-停止在 EC2-Classic 中运行的 Amazon EC2 实例。
+ `aws:changeInstanceState`-如果需要，强制停止在 EC2-Classic 中运行的 Amazon EC2 实例。
+ `aws:createImage`-创建一个 AMI Amazon EC2 实例停止后的数据。
+ `aws:branch` - 根据为 `DestinationSubnetId` 参数指定的值进行分支。
+ `aws:runInstances`-从启动新实例 AMI 在 EC2-Classic 中由已停止的 Amazon EC2 实例创建。
+ `aws:approve`-如果上一步由于任何原因失败，则等待批准终止新启动的实 EC2 例，并在 EC2-Classic 中启动 Amazon 实例。
+ `aws:changeInstanceState`-终止新启动的 Amazon EC2 实例。
+ `aws:runInstances`-从启动新实例 AMI 由`DestinationSubnetId`参数中的 EC2-Classic 中已停止的 Amazon EC2 实例创建。
+ `aws:approve`-如果上一步由于任何原因失败，则等待批准终止新启动的实 EC2 例，并在 EC2-Classic 中启动 Amazon 实例。
+ `aws:changeInstanceState`-终止新启动的 Amazon EC2 实例。
+ `aws:changeInstanceState`-启动在-C EC2 lassic 中停止的 Amazon EC2 实例。
+ `aws:branch`-基于 Amazon EC2 实例是否具有公有 IP 地址进行分支。
+ `aws:executeAwsApi` - 验证公有 IP 地址是否为弹性 IP 地址。
+ `aws:branch` - 根据您在 `MigrationType` 参数中指定的值进行分支。
+ `aws:executeAwsApi` - 将弹性 IP 地址移至您的 VPC。
+ `aws:executeAwsApi` - 收集已移至 VPC 的弹性 IP 地址的分配 ID。
+ `aws:branch`-分支基于在您的 VPC 中运行的 Amazon EC2 实例启动的子网。
+ `aws:executeAwsApi` - 将弹性 IP 地址附加到 VPC 中新启动的实例。
+ `aws:executeScript`-确认您在您的 VPC 中运行的新启动的 Amazon EC2 实例的子网是公有的。

**输出**

g `etInstanceProperties.virtualizationType`-在-C EC2 lassic 中运行的 Amazon EC2 实例的虚拟化类型。

`getInstanceProperties.rootDeviceType`-在-C EC2 lassic 中运行的 Amazon EC2 实例的根设备类型。

`createAMIWithoutReboot.ImageId`-的身份证 AMI 创建时无需重启在-Classic 中 EC2运行的 Amazon EC2 实例。

`getDefaultVPC.VpcId`-如果未提供`DestinationSubnetId`参数值，则为启动新 Amazon EC2 实例的默认 VPC 的 ID。

`getSubnetIdinDefaultVPC.subnetIdFromDefaultVpc`-如果未提供`DestinationSubnetId`参数值，则在默认 VPC 中启动新 Amazon EC2 实例的子网的 ID。



`launchTestInstanceDefaultVPC.InstanceIds`-`Test` 迁移类型期间在您的默认 VPC 中新启动的 Amazon EC2 实例的 ID。

`launchTestInstanceProvidedSubnet.InstanceIds`-您在`Test`迁移类型期间指定的新启动`DestinationSubnetId`的 Amazon EC2 实例的 ID。

`createAMIAfterStoppingInstance.ImageId`-的身份证 AMI 在停止在 EC2-Classic 中运行的 Amazon EC2 实例之后创建。

`launchCutOverInstanceProvidedSubnet.InstanceIds`-您在`CutOver`迁移类型期间指定的新启动`DestinationSubnetId`的 Amazon EC2 实例的 ID。

`launchCutOverInstanceDefaultVPC.InstanceIds`-`CutOver` 迁移类型期间在您的默认 VPC 中新启动的 Amazon EC2 实例的 ID。

`verifySubnetIsPublicTestDefaultVPC.IsSubnetPublic` - 在默认 VPC 中由自动化选择的子网是否为公有子网。

`verifySubnetIsPublicTestProvidedSubnet.IsSubnetPublic` - 您在 `DestinationSubnetId` 中指定的子网是否为公有子网。