AWSSupport-MigrateEC2ClassicToVPC - AWS Systems Manager 自動化 Runbook 參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWSSupport-MigrateEC2ClassicToVPC

Description

AWSSupport-MigrateEC2ClassicToVPC Runbook 會將 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體從 EC2-Classic 遷移至虛擬私有雲端 (VPC)。此 Runbook 支援使用 Amazon Elastic Block Store (Amazon EBS) 根磁碟區遷移硬體虛擬機器 (HVM) 虛擬化類型的 Amazon EC2 執行個體。

執行此自動化 (主控台)

文件類型

 自動化

擁有者

Amazon

平台

Linux

參數

  • AutomationAssumeRole

    類型:字串

    描述:(必要) 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。

  • ApproverIAM

    類型:StringList

    描述:(選用) 可以核准或拒絕動作的 IAM 使用者的 Amazon Resource Name (ARNs)。只有在您指定 參數CutOver的值時,才會套用此MigrationType參數。

  • DestinationSecurityGroupId

    類型:StringList

    描述:(選用) 您要與 VPC 中啟動的 Amazon EC2 執行個體建立關聯的安全群組 ID。如果您未指定此參數的值,自動化會在 VPC 中建立安全群組,並從 EC2-Classic 中的安全群組複製規則。如果規則無法複製到新的安全群組,則 VPC 的預設安全群組會與 Amazon EC2 執行個體相關聯。

  • DestinationSubnetId

    類型:字串

    描述:(選用) 您要遷移 Amazon EC2 執行個體的子網路 ID。如果您未指定此參數的值,自動化會從 VPC 隨機選擇子網路。

  • InstanceId

    類型:字串

    描述:(必要) 您要遷移的 Amazon EC2 執行個體 ID。

  • MigrationType

    類型:字串

    有效值:CutOver | Test

    描述:(必要) 您要執行的遷移類型。

    CutOver 此選項需要核准,才能停止在 Amazon EC2 EC2-Classic 執行個體。核准此動作後,Amazon EC2 執行個體會停止,自動化會建立 Amazon Machine Image(AMI)。當AMI狀態為 時available,新的 Amazon EC2 執行個體會在DestinationSubnetId您在 VPC AMI中指定的 中從此啟動。如果您在 EC2-Classic 中執行的 Amazon EC2 執行個體已連接彈性 IP 地址,執行個體將移至 VPC 中新建立的 Amazon EC2 執行個體。如果 VPC 中啟動的 Amazon EC2 執行個體因任何原因無法建立,則會終止,並請求核准才能在 EC2-Classic 中啟動 Amazon EC2 執行個體。 EC2-Classic

    Test 選項會建立AMI在 EC2-Classic 中執行的 Amazon EC2 執行個體的 ,而不重新啟動。 EC2-Classic 由於 Amazon EC2 執行個體不會重新啟動,我們無法保證所建立映像的檔案系統完整性。當AMI狀態為 時available,新的 Amazon EC2 執行個體會在DestinationSubnetId您在 VPC 中指定的 AMI 中從此啟動。如果您在 Amazon EC2 EC2-Classic 執行個體已連接彈性 IP 地址,自動化會驗證DestinationSubnetId您指定的 是公有的。如果 VPC 中啟動的 Amazon EC2 執行個體因任何原因無法建立,則會終止並結束自動化。

  • SNSNotificationARNforApproval

    類型:字串

    描述:(選用) 您要傳送核准請求的 Amazon Simple Notification Service (Amazon SNS) 主題的 ARN。只有在您指定 參數CutOver的值時,才會套用此MigrationType參數。

  • TargetInstanceType

    類型:字串

    預設:t2.2xlarge

    描述:(選用) 您想要在 VPC 中啟動的 Amazon EC2 執行個體類型。僅支援以 Xen 為基礎的執行個體類型,例如 T2, M4 或 C4。

必要的 IAM 許可

AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。

  • 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 參數中指定的 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建立的 啟動新的執行個體,而不重新啟動 Amazon EC2 EC2-Classic 執行個體。

  • aws:changeInstanceState - 如果上一個步驟因任何原因失敗,則終止新啟動的 Amazon EC2 執行個體。

  • aws:runInstances - 如果DestinationSubnetId提供 ,則從AMI建立的 啟動新的執行個體,而不在 EC2-Classic 中重新啟動 Amazon EC2 執行個體。 EC2-Classic

  • aws:changeInstanceState - 如果上一個步驟因任何原因失敗,則終止新啟動的 Amazon EC2 執行個體。

  • aws:assertAwsResourceProperty - 確認在 Amazon EC2 EC2-Classic 執行個體的停止行為。

  • aws:approve - 等待核准以停止 Amazon EC2 執行個體。

  • aws:changeInstanceState - 停止在 Amazon EC2 EC2-Classic 執行個體。

  • aws:changeInstanceState - 如有需要,強制 會停止在 Amazon EC2 EC2-Classic 執行個體。

  • aws:createImage - 在 Amazon EC2 AMI 執行個體停止後建立 。

  • aws:branch - 根據 DestinationSubnetId 參數指定的值進行分支。

  • aws:runInstances - 從在 EC2-Classic 中AMI建立的已停止 Amazon EC2 執行個體啟動新執行個體。 Amazon EC2 EC2-Classic

  • aws:approve - 等待核准以終止新啟動的執行個體,並在上一個步驟因任何原因失敗時,在 EC2-Classic 中啟動 Amazon EC2 執行個體。 EC2-Classic

  • aws:changeInstanceState - 終止新啟動的 Amazon EC2 執行個體。

  • aws:runInstances - 從 參數的 EC2-Classic 中AMI建立的已停止 Amazon EC2 執行個體啟動新執行個體DestinationSubnetId。 Amazon EC2 EC2-Classic

  • aws:approve - 等待核准以終止新啟動的執行個體,並在上一個步驟因任何原因失敗時,在 EC2-Classic 中啟動 Amazon EC2 執行個體。 EC2-Classic

  • aws:changeInstanceState - 終止新啟動的 Amazon EC2 執行個體。

  • aws:changeInstanceState - 啟動在 Amazon EC2 EC2-Classic 執行個體。

  • 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 執行個體為公有子網路。

輸出

getInstanceProperties.virtualizationType - ECAmazon EC2 EC2-Classic 執行個體的虛擬化類型。

getInstanceProperties.rootDeviceType - ECAmazon EC2 EC2-Classic 執行個體的根裝置類型。

createAMIWithoutReboot.ImageId - 在不重新啟動在 Amazon EC2 EC2-Classic 執行個體的情況下AMI建立的 ID。

getDefaultVPC.VpcId - 若未提供 DestinationSubnetId 參數的值,則會啟動新 Amazon EC2 執行個體的預設 VPC ID。

getSubnetIdinDefaultVPC.subnetIdFromDefaultVpc - 預設 VPC 中的子網路 ID,如果未提供 DestinationSubnetId 參數的值,則會啟動新的 Amazon EC2 執行個體。

launchTestInstanceDefaultVPC.InstanceIds - 在Test遷移類型期間,在您預設 VPC 中新啟動的 Amazon EC2 執行個體 ID。

launchTestInstanceProvidedSubnet.InstanceIds - DestinationSubnetId您在Test遷移類型期間指定的 中新啟動的 Amazon EC2 執行個體 ID。

createAMIAfterStoppingInstance.ImageId - 停止在 Amazon EC2 EC2-Classic 執行個體後AMI建立的 ID。

launchCutOverInstanceProvidedSubnet.InstanceIds - DestinationSubnetId您在CutOver遷移類型期間指定的 中新啟動的 Amazon EC2 執行個體 ID。

launchCutOverInstanceDefaultVPC.InstanceIds - 在CutOver遷移類型期間,在您預設 VPC 中新啟動的 Amazon EC2 執行個體 ID。

verifySubnetIsPublicTestDefaultVPC.IsSubnetPublic - 預設 VPC 中自動化所選擇的子網路是否為公有子網路。

verifySubnetIsPublicTestProvidedSubnet.IsSubnetPublic - 您在 中指定的子網路DestinationSubnetId是否為公有子網路。