本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-MigrateEC2ClassicToVPC
描述
AWSSupport-MigrateEC2ClassicToVPC
运行手册将 Amazon Elastic Compute Cloud (Amazon EC2) 实例从 EC2-Classic 迁移到虚拟私有云(VPC)。此运行手册支持使用 Amazon Elastic Block Store (Amazon EBS) 根卷迁移硬件虚拟机 (HVM) 虚拟化类型的 Amazon EC2 实例。
文档类型
自动化
所有者
Amazon
平台
Linux
参数
-
AutomationAssumeRole
类型:字符串
描述:(必需)允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称(ARN)。
-
ApproverIAM
类型:StringList
描述:(可选)可以批准或拒绝操作的 IAM 用户的 Amazon 资源名称 (ARN)。如果您为
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
选项需要获得批准才能停止在 EC2-Classic 中运行的 Amazon EC2 实例。此操作获得批准后,Amazon EC2 实例将停止,自动化将创建一个 Amazon Machine Image (AMI)。当 AMI 状态为available
时,将在指定的DestinationSubnetId
VPC 中的 AMI 启动一个新的 Amazon EC2 实例。如果在 EC2-Classic 中运行的 Amazon EC2 实例附加了弹性 IP 地址,该实例将被移至您 VPC 中新创建的 Amazon EC2 实例。如果在 VPC 中启动的 Amazon EC2 实例由于任何原因未能创建,该实例将被终止,并请求获得批准以在 EC2-Classic 中启动 Amazon EC2 实例。Test
选项创建 Amazon EC2 实例的 AMI,该实例无需重启即可在 EC2-Classic 中运行。由于 Amazon EC2 实例不会重启,因此我们无法保证所创建映像的文件系统完整性。当 AMI 状态为available
时,将在 VPC 中指定的DestinationSubnetId
中的 AMI 启动一个新的 Amazon EC2 实例。如果在 EC2-Classic 中运行的 Amazon EC2 实例附加了弹性 IP 地址,自动化将验证您指定的DestinationSubnetId
是否公有。如果在 VPC 中启动的 Amazon EC2 实例由于任何原因未能创建,该实例将被终止且自动化结束。 -
SNSNotificationARNforApproval
类型:字符串
描述:(必需)要向其发送批准通知的 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 实例属于硬件虚拟机虚拟化类型。 -
aws:assertAwsResourceProperty
- 确认您在InstanceId
参数中指定的 Amazon EC2 实例具有 Amazon EBS 根卷。 -
aws:executeScript
- 根据您为DestinationSecurityGroupId
参数指定的值视需要创建一个安全组。 -
aws:branch
- 根据您在DestinationSubnetId
参数中指定的值进行分支。 -
aws:executeAwsApi
- 标识您运行此自动化所在 AWS 区域 的默认 VPC。 -
aws:executeAwsApi
- 随机选择位于默认 VPC 中的子网的 ID。 -
aws:createImage
- 创建一个 AMI 而不重启 Amazon EC2 实例。 -
aws:branch
- 根据您为MigrationType
参数指定的值进行分支。 -
aws:branch
- 根据您为DestinationSubnetId
参数指定的值进行分支。 -
aws:runInstances
- 从创建 AMI 的启动一个新实例,而不重启 EC2 Classic 中的 Amazon EC2 实例。 -
aws:changeInstanceState
- 在上一步因任何原因而失败时终止新启动的 Amazon EC2 实例。 -
aws:runInstances
- 从创建的 AMI 启动一个新实例,而不重启DestinationSubnetId
(如果提供)中的 Amazon EC2 实例。 -
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
- 在 Amazon EC2 实例的 AMI 停止后创建一个。 -
aws:branch
- 根据为DestinationSubnetId
参数指定的值进行分支。 -
aws:runInstances
- 从 EC2 Classic 中的停止的 Amazon EC2 实例创建的 AMI 启动一个新实例。 -
aws:approve
- 等待批准以终止新启动的实例,并在上一步因任何原因而失败时在 EC2-Classic 中启动 Amazon EC2 实例。 -
aws:changeInstanceState
- 终止新启动的 Amazon EC2 实例。 -
aws:runInstances
- 从 AMI 启动一个新实例,该实例根据DestinationSubnetId
参数为在 EC2 Classic 中已停止的 Amazon EC2 实例创建。 -
aws:approve
- 等待批准以终止新启动的实例,并在上一步因任何原因而失败时在 EC2-Classic 中启动 Amazon EC2 实例。 -
aws:changeInstanceState
- 终止新启动的 Amazon EC2 实例。 -
aws:changeInstanceState
- 启动 EC2-Classic 中已停止的 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
- 在 EC2-Classic 中运行的 Amazon EC2 实例的虚拟化类型。
getInstanceProperties.rootDeviceType
- 在 EC2-Classic 中运行的 Amazon EC2 实例的根设备类型。
createAMIWithoutReboot.ImageId
- 在未重启在 EC2-Classic 中运行的 Amazon EC2 实例的情况下创建的 AMI 的 ID。
getDefaultVPC.VpcId
- 启动新 Amazon EC2 实例所在的默认 VPC 的 ID(如果未提供 DestinationSubnetId
参数的值)。
getSubnetIdinDefaultVPC.subnetIdFromDefaultVpc
- 启动新 Amazon EC2 实例所在的默认 VPC 的子网的 ID(如果未提供 DestinationSubnetId
参数的值)。
launchTestInstanceDefaultVPC.InstanceIds
- 在 Test
迁移类型期间在默认 VPC 中新启动的 Amazon EC2 实例的 ID。
launchTestInstanceProvidedSubnet.InstanceIds
- 在 Test
迁移类型期间在您指定的 DestinationSubnetId
中新启动的 Amazon EC2 实例的 ID。
createAMIAfterStoppingInstance.ImageId
- 在 EC2-Classic 中运行的 Amazon EC2 实例停止后创建的 AMI 的 ID。
launchCutOverInstanceProvidedSubnet.InstanceIds
- 在 CutOver
迁移类型期间在您指定的 DestinationSubnetId
中新启动的 Amazon EC2 实例的 ID。
launchCutOverInstanceDefaultVPC.InstanceIds
- 在 CutOver
迁移类型期间在默认 VPC 中新启动的 Amazon EC2 实例的 ID。
verifySubnetIsPublicTestDefaultVPC.IsSubnetPublic
- 在默认 VPC 中由自动化选择的子网是否为公有子网。
verifySubnetIsPublicTestProvidedSubnet.IsSubnetPublic
- 您在 DestinationSubnetId
中指定的子网是否为公有子网。