使用 EC2Rescue 和 Systems Manager 來疑難排解受損的 Windows 執行個體
AWS Support 提供 Systems Manager 執行命令文件讓您與啟用 Systems Manager 的執行個體溝通,以執行 EC2Rescue for Windows Server。執行命令文件稱為 AWSSupport-RunEC2RescueForWindowsTool
。
此 Systems Manager 執行命令文件會執行下列任務:
-
下載並驗證EC2Rescue for Windows Server。
-
匯入 PowerShell 模組以緩解您與工具的互動。
-
使用提供的命令和參數執行 EC2RescueCmd。
Systems Manager 執行命令文件接受三個參數:
-
命令 - EC2Rescue for Windows Server 動作。目前允許的值為:
-
ResetAccess—重設本機管理員的密碼。會重設目前執行個體的本機管理員密碼,隨機產生的密碼則以
/EC2Rescue/Password/<INSTANCE_ID>
安全存放在參數存放區中。如果您選取此動作但不提供任何參數,則密碼會使用預設的 KMS 金鑰 自動加密。或者,您可在參數中指定 KMS 金鑰 ID,使用您自己的金鑰加密密碼。 -
CollectLogs—執行 EC2Rescue for Windows Server 搭配
/collect:all
動作。如果您選取此動作,Parameters
必須包含要將日誌上傳到該處的 Amazon S3 儲存貯體名稱。 -
FixAll—執行 EC2Rescue for Windows Server 搭配
/rescue:all
動作。如果您選取此動作,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 執行命令文件的 JSON
-
開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的主控台。https://console.aws.amazon.com/systems-manager/
-
在導覽窗格中,展開共享服務 並選擇文件。
-
在搜尋列中,將擁有者設定為由我或 Amazon 所有並將文件名稱字首設定為
AWSSupport-RunEC2RescueForWindowsTool
。 -
選取
AWSSupport-RunEC2RescueForWindowsTool
文件,然後選擇內容並檢視 JSON。
範例
以下為如何使用 AWS CLI 以 Systems Manager 執行命令文件來執行 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
重設本機管理員密碼
下列範例示範您可用以重設本機管理員密碼的方法。輸出會提供參數存放區連結,您可在此找到隨機產生的安全密碼,然後以本機管理員身分使用您的 Amazon EC2 Windows 執行個體 RDP。
使用預設的 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
。