

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

# 使用 EC2Rescue 和 Systems Manager 來疑難排解受損的 Windows 執行個體
<a name="ec2rw-ssm"></a>

支援 為您提供 Systems Manager Run Command 文件，以與已啟用 Systems Manager 的執行個體連接，以執行適用於 Windows Server 的 EC2Rescue。執行命令文件稱為 `AWSSupport-RunEC2RescueForWindowsTool`。

此 Systems Manager 執行命令文件會執行下列任務：
+ 下載並驗證EC2Rescue for Windows Server。
+ 匯入 PowerShell 模組以緩解您與工具的互動。
+ 使用提供的命令和參數執行 EC2RescueCmd。

Systems Manager 執行命令文件接受三個參數：
+ **Command (命令)**—EC2Rescue for Windows Server 動作。目前允許的值為：
  + **ResetAccess**—重設本機管理員的密碼。會重設目前執行個體的本機管理員密碼，隨機產生的密碼則以 `/EC2Rescue/Password/<INSTANCE_ID>` 安全存放在參數存放區中。如果您選取此動作但不提供任何參數，則密碼會使用預設的 KMS 金鑰 自動加密。或者，您可在 Parameters (參數) 中指定 KMS 金鑰 ID，使用您自己的金鑰加密密碼。
  + **CollectLogs**—執行 EC2Rescue for Windows Server 搭配 `/collect:all` 動作。如果您選取此動作，`Parameters` 必須包含要將日誌上傳到該處的 Amazon S3 儲存貯體名稱。
  + **FixAll**—執行 EC2Rescue for Windows Server 搭配 `/rescue:all` 動作。如果您選取此動作，`Parameters` 必須包含要救援的區塊型儲存設備名稱。
+ **Parameters (參數)**—針對指定命令傳遞的 PowerShell 參數。

## 要求
<a name="ec2rw-requirements"></a>

要執行 **ResetAccess** 動作，您的 Amazon EC2 執行個體必須連接政策，以授予將加密密碼寫入參數存放區的許可。將此政策連接到相關 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 執行命令文件的 JSON**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，展開**變更管理工具**並選擇**文件**。

1. 在搜尋列中，輸入 `AWSSupport-RunEC2RescueForWindowsTool`，然後選取 `AWSSupport-RunEC2RescueForWindowsTool` 文件。

1. 選擇 **Content (內容)** 索引標籤。

## 範例
<a name="ec2rw-ssm-examples"></a>

以下為如何使用 AWS CLI以 Systems Manager 執行命令文件來執行 EC2Rescue for Windows Server 的範例。如需使用 傳送命令的詳細資訊 AWS CLI，請參閱 [send-mand](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>

下列範例示範您可用以重設本機管理員密碼的方法。輸出會提供參數存放區連結，您可在此找到隨機產生的安全密碼，然後以本機管理員身分使用您的 Amazon EC2 Windows 執行個體 RDP。

使用預設的 AWS KMS key 別名/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`。