AWSSupport-MigrateEC2ClassicToVPC - AWS Systems Manager 自动化运行手册参考

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

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 中指定的子网是否为公有子网。