

# EC2Rescue 및 Systems Manager로 손상된 Windows 인스턴스 문제 해결
<a name="ec2rw-ssm"></a>

지원는 Systems Manager 사용 인스턴스에서 EC2Rescue for Windows Server를 실행할 때 인터페이스로 사용할 수 있는 Systems Manager Run Command 문서를 제공합니다. 이 Run Command 문서를 `AWSSupport-RunEC2RescueForWindowsTool`이라고 합니다.

이 Systems Manager Run Command 문서는 다음의 작업을 수행합니다.
+ EC2Rescue for Windows Server를 다운로드하고 확인합니다.
+ 간편하게 도구와 상호 작용하도록 PowerShell 모듈을 가져옵니다.
+ 제공된 명령 및 파라미터를 사용하여 EC2RescueCmd를 실행합니다.

Systems Manager Run Command 문서는 세 가지 파라미터를 수락합니다.
+ **명령**—EC2Rescue for Windows Server 작업. 현재 허용되는 값은 다음과 같습니다.
  + **ResetAccess** — 로컬 관리자 암호를 재설정합니다. 현재 인스턴스의 로컬 관리자 암호가 재설정되고 임의로 생성된 암호가 Parameter Store에 `/EC2Rescue/Password/<INSTANCE_ID>`로 안전하게 저장됩니다. 이 작업을 선택하고 파라미터를 제공하지 않으면 기본 KMS 키를 사용하여 암호가 자동으로 암호화됩니다. 선택 사항으로, 파라미터에서 KMS 키 ID를 지정하여 고유의 키로 암호를 암호화할 수 있습니다.
  + **CollectLogs** — `/collect:all` 작업으로 EC2Rescue for Windows Server를 실행합니다. 이 작업을 선택할 경우 로그를 업로드할 Amazon S3 버킷 이름이 `Parameters`에 포함되어 있어야 합니다.
  + **FixAll** — `/rescue:all` 작업으로 EC2Rescue for Windows Server를 실행합니다. 이 작업을 선택할 경우 `Parameters`에 복구할 블록 디바이스 이름이 포함되어야 합니다.
+ **파라미터** — 지정된 명령에 대해 전달할 PowerShell 파라미터입니다.

## 요구 사항
<a name="ec2rw-requirements"></a>

**ResetAccess** 작업을 실행하려면 Amazon EC2 인스턴스에 암호화된 암호를 Parameter Store에 쓸 수 있는 권한을 부여하는 정책이 연결되어 있어야 합니다. 이 정책을 관련 IAM 역할에 연결하고 나서 몇 분 기다렸다가 인스턴스의 암호를 재설정하세요.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ssm:PutParameter"
      ],
      "Resource": [
        "arn:aws:ssm:{{us-east-1}}:{{111122223333}}:parameter/EC2Rescue/Passwords/{{<instanceid>}}"
      ]
    }
  ]
}
```

------

기본 KMS 키가 아닌 사용자 지정 KMS 키를 사용하는 경우 이 정책을 대신 사용합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ssm:PutParameter"
      ],
      "Resource": [
        "arn:aws:ssm:{{us-east-1}}:{{111122223333}}:parameter/EC2Rescue/Passwords/{{<instanceid>}}"
      ] 
    }, 
    { 
      "Effect": "Allow",
      "Action": [
        "kms:Encrypt"
      ],
      "Resource": [
        "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{<kmskeyid>}}"
      ]
    }
  ]
}
```

------

## 문서의 JSON 보기
<a name="ec2rw-view-json"></a>

다음 절차는 이 문서의 JSON을 보는 방법을 설명합니다.

**Systems Manager Run Command 문서의 JSON을 보려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **변경 관리 도구**를 확장하고 **문서**를 선택합니다.

1. 검색 창에 `AWSSupport-RunEC2RescueForWindowsTool`을 입력한 다음 `AWSSupport-RunEC2RescueForWindowsTool` 문서를 선택합니다.

1. **콘텐츠** 탭을 선택합니다.

## 예제
<a name="ec2rw-ssm-examples"></a>

다음은 Systems Manager Run Command 문서를 사용하여 AWS CLI에서 EC2Rescue for Windows Server를 실행하는 몇 가지 예제입니다. AWS CLI를 사용한 명령 전송에 대한 자세한 내용은 [send-command](https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html)를 참조하세요.

**Topics**
+ [오프라인 루트 볼륨에서 식별된 모든 문제 해결 시도](#ec2rw-ssm-exam1)
+ [현재 Amazon EC2 Windows 인스턴스에서 로그 수집](#ec2rw-ssm-exam2)
+ [로컬 관리자 암호 재설정](#ec2rw-ssm-exam4)

### 오프라인 루트 볼륨에서 식별된 모든 문제 해결 시도
<a name="ec2rw-ssm-exam1"></a>

다음과 같이 Amazon EC2 Windows 인스턴스에 연결된 오프라인 루트 볼륨에서 식별된 문제를 모두 해결하려고 시도합니다.

```
aws ssm send-command --instance-ids "{{i-0cb2b964d3e14fd9f}}" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=FixAll, Parameters='{{xvdf}}'" --output text
```

### 현재 Amazon EC2 Windows 인스턴스에서 로그 수집
<a name="ec2rw-ssm-exam2"></a>

다음과 같이 현재 온라인 Amazon EC2 Windows 인스턴스에서 모든 로그를 수집하여 Amazon S3 버킷으로 업로드합니다.

```
aws ssm send-command --instance-ids "{{i-0cb2b964d3e14fd9f}}" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=CollectLogs, Parameters='{{amzn-s3-demo-bucket}}'" --output text
```

### 로컬 관리자 암호 재설정
<a name="ec2rw-ssm-exam4"></a>

다음 예제에서는 로컬 관리자 암호를 재설정하는 데 사용할 수 있는 방법을 보여 줍니다. 출력에는 Parameter Store에 대한 링크가 제공됩니다.여기에서 임의로 생성된 보안 암호를 찾은 다음 이 암호를 사용하여 RDP를 통해 Amazon EC2 Windows 인스턴스에 로컬 관리자로 연결할 수 있습니다.

기본 AWS KMS key alias/aws/ssm을 사용하여 온라인 인스턴스의 로컬 관리자 암호를 재설정합니다.

```
aws ssm send-command --instance-ids "{{i-0cb2b964d3e14fd9f}}" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=ResetAccess" --output text
```

KMS 키를 사용하여 온라인 인스턴스의 로컬 관리자 암호를 재설정합니다.

```
aws ssm send-command --instance-ids "{{i-0cb2b964d3e14fd9f}}" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=ResetAccess, Parameters={{a133dc3c-a2g4-4fc6-a873-6c0720104bf0}}" --output text
```

**참고**  
이 예시에서 KMS 키는 `a133dc3c-a2g4-4fc6-a873-6c0720104bf0`입니다.