本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
中指定的子网是否为公有子网。