此內容已過時。這個版本的 Well-Architected 框架現在可以在以下位置找到: https://docs.aws.amazon.com/zh_tw/wellarchitected/2022-03-31/framework/reliability.html

REL 12: 如何測試可靠性?

在將工作負載設計為可彈性應對生產壓力之後,測試是確保其依設計運作並交付您預期之彈性的唯一方法。

資源

Well-Architected lab: Level 300: Testing for Resiliency of EC2 RDS and S3
Injecting Chaos to Amazon EC2 using AWS Systems Manager
Resilience Engineering: Learning to Embrace Failure
AWS re:Invent 2019: Improving resiliency with chaos engineering (DOP309-R1)
Continuous Delivery and Continuous Integration
Using Canaries (Amazon CloudWatch Synthetics)
Use CodePipeline with AWS CodeBuild to test code and run builds
Automate your operational playbooks with AWS Systems Manager
Principles of Chaos Engineering
Apache JMeter
Casey Rosenthal, Lorin Hochstein, Aaron Blohowiak, Nora Jones, Ali Basiri. “Chaos Engineering” (August 2017)
AWS Marketplace: products that can be used for continuous integration
APN Partner: partners that can help with implementation of a continuous integration pipeline

最佳實務:

改進方案

使用程序手冊調查失敗

  • 使用程序手冊識別出問題: 程序手冊是調查問題的書面程序。透過在程序手冊中記錄程序,對失敗情境做出一致且迅速的回應。程序手冊包含的資訊和指南必須能夠讓技能嫻熟的人員得以收集適用資訊、識別潛在的失敗來源、隔離故障,以及判斷成因 (即執行事件後分析)。
  • 執行事件後分析

  • 建立事件後分析標準: 良好的事件後分析提供了機會,為系統中其他地方使用的架構模式問題提出通用解決方案。
  • 使用程序判斷成因: 建立程序來識別和記錄事件的成因,以便您可以制定緩解措施來限制或防止事件再次發生。另外,您還可以制定快速有效地做出回應的程序。適當地傳達成因和為目標受眾量身打造的糾正措施。
    What is log analytics?
  • 測試功能要求

  • 測試功能要求: 這包括驗證所需功能的單位測試和整合測試。
    Use CodePipeline with AWS CodeBuild to test code and run builds
    AWS CodePipeline Adds Support for Unit and Custom Integration Testing with AWS CodeBuild
    Continuous Delivery and Continuous Integration
    Using Canaries (Amazon CloudWatch Synthetics)
    Software test automation
  • 測試擴展和效能需求

  • 測試擴展和效能需求: 進行負載測試,以驗證工作負載是否滿足擴展和效能需求。
    Distributed Load Testing on AWS: simulate thousands of connected users
    Apache JMeter
  • 使用混沌工程測試彈性

  • 使用混沌工程測試彈性: 執行定期將失敗注入生產前和生產環境中的測試。假設工作負載對失敗的反應,然後將您的假設與測試結果進行比較,並在不相符時反覆進行測試。請確保生產測試不會影響使用者。
    Principles of Chaos Engineering
    Well-Architected lab: Level 300: Testing for Resiliency of EC2 RDS and S3
    Injecting Chaos to Amazon EC2 using AWS Systems Manager
    AWS re:Invent 2019: Improving resiliency with chaos engineering (DOP309-R1)
  • 定期進行演練日

  • 安排演練日以定期練習您的執行手冊和程序手冊。: 演練日應納入生產中斷發生時參與的每個人:企業擁有者、開發人員、營運人員和事件反應團隊。