Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何復原受 CrowdStrike Falcon 代理程式影響的 AWS 資源?
我無法連線到安裝 CrowdStrike Falcon 代理程式的 AWS 資源。我想對如何復原資源的問題進行疑難排解。
簡短描述
2024 年 7 月 19 日凌晨 4 點 9 分 (UTC), CrowdStrike Falcon 代理程式 (csagent.sys) 的更新導致 Windows 裝置出現意外的停止錯誤或藍色畫面。受影響的裝置包括 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體和 Amazon WorkSpaces Personal 虛擬桌面。此問題僅影響安裝了 CrowdStrike 的 Amazon EC2 Windows 執行個體和個人 WorkSpaces。
如需詳細資訊,請參閱 CrowdStrike 網站上的修復與指導中心: 頻道檔案 291 事件。
通常,重新啟動執行個體或 WorkSpace 可以讓 CrowdStrike Falcon 代理程式成功更新。
**注意:**如果您的執行個體使用執行個體儲存磁碟區,那麼當您停止、休眠或終止執行個體時,儲存在磁碟區上的資料將不會保留。當您停止、休眠或終止執行個體時,執行個體儲存磁碟區將會以加密方式擦除。如需詳細資訊,請參閱EC2 執行個體的執行個體儲存體臨時區塊儲存空間。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
如果重新啟動無法將執行個體恢復到運作良好狀態,請使用 AWS Systems Manager Automation 執行手冊來還原執行個體。或者,手動還原執行個體。
若要使用執行手冊,請先查看以下先決條件:
- 如果您的根 Amazon Elastic Block Store (Amazon EBS) 磁碟區已加密,請確定您的帳戶中存在加密金鑰。另外,請確定您有使用它的權限。
- AWSSupport-StartEC2RescueWorkflow 執行手冊會停止您的執行個體。如果您的執行個體使用執行個體儲存體磁碟區,請使用手動復原方法以避免資料遺失。
- 在開始 AWSSupport-StartEC2RescueWorkflow 執行手冊之前,請確認您的 AWS Identity and Access Management (IAM) 使用者或角色具有所需的權限。如需詳細資訊,請參閱 AWSSupport-StartEC2RescueWorkflow 的必要的 IAM 權限一節。您也必須為 IAM 角色新增 kms:CreateGrant 權限。
識別受損執行個體
若要識別失敗的執行個體,請執行 describe-instance-status AWS CLI 命令:
aws ec2 describe-instance-status --filters Name=instance-status.status,Values=impaired --query "InstanceStatuses[*].InstanceId" --region your-region
**注意:**將 your-region 替換為您的 AWS 區域。
使用 Systems Manager Automation 執行手冊還原單一 EC2 執行個體
若要使用 AWSSupport-StartEC2RescueWorkflow 自動執行復原,請在 Systems Manager 主控台上開啟執行手冊。然後選取要復原的區域和執行個體。如果您的 Amazon EBS 根磁碟區已加密,請將 AllowEncryptedVolume 設定為 True。
執行手冊工作流程會在虛擬私有雲端 (VPC) 中啟動臨時 EC2 執行個體 (輔助執行個體)。工作流程會自動將輔助執行個體與 VPC 的預設安全群組建立關聯。此執行個體必須允許與 Amazon Simple Storage Service (Amazon S3) 和 Systems Manager 端點進行傳出 HTTPS (連接埠 TCP 443) 通訊。
您必須在下列其中一個子網路中啟動執行個體,才能讓執行個體存取所需的 AWS 服務並完成工作流程任務:
- 已將 AssociatePublicIpAddress 參數設為 True 的公有子網路。
- 透過 NAT 存取網際網路的私有子網路。
輔助執行個體會掛載所選取執行個體的根磁碟區,然後執行下列命令以刪除受影響的檔案:
get-childitem -path "$env:EC2RESCUE_OFFLINE_DRIVE\Windows\System32\drivers\CrowdStrike\" -Include C-00000291*.sys -Recurse | foreach { $_.Delete()}
若要驗證上述命令中的 Base64 OfflineScript 承載的內容,請執行下列命令:
PS C:\Windows\system32> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("REPLACE_WITH_BASE64_HERE"))
使用 Systems Manager Automation 執行手冊還原多個 EC2 執行個體
若要在多個 EC2 執行個體上使用執行手冊,請使用執行個體 ID、標籤或資源群組。
執行手冊會針對每個選取的執行個體啟動一個輔助執行個體。確保所選子網路中有足夠的 IP 位址供執行個體使用。此外,請確認您有足夠的執行個體配額和 EBS 磁碟區配額。
**注意:**完成自動化執行手冊所需的時間取決於您選取的並行量。
使用執行個體 ID
請完成下列步驟:
- 在 Systems Manager 主控台中開啟 AWSSupport-StartEC2RescueWorkflow 執行手冊。
- 在 Execute automation runbook (執行自動化執行手冊) 下,選擇 Rate control (速率控制)。
- 在 Targets (目標) 區段的 Parameter (參數) 中,選取 InstanceId。在 Targets (目標),選擇 Parameter Values (參數值)。
- 在 Input parameters (輸入參數),選取要還原的執行個體。
- 在 Rate Control (速率控制),根據要同時執行自動化的資源數量,選擇並行選項。如需詳細資訊,請參閱控制大規模自動化。
- 選擇 Execute (執行)。
使用標籤
請完成下列步驟:
- 建立一個新的唯一標籤,僅用於您要還原的執行個體。所有帶有此標籤的執行個體都將復原,並可能導致意外的資料遺失或影響執行個體可用性。如需詳細資訊,請參閱標記 Amazon EC2 資源和什麼是標籤編輯器?
- 若要驗證是否只有受影響的執行個體共用新標籤,請使用 AWS 資源總管或標籤編輯器。
- 在 Systems Manager console 主控台上開啟 AWSSupport-StartEC2RescueWorkflow 執行手冊。
- 在 Execute automation runbook (執行自動化執行手冊) 下,選擇 Rate control (速率控制)。
- 在 Targets (目標) 區段的 Parameter (參數) 中,選取 InstanceId。在 Targets (目標),選擇 Parameter Values (參數值)。
- 在 Tags (標籤),選擇 Edit (編輯)。輸入標籤鍵和值,然後選擇 Save (儲存)。
- 在 Input parameters (輸入參數),選取要還原的執行個體。
- 在 Rate Control (速率控制),根據要同時執行自動化的資源數量,選擇並行選項。如需詳細資訊,請參閱控制大規模自動化。
- 選擇 Execute (執行)。
使用資源群組
請完成下列步驟:
- 建立新的資源群組,僅用於您要還原的執行個體。此資源群組中的所有執行個體都是復原的目標,可能會導致意外的資料遺失,或影響執行個體可用性。如需詳細資訊,請參閱在 AWS Resource Groups 中建立以查詢為基礎的群組。
- 若要驗證只有受影響的執行個體屬於新資源群組,請使用 AWS Resource Groups 主控台。
- 在 Systems Manager console 主控台上開啟 AWSSupport-StartEC2RescueWorkflow 執行手冊。
- 在 Execute automation runbook (執行自動化執行手冊) 下,選擇 Rate control (速率控制)。
- 在 Targets (目標) 區段的 Parameter (參數) 中,選取 InstanceId。在 Targets (目標),選擇 Parameter Values (參數值)。
- 在 Resource Groups (資源群組),選取新的資源群組。
- 在 Input parameters (輸入參數),選取要還原的執行個體。
- 在 Rate Control (速率控制),根據要同時執行自動化的資源數量,選擇並行選項。如需詳細資訊,請參閱控制大規模自動化。
- 選擇 Execute (執行)。
手動還原執行個體
請完成下列步驟:
- 為執行個體的 EBS 根磁碟區建立快照。
- 從相同可用區域中的快照建立新的 EBS 磁碟區。
- 在同一可用區域中啟動新的 Windows 執行個體。
- 將新的 EBS 磁碟區作為資料磁碟區附加到新執行個體。
- 下載適用於 Windows 伺服器的 EC2Rescue 工具至輔助執行個體。
- 在 EC2Rescue.exe 上按一下右鍵,然後選擇 Run As Administrator (以管理員身分執行)。
選取授權合約上的 I agree (我同意)。
在 Welcome (歡迎) 畫面上,選擇 Next (下一步)。
在 Select Mode (選取模式) 畫面上,選擇 Offline Instance (離線執行個體)。
選取離線磁碟,然後選擇 Next (下一步)。出現提示時,選擇 Yes (是),然後選擇 OK (確定)。
保持 EC2Rescue 運作。
**注意:**如果您的原始執行個體使用 BitLocker 加密 EBS 根磁碟區,請依照畫面上的指示提供密碼或 BitLocker 復原金鑰。或者,從命令列使用 manage-bde unlock。如需詳細資訊,請參閱 Microsoft 網站上的 manage-bde unlock。解鎖磁碟機後,請重複步驟 6。 - 前往附加磁碟區上的 X:\Windows\System32\drivers\CrowdStrike\ 資料夾,然後刪除 C-00000291*.sys。
**注意:**在此範例中,X: 是從受影響執行個體指派給次要 EBS 磁碟區的磁碟機代號。它在您的環境中可能是不同的代號。 - 返回到 Ec2 Rescue。
選擇 Diagnose and Rescue (診斷與救援),然後選擇 Next (下一步)。
將所有選項保留為預設值。
選擇 Next (下一步),然後再次選擇Next (下一步)。
出現提示時,選擇 Rescue (救援)。選擇 OK (確定),然後選擇 Next (下一步)。
選擇 Finish (完成)。
在快顯視窗中,選擇 Fix disk signature (修正磁碟簽章),然後選擇 OK (確定)。
如果 Fix disk signature (修正磁碟簽章) 呈灰色,請選擇 OK (確定)。 - 從 Linux 執行個體分離 EBS 磁碟區。
- 為已分離的 EBS 磁碟區建立快照。
- 選取與受影響執行個體相同的磁碟區類型 (例如 gp2 或 gp3),然後從快照建立 Amazon Machine Image (AMI)。
- 取代原始 EC2 執行個體上的根磁碟區並指定 AMI。
WorkSpaces
如果多次重開機後 WorkSpace 仍無法恢復到運作良好狀態,請將 WorkSpace 還原到先前的快照。如果 WorkSpace 還原未將 WorkSpace 恢復到運作良好狀態,請重建 WorkSpace。
疑難排解
如果上述步驟無法解決您的連線問題,請使用下列疑難排解步驟:
Systems Manager Automation 執行手冊
**問題:**輔助執行個體無法連線到 AWS 服務端點。此問題可能會導致 waitForEc2RescueInstanceToBeManaged 自動化工作流程步驟失敗。
**解決方法:**確認預設安全群組允許輸出流量 (TCP 連接埠 443) 到達系統管理員和 S3 端點。此外,請確定選取的子網路可以連線到這些端點。若要使用自訂安全群組,請使用安全群組 ID 更新 HelperInstanceSecurityGroupId 參數值。如果您選擇公有子網路,請將 AssociatePublicIpAddress 參數設定為 True。對於自動化,亦可將參數 SubnetId 設定為 CreateNewVPC,以建立具有所需連線的新 VPC。
**問題:**受影響的執行個體無法停止,因為停止保護已開啟。
**解決方法:**為受影響的執行個體關閉停止保護,然後再次執行自動化操作。
**注意:**如果您的執行個體使用執行個體儲存體磁碟區,那麼當您停止執行個體時,儲存在這些磁碟區上的資料將不會保留。
**問題:**輔助執行個體無法啟動。
解決方法: 為 EC2Rescue 執行個體所選取的執行個體類型,可能無法在輔助執行個體子網路的可用區域中使用。使用與輔助執行個體位於同一可用區域中的受支援執行個體類型。
**問題:**當自動化驗證 AWS CloudFormation 堆疊建立已完成時,自動化失敗,並顯示錯誤「Stack AWSSupport-EC2Rescue-{UUID} entered unexpected state: DELETE_IN_PROGRESS」。
解決方法:若要確定導致堆疊失敗的原因,請取得 UUID 並使用 CloudFormation 主控台。當您沒有建立堆疊資源的權限時,可能會發生堆疊失敗。如需詳細資訊,請參閱 AWSSupport-StartEC2RescueWorkflow 的必要 IAM 權限部分,以及如何對 IAM 政策的存取遭拒或未經授權的操作錯誤進行疑難排解?
**問題:**由於 EBS 磁碟區加密,執行手冊在 assertInstanceRootVolumeIsNotEncrypted 自動化工作流程步驟中失敗。
**解決方法:**如果磁碟區使用 EBS 加密,則將 AllowEncryptedVolume 參數設為 True。
**問題:**預設 VPC 已刪除。
**解決方法:**將 SubnetId 參數設定為 CreateNewVPC,以建立允許執行個體成功復原的新 VPC。
**問題:**detachInstanceRootVolume 自動化工作流程步驟失敗,並顯示錯誤訊息「error occurred (IncorrectState) when calling the DetachVolume operation: Unable to detach root volume」。
解決方法:執行自動化程式時,請保持執行個體處於已停止狀態。
手動執行個體還原
**問題:**執行個體無法啟動,並顯示錯誤「the application or operating system couldn't be loaded because a registered file is missing or contains errors」。
**解決方法:**如果您沒有選取 Fix disk signature (修正磁碟簽章),則可能會出現磁碟簽章衝突。若要解決此問題,請執行手動還原步驟中的步驟 8。如果還原了沒有 EC2 Rescue 的執行個體,請參閱 Amazon EC2 Windows 執行個體的問題疑難排解。
**注意:**如果前面的疑難排解步驟無法解決 EC2 執行個體的連線問題,請聯絡 AWS Support。請確定您已擷取無法連線之執行個體的螢幕截圖。
相關資訊
- 語言
- 中文 (繁體)

相關內容
- 已提問 2 年前
- 已提問 2 年前