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

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

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