EC2Rescue と Systems Manager を使用して問題のある Windows インスタンスのトラブルシューティングを行う
AWS Support では、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 パラメーターを指定します。
注記
[ResetAccess] アクションを使用するには、Amazon EC2 インスタンスに次のポリシーをアタッチし、暗号化パスワードをパラメータストアに書き込む必要があります。このポリシーを該当する IAM ロールにアタッチしてから、インスタンスのパスワードがリセットされるまで数分かかります。
デフォルト KMS キー の使用:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": [ "arn:aws:ssm:
region
:account_id
:parameter/EC2Rescue/Passwords/<instanceid>
" ] } ] }
カスタム KMS キー の使用:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": [ "arn:aws:ssm:
region
:account_id
:parameter/EC2Rescue/Passwords/<instanceid>
" ] }, { "Effect": "Allow", "Action": [ "kms:Encrypt" ], "Resource": [ "arn:aws:kms:region
:account_id
:key/<kmskeyid>
" ] } ] }
次の手順では、Amazon EC2 コンソールで、このドキュメントの JSON を表示する方法について説明します。
Systems Manager Run Command のドキュメントの JSON を表示するには
-
AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 -
ナビゲーションペインで、[ Shared Services] を展開し、[Documents] を選択します。
-
検索バーで [Owner] を [Owned by Me or Amazon] に、[Document name prefix] を [
AWSSupport-RunEC2RescueForWindowsTool
] に設定します。 -
AWSSupport-RunEC2RescueForWindowsTool
ドキュメントを選択し、[Contents] を選択して、JSON を表示します。
例
以下に、Systems Manager Run Command のドキュメントを使用して、AWS CLI で EC2Rescue for Windows Server を実行する方法をいくつかの例を挙げて説明します。AWS CLI でコマンドを送信する方法の詳細については、AWS CLI コマンドリファレンスを参照してください。
オフラインルートボリュームで特定されたすべての問題の修正を試みる
Amazon EC2 Windows インスタンスにアタッチされたオフラインルートボリュームに関するすべての特定された問題の修正を試みます。
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue offline volume xvdf
" --parameters "Command=FixAll, Parameters='xvdf
'" --output text
現在の Amazon EC2 Windows インスタンスからログを収集する
現在のオンライン Amazon EC2 Windows インスタンスからすべてのログを収集し、Amazon S3 バケットにアップロードします。
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue online log collection to S3
" --parameters "Command=CollectLogs, Parameters='amzn-s3-demo-bucket
'" --output text
オフライン Amazon EC2 Windows インスタンスボリュームからログを収集する
Amazon EC2 Windows インスタンスにアタッチされたオフラインボリュームからすべてのログを収集し、署名付き URL を使用して Amazon S3 にアップロードします。
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue offline log collection to S3
" --parameters "Command=CollectLogs, Parameters=\"-Offline -BlockDeviceNamexvdf
-S3PreSignedUrl 'YOURS3PRESIGNEDURL
'\"" --output text
ローカル管理者のパスワードをリセットする
次の例では、ローカル管理者パスワードをリセットするために使用するメソッドを示しています。パラメータストアへのリンクが表示され、ランダムに生成された安全なパスワードが発行されます。この RDP はローカル管理者として Amazon EC2 Windows インスタンスで使用します。
デフォルトの AWS KMS key/エイリアス/aws/ssm を使用してオンラインインスタンスのローカル管理者パスワードをリセットする場合:
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue online password reset
" --parameters "Command=ResetAccess" --output text
KMS キー を使用してオンラインインスタンスのローカル管理者パスワードをリセットする場合:
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue online password reset
" --parameters "Command=ResetAccess, Parameters=a133dc3c-a2g4-4fc6-a873-6c0720104bf0
" --output text
注記
この例では、KMS キー は a133dc3c-a2g4-4fc6-a873-6c0720104bf0
です。