使用 EC2Rescue 和 Systems Manager 來疑難排解受損的 Windows 執行個體 - Amazon Elastic Compute Cloud

使用 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
  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,展開共享服務 並選擇文件

  3. 在搜尋列中,將擁有者設定為由我或 Amazon 所有並將文件名稱字首設定為 AWSSupport-RunEC2RescueForWindowsTool

  4. 選取 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 -BlockDeviceName xvdf -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