

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

# `AWSSupport-RestoreEC2InstanceFromSnapshot`
<a name="automation-awssupport-restoreec2instancefromsnapshot"></a>

 **Description** 

`AWSSupport-RestoreEC2InstanceFromSnapshot` Runbook 可協助您從根磁碟區的正常運作 Amazon Elastic Block Store (Amazon EC2) 執行個體。

[執行此自動化 （主控台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-RestoreEC2InstanceFromSnapshot)

**文件類型**

 自動化

**擁有者**

Amazon

**平台**

Linux、macOS、 Windows

**參數**
+ AutomationAssumeRole

  類型：字串

  描述：（選用） 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。
+ EndDate

  類型：字串

  描述：（選用） 您希望自動化尋找快照的最後一個日期。
+ InplaceSwap

  類型：布林值

  有效值：true \$1 false

  描述：（選用） 如果此參數的值設定為 `true`，則快照中新建立的磁碟區會取代連接至執行個體的現有根磁碟區。
+ InstanceId

  類型：字串

  描述：（必要） 您要從快照還原的執行個體 ID。
+ LookForInstanceStatusCheck

  類型：布林值

  有效值：true \$1 false

  預設：true

  描述：（選用） 如果此參數的值設定為 `true`，自動化會檢查從快照啟動的測試執行個體上的執行個體狀態檢查是否失敗。
+ SkipSnapshotsBy

  類型：字串

  描述：（選用） 搜尋快照以還原執行個體時略過快照的間隔。例如，如果有 100 個可用的快照，而您為此參數指定了 2 的值，則每第三個快照都會檢閱一次。

  預設：0
+ SnapshotId

  類型：字串

  描述：（選用） 您要從中還原執行個體的快照 ID。
+ StartDate

  類型：字串

  描述：（選用） 您希望自動化尋找快照的第一個日期。
+ TotalSnapshotsToLook

  類型：字串

  描述：（選用） 自動化檢閱的快照數量。

**必要的 IAM 許可**

`AutomationAssumeRole` 參數需要下列動作才能成功使用 Runbook。
+ `ssm:StartAutomationExecution`
+ `ssm:GetAutomationExecution`
+ `ssm:DescribeInstanceInformation`
+ `ec2:AttachVolume`
+ `ec2:CreateImage`
+ `ec2:CreateTags`
+ `ec2:CreateVolume`
+ `ec2:DeleteTags`
+ `ec2:DeregisterImage`
+ `ec2:DescribeInstances`
+ `ec2:DescribeInstanceStatus`
+ `ec2:DescribeImages`
+ `ec2:DescribeSnapshots`
+ `ec2:DescribeVolumes`
+ `ec2:DetachVolume`
+ `ec2:RunInstances`
+ `ec2:StartInstances`
+ `ec2:StopInstances`
+ `ec2:TerminateInstances`
+ `cloudwatch:GetMetricData`

 **文件步驟** 

1. `aws:executeAwsApi` - 收集目標執行個體的詳細資訊。

1. `aws:assertAwsResourceProperty` - 驗證目標執行個體是否存在。

1. `aws:assertAwsResourceProperty` - 驗證根磁碟區是 Amazon EBS 磁碟區。

1. `aws:assertAwsResourceProperty` - 驗證另一個自動化尚未執行以此執行個體為目標的自動化。

1. `aws:executeAwsApi` - 標記目標執行個體。

1. `aws:executeAwsApi` - 建立執行個體AMI的 。

1. `aws:executeAwsApi` - 收集在上一個步驟中AMI建立之 的詳細資訊。

1. `aws:waitForAwsResourceProperty` - 等待AMI狀態變成 ，`available`然後再繼續。

1. `aws:executeScript` - 從新建立的 啟動新的執行個體AMI。

1. `aws:assertAwsResourceProperty` - 驗證執行個體狀態為 `available`。

1. `aws:executeAwsApi` - 收集新啟動執行個體的詳細資訊。

1. `aws:branch` - 根據您是否提供 `SnapshotId` 參數的值進行分支。

1. `aws:executeScript` - 傳回指定期間內的快照清單。

1. `aws:executeAwsApi` - 停止執行個體。

1. `aws:waitForAwsResourceProperty` - 等待磁碟區狀態為 `available`。

1. `aws:waitForAwsResourceProperty` - 等待執行個體狀態為 `stopped`。

1. `aws:executeAwsApi` - 分離根磁碟區。

1. `aws:waitForAwsResourceProperty` - 等待根磁碟區分離。

1. `aws:executeAwsApi` - 連接新的根磁碟區。

1. `aws:waitForAwsResourceProperty` - 等待連接新的磁碟區。

1. `aws:executeAwsApi` - 啟動執行個體。

1. `aws:waitForAwsResourceProperty` - 等待執行個體狀態為 `available`。

1. `aws:waitForAwsResourceProperty` - 等待系統和執行個體狀態檢查通過執行個體。

1. `aws:executeScript` - 執行指令碼以尋找可用來成功建立磁碟區的快照。

1. `aws:executeScript` - 執行指令碼，使用自動化所識別快照中新建立的磁碟區，或使用您在 `SnapshotId` 參數中指定的快照中建立的磁碟區來復原執行個體。

1. `aws:executeScript` - 刪除自動化建立的資源。

 **輸出** 

launchCloneInstance.InstanceIds

ListSnapshotByDate.finalSnapshots

ListSnapshotByDate.remainingSnapshotToBeCheckedInSameDateRange

findWorkingSnapshot.workingSnapshot

InstanceRecovery.result