

# REL12-BP05 定期進行演練日
<a name="rel_testing_resiliency_game_days_resiliency"></a>

 舉辦演練日，以定期執行程序來回應影響工作負載的事件和損害。讓可能負責處理正式作業案例的相同團隊參與。這些練習有助於強制執行措施，以防止使用者因正式作業事件而受到影響。若您在實際情況下練習回應程序，就可以在實際事件發生之前識別和解決任何差距或弱點。

 演練日會在類似正式作業環境中模擬事件，以測試系統、程序和團隊回應。目的是實際執行在異常事件發生時，團隊會執行的動作。這些練習可幫助您了解何處有改善空間，並能協助發展組織處理事件和損害的經驗。這些練習應該定期進行，讓您的團隊能夠培養應對的肌肉記憶。

 演練日可讓團隊更有信心地處理實際發生的事件。熟悉演練的團隊更能夠快速偵測和回應各種案例。這可大幅改善整備度和彈性狀態。

 **預期成果：**您定期一致地進行彈性演練日。這些演練日會做為預期的正常業務營運。您的組織袍養出整備文化，當正式作業問題發生時，您的團隊已準備好有效地回應、有效率地解決問題，並減輕對客戶的影響。

 **常見的反模式：**
+  您記載您的程序，但未曾進行演練。
+  您未讓業務決策者參與測試練習。
+  您進行演練日，但未通知所有相關利害關係人。
+  您只專注於技術失敗，但未納入業務利害關係人。
+  您未將演練日所學到的經驗納入復原程序中。
+  您在發生失敗或錯誤時責怪團隊。

 **建立此最佳實務的優勢：**
+  增強回應技能：在演練日，團隊會在模擬事件的過程中練習其職責並測試其溝通機制，從而在實際情境中建立更協調且更有效率的回應。
+  識別和解決相依性：複雜的環境通常涉及各種系統、服務和元件之間繁複的相依性。演練日可協助您識別並解決這些相依性，以及確認您的關鍵系統和服務確實涵蓋在您的執行手冊程序內，並且能夠及時向上擴展或復原。
+  培養彈性的文化：演練日有助於培養組織內的彈性思維。當您納入跨職能團隊和利害關係人時，這些練習就能提升整個組織對彈性重要性的意識、協作和同理。
+  持續改進和適應：定期演練日可協助您持續評估和調整彈性策略，以便在面對不斷變化的情況時，保持關聯性和有效性。
+  提高對系統的信心：成功的演練日可協助您建立對系統承受中斷並從中復原能力的信心。

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

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

 設計並實作必要的彈性措施後，請舉行演練日來確認正式作業時，一切是否如規畫運作。特別是第一次的演練日，應納入所有團隊成員，且所有利害關係人和參與者都應事先收到有關日期、時間和模擬案例的通知。

 在演練日，參與的團隊會根據既定程序模擬各種事件和可能的案例。參與者會密切監控和評估這些模擬事件的影響。如果系統依設計運作，則自動偵測、擴展和自我修復機制應會啟動，而且對使用者的影響極少或無影響。如果團隊觀察到任何負面影響，則會透過自動化的方式或適用的執行手冊中記錄的手動介入方式，來復原測試並補救找到的問題。

 為了持續改善彈性，記錄並納入學到的經驗至關重要。此程序是一種*回饋循環*，採取系統化的方式從演練日獲得洞察，並利用它們來增強系統、程序和團隊功能。

 為了協助您重現系統元件或服務可能意外失敗的真實案例，請將模擬錯誤植入演練日練習中。團隊可以測試其系統的彈性和容錯能力，並在受控的環境中模擬其事件回應和復原程序。

 在 AWS 中，您的演練日可以使用基礎設施即程式碼，透過正式作業環境的複本來執行。透過此程序，您可以在類似正式作業環境的安全環境中進行測試。考慮使用 [AWS Fault Injection Service](https://aws.amazon.com/fis/) 來建立不同的失敗案例。使用 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 和 [AWS X-Ray](https://aws.amazon.com/xray/) 等服務來監控演練日的系統行為。使用 [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 來管理和執行程序手冊，並使用 [AWS Step Functions](https://aws.amazon.com/step-functions/) 來協調週期性演練日工作流程。

### 實作步驟
<a name="implementation-steps"></a>
+  **擬訂演練日計畫：**擬訂結構化的計畫，以定義演練日的頻率、範圍和目標。規畫和執行這些練習時，讓主要利害關係人和主題專家參與。
+  **準備演練日：**

  1.  指定做為演練日重點的重要關鍵業務服務。將支援這些服務的人員、程序和技術造冊並對應。

  1.  設定演練日的流程，並讓參與的團隊準備好參與活動。備妥自動化服務，以模擬規劃的案例並執行適當的復原程序。[AWS Fault Injection Service](https://aws.amazon.com/fis/)、[AWS Step Functions](https://aws.amazon.com/step-functions/) 和 [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 等 AWS 服務可協助您自動進行演練日的各個層面，例如植入錯誤和啟動復原動作。
+  **執行模擬：**在演練日當天，執行規劃的案例。觀察並記錄人員、程序和技術對模擬事件的反應。
+  **進行練習後檢討：**在演練日結束後，舉行回顧會議來檢討學到的經驗。識別需要改進的層面，以及改善營運彈性所需的任何動作。記錄您的調查結果，並追蹤任何必要的變更，以增強彈性策略並完成準備。

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

 **相關的最佳實務：**
+  [REL12-BP01 使用程序手冊調查失敗](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_testing_resiliency_playbook_resiliency.html) 
+  [REL12-BP04 使用混沌工程測試彈性](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_testing_resiliency_failure_injection_resiliency.html) 
+  [OPS04-BP01 識別關鍵績效指標](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_identify_kpis.html) 
+  [OPS07-BP03 使用執行手冊執行程序](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_ready_to_support_use_runbooks.html) 
+  [OPS10-BP01 使用程序進行事件、事故和問題管理](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_event_response_event_incident_problem_process.html) 

 **相關文件：**
+  [什麼是 AWS GameDay？](https://aws.amazon.com/gameday/) 

 **相關影片：**
+  [AWS re：Invent 2023 - 寓教於樂：Amazon 如何將彈性擴展到新境界](https://www.youtube.com/watch?v=r3J0fEgNCLQ&t=1734s) 

 **相關範例：**
+  [AWS 研討會 - 駕馭風暴：充分利用彈性系統的受控混沌](https://catalog.us-east-1.prod.workshops.aws/workshops/eb89c4d5-7c9a-40e0-b0bc-1cde2df1cb97) 
+  [打造自己的演練日以支援營運彈性](https://aws.amazon.com/blogs/architecture/build-your-own-game-day-to-support-operational-resilience/) 