

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# `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)

**문서 유형**

자동화

**소유자**

Amazon

**플랫폼**

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로 지정하면 모든 세 번째 스냅샷이 검토됩니다.

  기본값: 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