本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-MigrateEC2ClassicToVPC
描述
AWSSupport-MigrateEC2ClassicToVPC运行手册将亚马逊弹性计算云 (Amazon EC2) 实例从 EC2-Classic 迁移到虚拟私有云 (VPC)。本运行手册支持使用亚马逊弹性区块存储 (Amazon EBS) Elastic Block Store 根卷迁移硬件虚拟机 (HVM) 虚拟化类型的亚马逊 EC2 实例。
文档类型
自动化
所有者
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 | 测试
描述:(必需)要执行的迁移的类型。
该
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 Notification 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 中指定的子网是否为公有子网。