本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
REL06-BP04 自動化回應 (即時處理和警示)
偵測到事件時,使用自動化以採取動作,例如取代故障的元件。
實作警示的自動即時處理,以便系統可以採取快速的糾正措施,並嘗試在觸發警示時防止故障或服務降級。對警示的自動回應可能包括替換故障元件、調整運算容量、將流量重新導向到運作狀態良好的主機、可用區域或其他區域,以及操作人員通知。
所需結果:識別即時警示,並設定警示的自動處理,以調用為維護服務層級目標和服務層級協議而採取的適當動作 (SLAs)。自動化的範圍從單一元件的自我修復活動到全站點的容錯移轉。
常見的反模式:
-
針對關鍵的即時警示沒有清晰的清單或目錄。
-
對關鍵警示沒有自動回應 (例如,當運算資源即將耗盡時,發生自動擴展)。
-
矛盾的警示回應動作。
-
運算子收到警示通知時,沒有要遵循的標準操作程序 (SOPs)。
-
未監控組態變更,因為未偵測到的組態變更可能會導致工作負載停機。
-
沒有復原意外組態變更的策略。
建立此最佳實務的優勢:自動化警示處理可改善系統復原能力。系統會自動採取糾正措施,減少人為介入時容易出錯的手動活動。工作負載運作符合可用性目標,並減少服務中斷。
未建立此最佳實務時的曝險等級:中
實作指引
為了有效管理提醒並自動化其回應,請根據提醒的重要性和影響來進行分類,記錄回應程序,並在為任務排名前規劃好回應。
識別需要特定動作的任務 (通常會在執行手冊中詳細說明),並檢查所有執行手冊和程序手冊以確定哪些任務可以自動化。可以定義的動作通常也可以自動化。如果動作無法自動化,請在 中記錄手動步驟,SOP並在這些步驟上訓練運算子。持續挑戰手動程序以尋求自動化機會,以便您可以建立和維護用來自動化提醒回應的計畫。
實作步驟
-
建立警示清查:若要取得所有警示的清單,您可以使用 Amazon CloudWatch 命令 AWS CLI
使用 describe-alarms
。根據您設定的警示數量,您可能需要使用分頁來擷取每個呼叫的警示子集,或者您可以使用 AWS SDK來使用API呼叫 來取得警示。 -
記錄所有警報動作:更新執行手冊與所有警示及其動作,無論其為手動還是自動。AWS Systems Manager 可提供預先定義的執行手冊。如需有關執行手冊的詳細資訊,請參閱 Working with runbooks。如需有關如何檢視執行手冊內容的詳細資訊,請參閱檢視執行手冊內容。
-
設定和管理警示動作:針對任何需要動作的警示,請使用 指定自動動作 CloudWatch SDK。例如,您可以建立和啟用 CloudWatch 警示上的動作,或停用警示上的動作,以根據警示自動變更 Amazon EC2執行個體的狀態。
您也可以使用 Amazon EventBridge
自動回應系統事件,例如應用程式可用性問題或資源變更。您可建立規則來指示您在意的事件,以及當事件符合規則時執行的動作。可自動啟動的動作包括叫用AWS Lambda 函數、叫用 Amazon EC2 Run Command
、將事件轉送至 Amazon Kinesis Data Streams以及EC2使用 來查看 Automate Amazon EventBridge。 -
標準操作程序 (SOPs):根據您的應用程式元件, AWS Resilience Hub建議多個SOP範本 。您可以使用這些SOPs來記錄操作員在發出警示時應遵循的所有程序。您也可以根據 Resilience Hub 建議建置 SOP,其中您需要具有相關復原政策的 Resilience Hub 應用程式,以及針對該應用程式的歷史復原評估。您的 建議是由彈性評估所SOP產生。
Resilience Hub 與 Systems Manager 合作,SOPs透過提供許多文件來自動執行 的步驟,您可以將這些SSM文件作為這些 的基礎SOPs。例如,Reilience Hub 可能會建議根據現有SSM自動化文件SOP新增磁碟空間。
-
使用 Amazon DevOpsGuru 執行自動動作:您可以使用 Amazon DevOpsGuru
自動監控應用程式資源是否有異常行為,並提供目標性建議,以加快問題識別和修復時間。透過 DevOpsGuru,您可以近乎即時地監控來自多個來源的操作資料串流,包括 Amazon CloudWatch 指標、AWS Config 、 AWS CloudFormation 和 AWS X-Ray 。您也可以使用 DevOpsGuru 自動在 OpsItems中建立事件, OpsCenter 並將事件傳送至 EventBridge 以進行其他自動化。
資源
相關的最佳實務:
相關文件:
相關影片:
相關範例: