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

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

AWS Support 提供 Systems Manager 執行命令文件讓您與啟用 Systems Manager 的執行個體溝通,以執行 EC2Rescue for Windows Server。執行命令文件稱為 AWSSupport-RunEC2RescueForWindowsTool

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

  • 下載並驗證EC2Rescue for Windows Server。

  • 匯入 PowerShell 模組以緩解您與工具的互動。

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

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

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

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

    • CollectLogs—執行 EC2Rescue for Windows Server 搭配 /collect:all 動作。如果您選取此動作,Parameters 必須包含要將日誌上傳到該處的 Amazon S3 儲存貯體名稱。

    • FixAll—執行 EC2Rescue for Windows Server 搭配 /rescue:all 動作。如果您選取此動作,Parameters 必須包含要救援的區塊型儲存設備名稱。

  • 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