

# EC2Rescue と Systems Manager を使用して問題のある Windows インスタンスのトラブルシューティングを行う
<a name="ec2rw-ssm"></a>

サポート では、Systems Manager Run Command のドキュメントを用意しています。これにより、ご使用の Systems Manager 対応インスタンスとのインターフェイスを使用して、EC2Rescue for Windows Server を実行できます。この Run Command のドキュメントは、`AWSSupport-RunEC2RescueForWindowsTool` と呼ばれます。

この Systems Manager Run Command のドキュメントでは、次のタスクを実行します。
+ EC2Rescue for Windows Server のダウンロードと検証。
+ PowerShell モジュールをインポートしてツールとの対話を簡素化。
+ 提供されたコマンドとパラメーターで EC2RescueCmd を実行。

Systems Manager Run Command のドキュメントでは、次の 3 つのパラメーターを指定できます。
+ [**コマンド**] — EC2Rescue for Windows Server アクション。現在許可された値は次のとおりです。
  + [**ResetAccess**] — ローカル管理者のパスワードをリセットします。現在のインスタンスのローカル管理者パスワードはリセットされ、ランダムに生成されたパスワードが `/EC2Rescue/Password/<INSTANCE_ID>` としてパラメータストアに安全に保存されます。このアクションを選択したがパラメータを指定しない場合、パスワードはデフォルトの KMS キー で自動的に暗号化されます。必要に応じて、パラメータに KMS キー ID を指定して、独自のキーでパスワードを暗号化できます。
  + [**CollectLogs**] — `/collect:all` アクションを指定して、EC2Rescue for Windows Server を実行します。このアクションを選択する場合は、`Parameters` に必ずログのアップロード先となる Amazon S3 バケット名を含むようにしてください。
  + [**FixAll**] — `/rescue:all` アクションを指定して、EC2Rescue for Windows Server を実行します。このアクションを選択する場合は、`Parameters` に、レスキューするブロックデバイス名が含まれている必要があります。
+ [**パラメーター**] — 指定したコマンドに渡す PowerShell パラメーターを指定します。

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

**ResetAccess** 暗号化されたパスワードを Parameter Store に書き込むアクセス許可を付与するポリシーが 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 Run Command のドキュメントの JSON を表示するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[変更管理ツール]** を展開し、**[ドキュメント]** を選択します。

1. 検索バーで `AWSSupport-RunEC2RescueForWindowsTool` と入力し、`AWSSupport-RunEC2RescueForWindowsTool` ドキュメントを選択します。

1. [**Content**] タブを選択します。

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

以下に、Systems Manager Run Command のドキュメントを使用して、AWS CLI で EC2Rescue for Windows Server を実行する方法をいくつかの例を挙げて説明します。AWS CLI でコマンドを送信する方法の詳細については、[ コマンドリファレンス](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>

次の例では、ローカル管理者パスワードをリセットするために使用するメソッドを示しています。パラメータストアへのリンクが表示され、ランダムに生成された安全なパスワードが発行されます。この RDP はローカル管理者として Amazon EC2 Windows インスタンスで使用します。

デフォルトの 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` です。