使用 EC2Rescue for Windows Server 搭配 Systems Manager 執行命令 - Amazon Elastic Compute Cloud

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

使用 EC2Rescue for Windows Server 搭配 Systems Manager 執行命令

AWS Support 提供 Systems Manager 執行命令文件,以連接啟用系統管理員的執行個體,以執行適用於 Windows 伺服器的 EC2Rescue。執行命令文件稱為 AWSSupport-RunEC2RescueForWindowsTool

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

  • 下載並驗證EC2Rescue for Windows Server。

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

  • 使用提供RescueCmd 的命令和參數執行 EC2。

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

  • Command (命令)—EC2Rescue for Windows Server 動作。目前允許的值為:

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

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

    • FixAll使用此動作執行適用於視窗伺服器的 EC2Rescue。/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. 開啟位於 https://console.aws.amazon.com/systems-manager/home 的 Systems Manager 主控台。

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

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

  4. 選取 AWSSupport-RunEC2RescueForWindowsTool 文件,然後選擇 Contents (內容) 並檢視 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='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