

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

 **説明** 

`AWSSupport-RestoreEC2InstanceFromSnapshot` ランブックは、ルートボリュームの動作中の Amazon Elastic Block Store (Amazon EBS) のスナップショットから Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを識別して復元するのに役立ちます。

[このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-RestoreEC2InstanceFromSnapshot)

**ドキュメントタイプ**

Automation

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
+ EndDate

  タイプ: 文字列

  説明: (オプション) 自動化にスナップショットを検索する最後の日付。
+ InplaceSwap

  型: ブール値

  有効な値: true \$1 false

  説明: (オプション) このパラメータの値が `true` に設定されている場合、スナップショットから新しく作成されたボリュームが、インスタンスにアタッチされている既存のルートボリュームと置き換わります。
+ InstanceId

  タイプ: 文字列

  説明: (必須) スナップショットから復元するインスタンスの ID。
+ LookForInstanceStatusCheck

  型: ブール値

  有効な値: true \$1 false

  デフォルト: true

  説明: (オプション) このパラメータの値が `true` に設定されている場合、自動化はスナップショットから起動されたテストインスタンスでインスタンスステータスチェックが失敗するかどうかをチェックします。
+ SkipSnapshotsBy

  タイプ: 文字列

  説明: (オプション) インスタンスを復元するためにスナップショットを検索する時にスナップショットがスキップされる間隔。たとえば、使用可能なスナップショットが 100 個あり、このパラメータに 2 を指定すると、3 つおきのスナップショットがレビューされます。

  デフォルト: 0
+ SnapshotId

  タイプ: 文字列

  説明: (オプション) インスタンスを復元するスナップショットの ID。
+ StartDate

  タイプ: 文字列

  説明: (オプション) 自動化にスナップショットを検索する最初の日付。
+ TotalSnapshotsToLook

  タイプ: 文字列

  説明: (オプション) 自動化でレビューするスナップショットの数。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+ `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