

# REL06-BP04 自動化回應 (即時處理和警示)
<a name="rel_monitor_aws_resources_automate_response_monitor"></a>

 偵測到事件時，使用自動化以採取動作，例如取代故障的元件。

 實作警示的自動即時處理，以便系統可以採取快速的糾正措施，並嘗試在觸發警示時防止故障或服務降級。對警示的自動回應可能包括替換故障元件、調整運算容量、將流量重新導向到運作狀態良好的主機、可用區域或其他區域，以及操作人員通知。

 **預期成果：**識別即時警示，並設定警示的自動處理，以調用採取的適當動作，維護服務水準目標和服務水準協議 (SLA)。自動化的範圍從單一元件的自我修復活動到全站點的容錯移轉。

 **常見的反模式：**
+  針對關鍵的即時警示沒有清晰的清單或目錄。
+  對關鍵警示沒有自動回應 (例如，當運算資源即將耗盡時，發生自動擴展)。
+  矛盾的警示回應動作。
+  操作人員在收到提醒通知時沒有可以遵循的標準作業程序 (SOP)。
+  未監控組態變更，因為未偵測到的組態變更可能會導致工作負載停機。
+  沒有復原意外組態變更的策略。

 **建立此最佳實務的優勢：**自動化警示處理可改善系統復原能力。系統會自動採取糾正措施，減少人為介入時容易出錯的手動活動。工作負載運作符合可用性目標，並減少服務中斷。

 **未建立此最佳實務時的曝險等級：**中 

## 實作指引
<a name="implementation-guidance"></a>

 為了有效管理提醒並自動化其回應，請根據提醒的重要性和影響來進行分類，記錄回應程序，並在為任務排名前規劃好回應。

 識別需要特定動作的任務 (通常會在執行手冊中詳細說明)，並檢查所有執行手冊和程序手冊以確定哪些任務可以自動化。可以定義的動作通常也可以自動化。如果動作無法自動化，請在 SOP 中記錄手動步驟，並對操作人員進行相關培訓。持續挑戰手動程序以尋求自動化機會，以便您可以建立和維護用來自動化提醒回應的計畫。

### 實作步驟
<a name="implementation-steps"></a>

1.  **建立警示清單：**若要取得所有警示的清單，可以透過 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 命令 `[describe-alarms](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/describe-alarms.html)` 來使用 [AWS CLI](https://aws.amazon.com/cli/)。視設定的警示數量而定，您可能必須使用分頁來擷取每個呼叫的警示子集，或者也可以使用 AWS SDK [透過 API 呼叫](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-describing-alarms.html)來取得警示。

1.  **記錄所有警報動作：**更新執行手冊與所有警示及其動作，無論其為手動還是自動。[AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/APIReference/Welcome.html) 可提供預先定義的執行手冊。如需有關執行手冊的詳細資訊，請參閱 [Working with runbooks](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html)。如需有關如何檢視執行手冊內容的詳細資訊，請參閱[檢視執行手冊內容](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html#view-automation-json)。

1.  **設定和管理警示動作：**對於任何需要動作的警示，請[使用 CloudWatch SDK 指定自動化動作](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-using-alarm-actions.html)。例如，您可以建立和啟用警示的動作，或停用警示的動作，以根據 CloudWatch 警示自動變更 Amazon EC2 執行個體的狀態。

    也可使用 [Amazon EventBridge](https://aws.amazon.com/eventbridge/) 來自動回應系統事件，例如應用程式可用性問題或資源變動。您可建立規則來指示您在意的事件，以及當事件符合規則時執行的動作。可以自動啟動的動作包括調用 [AWS Lambda](https://aws.amazon.com/lambda/) 函數、調用 [Amazon EC2](https://aws.amazon.com/ec2/) `Run Command`、將事件轉送至 [Amazon Kinesis Data Streams](https://aws.amazon.com/kinesis/data-streams/) 以及查看[使用 EventBridge 自動化 Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automating_with_eventbridge.html)。

1.  **標準操作程序 (SOP)：**根據您的應用程式元件，[AWS Resilience Hub](https://docs.aws.amazon.com/resilience-hub/latest/userguide/what-is.html) 會建議多個 [SOP 範本](https://docs.aws.amazon.com/resilience-hub/latest/userguide/sops.html)。您可以使用這些 SOP 記錄在發出提醒時操作員應遵循的所有程序。也可以根據 Resilience Hub 建議來[建構 SOP](https://docs.aws.amazon.com/resilience-hub/latest/userguide/building-sops.html)，其中您需要具有相關彈性政策的 Resilience Hub 應用程式，以及針對該應用程式的歷史彈性評估。SOP 的建議會由彈性評估產生。

    Resilience Hub 與 Systems Manager 合作，透過提供許多 [SSM 文件](https://docs.aws.amazon.com/resilience-hub/latest/userguide/create-custom-ssm-doc.html)作為這些 SOP 的基礎來自動執行 SOP 的步驟。例如，Resilience Hub 可能會建議使用 SOP 來根據現有的 SSM 自動化文件新增磁碟空間。

1.  **使用 Amazon DevOps Guru 執行自動化動作：**可使用 [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 來自動監控應用程式資源，以偵測異常行為並提供目標建議，以縮短問題識別和矯正時間。使用 DevOps Guru，可以近乎即時地監控多個來源的操作資料串流，包括 Amazon CloudWatch 指標、[AWS Config](https://aws.amazon.com/config/)、[AWS CloudFormation](https://aws.amazon.com/cloudformation/) 和 [AWS X-Ray](https://aws.amazon.com/xray/)。也可以使用 DevOps Guru 在 OpsCenter 中自動建立 [OpsItems](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-create-OpsItems-from-CloudWatch-Alarms.html)，並將事件傳送至 [EventBridge 以實現額外的自動化](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-eventbridge.html)。

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+  [REL06-BP01 監控工作負載的所有元件 (產生)](rel_monitor_aws_resources_monitor_resources.md) 
+  [REL06-BP02 定義和計算指標 (彙總)](rel_monitor_aws_resources_notification_aggregation.md) 
+  [REL06-BP03 傳送通知 (即時處理和警示)](rel_monitor_aws_resources_notification_monitor.md) 
+  [REL08-BP01 將執行手冊用於部署等標準活動](rel_tracking_change_management_planned_changemgmt.md) 

 **相關文件：**
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
+  [建立 EventBridge 規則，以透過 AWS 資源觸發事件](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) 
+  [一個可觀測性研討會](https://observability.workshop.aws/) 
+  [Amazon 建置者資料中心：偵測分散式系統，以了解運作狀態](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [什麼是 Amazon DevOps Guru？](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  [使用自動化文件 (手冊)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 

 **相關影片：**
+ [AWS re:Invent 2022 - Amazon 的可觀測性最佳實務](https://www.youtube.com/watch?v=zZPzXEBW4P8)
+ [AWS re:Invent 2020：使用 AWS Systems Manager 自動執行任何操作](https://www.youtube.com/watch?v=AaI2xkW85yE)
+ [AWS Resilience Hub 簡介](https://www.youtube.com/watch?v=_OTTCOjWqPo)
+ [為 Amazon DevOps Guru 通知建立自訂票證系統](https://www.youtube.com/watch?v=Mu8IqWVGUfg)
+ [使用 Amazon DevOps Guru 啟用多帳戶洞察彙總](https://www.youtube.com/watch?v=MHezNcTSTbI)

 **相關範例：**
+ [Amazon CloudWatch 和 Systems Manager 研討會](https://catalog.us-east-1.prod.workshops.aws/workshops/a8e9c6a6-0ba9-48a7-a90d-378a440ab8ba/en-US)