使用EC2Rescue和 Systems Manager 對受損的 Windows 執行個體 - Amazon Elastic Compute Cloud

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

使用EC2Rescue和 Systems Manager 對受損的 Windows 執行個體

AWS Support 提供「Systems Manager 執行命令」文件,以連接啟用系統管理員的執行個體,以便在 Windows Server 上執EC2Rescue行。執行命令文件稱為 AWSSupport-RunEC2RescueForWindowsTool

此 Systems Manager 執行命令文件會執行下列任務:

  • 下載並驗證EC2Rescue視窗伺服器。

  • 匯入 PowerShell 模組以簡化您與工具的互動。

  • EC2RescueCmd使用提供的命令和參數運行。

Systems Manager 執行命令文件接受三個參數:

  • 命令-EC2Rescue 用於 Windows 伺服器動作。目前允許的值為:

    • ResetAccess重設本機管理員密碼。會重設目前執行個體的本機管理員密碼,隨機產生的密碼則以 /EC2Rescue/Password/<INSTANCE_ID> 安全存放在參數存放區中。如果您選取此動作且不提供任何參數,則會使用預設KMS金鑰自動加密密碼。或者,您可以在參數中指定KMS金鑰 ID,使用您自己的金鑰加密密碼。

    • CollectLogs使用此/collect:all動作EC2Rescue針對 Windows 伺服器執行。如果您選取此動作,Parameters 必須包含要將日誌上傳到該處的 Amazon S3 儲存貯體名稱。

    • FixAll使用此/rescue:all動作EC2Rescue針對 Windows 伺服器執行。如果您選取此動作,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>" ] } ] }

下列程序說明如何在 JSON Amazon EC2 主控台中檢視此文件。

若要檢視JSON系 Systems Manager 執行命令文件
  1. https://console.aws.amazon.com/systems-manager/家中打開 Systems Manager 控制台。

  2. 在導覽窗格中,展開 Shared Services (系統管理員共享服務) 並選擇 Documents (文件)

  3. 在搜尋列中,將 Owner (擁有者) 設定為 Owned by Me or Amazon (由我或 Amazon 所有) 並將 Document name prefix (文件名稱前綴) 設定為 AWSSupport-RunEC2RescueForWindowsTool

  4. 選取AWSSupport-RunEC2RescueForWindowsTool文件,選擇「內容」,然後檢視JSON。

範例

以下是一些關於如何使用 Systems Manager 執行命令文件來執行 Windows 伺服器的範EC2Rescue例,使用 AWS CLI. 若要取得有關使用傳送指令的更多資訊 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 視窗執行個體收集日誌

從目前線上 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='YOURS3BUCKETNAME'" --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