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

REL 11: 如何設計工作負載以承受元件失敗?

需要高可用性和低平均復原時間 (MTTR) 的工作負載必須建立彈性架構。

資源

Static stability in AWS: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
AWS OpsWorks: Using Auto Healing to Replace Failed Instances
What Is Amazon EventBridge?
Amazon Route 53: Choosing a Routing Policy
What Is AWS Global Accelerator?
The Amazon Builders' Library: Static stability using Availability Zones
The Amazon Builders' Library: Implementing health checks
Well-Architected lab: Level 300: Implementing Health Checks and Managing Dependencies to Improve Reliability
The Berkeley/Stanford Recovery-Oriented Computing (ROC) Project
Multiple data center HA network connectivity
AWS Marketplace: products that can be used for fault tolerance
APN Partner: partners that can help with automation of your fault tolerance

最佳實務:

改進方案

監控工作負載的所有元件以偵測失敗

  • 根據您的復原目標決定元件的收集間隔。
  • 設定元件的詳細監控。
  • 建立自訂指標測量業務關鍵績效指標 (KPI) : 工作負載會實作關鍵業務功能。這些功能應做為 KPI,以協助確定何時發生間接問題。
    Publishing Custom Metrics
  • 以使用者 Canary 監控使用者的故障體驗: 可執行和模擬客戶行為的綜合交易測試 (也稱為「Canary 測試」,但請別與 Canary 部署混淆),是最重要的測試程序之一。針對來自不同遠端位置的工作負載端點持續執行這些測試。
    Amazon CloudWatch Synthetics enables you to create user canaries
  • 建立追蹤使用者體驗的自訂指標: 如果您可以檢測客戶的體驗,則可以判斷消費者體驗何時變差。
    Publishing Custom Metrics
  • 設定警示以偵測工作負載的任何部分何時未正常運作,並指示何時自動擴展資源。 : 警示會在儀表板上以視覺化方式顯示、透過 SNS 或電子郵件傳送提醒,以及使用 Auto Scaling 向上或向下擴展工作負載的資源。
    Using Amazon CloudWatch Alarms
  • 建立儀表板以視覺化指標: 儀表板可以讓您以視覺化方式查看趨勢、極端值和其他潛在問題的指標,或提供您可能想要調查之問題的指示。
    Using CloudWatch Dashboards
  • 容錯移轉至運作良好的資源

  • 容錯移轉至運作良好的資源: 可確保如果發生資源故障,運作良好的資源可以繼續為請求提供服務。對於位置故障 (例如可用區域或 AWS 區域),請確保您的系統已就位,可容錯移轉至未受影響位置中運作良好的資源。
  • 將所有分層的修復自動化

  • 使用 Auto Scaling 群組在應用程式中部署分層: Auto Scaling 可以對無狀態應用程式進行自我修復,並新增和移除容量。
    How AWS Auto Scaling Works
  • 對已部署無法在多個位置中部署之應用程式,且可以容忍失敗後重新開機的 EC2 執行個體,實作自動復原。 : 在應用程式無法部署於多個位置時,自動復原可以用來取代失敗硬體並重新啟動執行個體。 執行個體中繼資料和相關聯的 IP 地址,以及 Amazon EBS 磁碟區和 Lustre 及 Windows 的彈性檔案系統或檔案系統的掛載點皆會保留。
    Amazon EC2 Automatic Recovery
    Amazon Elastic Block Store (Amazon EBS)
    Amazon Elastic File System (Amazon EFS)
    What is Amazon FSx for Lustre?
    What is Amazon FSx for Windows File Server?
  • 當您無法使用自動擴展或自動復原,或自動復原失敗時,則使用 AWS Step Functions 和 AWS Lambda 實作自動復原。 : 當您無法使用自動擴展,且無法使用自動復原或自動復原失敗時,則可以使用 AWS Step Functions 和 AWS Lambda 將修復作業自動化。
    What is AWS Step Functions?
    What is AWS Lambda?
  • 使用靜態穩定性來防止雙模態行為

  • 使用靜態穩定性來防止雙模態行為: 雙模態行為是您的工作負載在正常和失敗模式下展現出不同的行為,例如,當可用區域失敗時,仰賴啟動新的執行個體。
    The Amazon Builders' Library: Static stability using Availability Zones
    Static stability in AWS: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
  • 當事件影響可用性時傳送通知

  • 當業務關鍵績效指標超過臨界值下限時,發出該指標的警示: 對業務 KPI 制定臨界值下限警示,有助於您知道何時無法使用工作負載或工作負載無法運作。
    Creating a CloudWatch Alarm Based on a Static Threshold
  • 叫用修復自動化的事件警示: 您可以直接叫用 SNS API,以透過您建立的任何自動化來傳送通知。
    What is Amazon Simple Notification Service?