

# REL13-BP04 管理 DR 站點或區域的組態偏移
<a name="rel_planning_for_recovery_config_drift"></a>

 若要執行成功的災難復原 (DR) 程序，您的工作負載必須能夠及時恢復正常運作，而且在 DR 環境上線後，不會發生相關的功能喪失或資料損失。若要實現此目標，請務必在 DR 環境與主要環境之間維護一致的基礎設施、資料和組態。

 **預期成果：**您的災難復原站點的組態和資料與主要站點相同，這有助於在需要時快速且完整的復原。

 **常見的反模式：**
+  當主要位置發生變更時，您未能更新復原位置，這會導致組態過時，進而阻礙復原工作。
+  您未考量潛在的限制，例如，主要和復原位置之間的服務差異，這可能會導致容錯移轉期間發生非預期的失敗。
+  您依賴手動程序來更新和同步 DR 環境，這會增加人為錯誤和不一致的風險。
+  您未能偵測到組態偏移，這會導致在事件發生之前對 DR 站點整備度產生錯誤的認知。

 **建立此最佳實務的優勢：**DR 環境與主要環境之間的一致性可大幅改善事件發生後成功復原的可能性，並降低復原程序失敗的風險。

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

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

 一套完整的組態管理和容錯移轉整備方法，可協助您確認 DR 站點持續更新，並準備好在主要站點故障時接管。

 若要實現主要與災難復原 (DR) 環境之間的一致性，請確定您的交付管道會將應用程式同時分配到主要和 DR 網站。經過適當的評估期 (也稱為*交錯部署*) 之後，將變更推展至 DR 站點，以偵測主要站點的問題，並在問題擴大之前停止部署。實作監控來偵測組態偏移，並追蹤整個環境的變更和合規性。在 DR 站點中執行自動修復，使其完全一致，並準備好在事件發生時接管。

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

1.  確定 DR 區域包含成功執行 DR 計畫所需的 AWS 服務和功能。

1.  使用基礎設施即程式碼 (IaC)。保持正式作業基礎設施和應用程式組態範本的準確性，並定期將其套用至災難復原環境。[AWS CloudFormation](https://aws.amazon.com/cloudformation/) 可偵測 CloudFormation 範本所指定內容與實際部署內容之間的偏移。

1.  設定 CI/CD 管道，將應用程式和基礎設施更新部署到所有環境，包括主要和 DR 站點。CI/CD 解決方案 (例如 [AWS CodePipeline](https://aws.amazon.com/codepipeline/)) 可以自動化部署程序，進而降低組態偏移的風險。

1.  在主要環境和 DR 環境之間交錯部署。此方法允許一開始在主要環境中部署和測試更新，這樣會隔離主要站點中的問題，避免後續傳播到 DR 站點。此方法可防止同時將瑕疵推送至正式作業環境和 DR 站點，並維護 DR 環境的完整性。

1.  同時主要和 DR 環境中持續監控資源組態。[AWS Config](https://aws.amazon.com/config/) 這類解決方案可協助強制執行組態合規性並偵測偏移，這有助於在環境之間維持組態的一致性。

1.  實作警示機制，以追蹤任何組態偏移或資料複寫中斷或延遲的情形，並發出通知。

1.  自動修復偵測到的組態偏移。

1.  排程定期稽核和合規檢查，以確認主要和 DR 組態之間持續保持一致。定期審查可協助您保持符合既定規則，並識別任何需要解決的差異。

1.  檢查 AWS 佈建的容量、服務配額、限流限制是否不相符，以及組態和版本的差異。

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

 **相關的最佳實務：**
+  [REL01-BP01 了解服務配額和限制](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_manage_service_limits_aware_quotas_and_constraints.html) 
+  [REL01-BP02 管理帳戶與區域之間的服務配額](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_manage_service_limits_limits_considered.html) 
+  [REL01-BP04 監控和管理配額](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_manage_service_limits_monitor_manage_limits.html) 
+  [REL13-BP03 測試災難復原實作以驗證實作](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_for_recovery_dr_tested.html) 

 **相關文件：**
+  [依 AWS Config 規則 修補不合規的 AWS 資源](https://docs.aws.amazon.com/config/latest/developerguide/remediation.html) 
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
+  [AWS CloudFormation：偵測堆疊和資源的未受管組態變更](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) 
+  [AWS CloudFormation：在整個 CloudFormation 堆疊上偵測偏差](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/detect-drift-stack.html) 
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
+  [AWS 上工作負載的災難復原：在雲端中復原 (AWS 白皮書)](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-workloads-on-aws.html) 
+  [如何在 AWS 上實作基礎設施組態管理解決方案？](https://aws.amazon.com/answers/configuration-management/aws-infrastructure-configuration-management/?ref=wellarchitected) 
+  [依 AWS Config 規則 修補不合規的 AWS 資源](https://docs.aws.amazon.com/config/latest/developerguide/remediation.html) 

 **相關影片：**
+  [AWS re:Invent 2018：適用於多區域主動-主動應用程式的架構模式 (ARC209-R2)](https://youtu.be/2e29I3dA8o4) 

 **相關範例：**
+  [CloudFormation 登錄](https://aws.amazon.com/blogs/devops/identify-regional-feature-parity-using-the-aws-cloudformation-registry/) 
+  [適用於 AWS 的配額監控](https://aws.amazon.com/solutions/implementations/quota-monitor/) 
+  [使用 Amazon CloudWatch 和 AWS Lambda 實作自動修復 AWS CloudFormation 的偏移](https://aws.amazon.com/blogs/mt/implement-automatic-drift-remediation-for-aws-cloudformation-using-amazon-cloudwatch-and-aws-lambda/) 
+  [AWS 架構部落格：災難復原系列](https://aws.amazon.com/blogs/architecture/tag/disaster-recovery-series/) 
+  [AWS Marketplace：可用於災難復原的產品](https://aws.amazon.com/marketplace/search/results?searchTerms=Disaster+recovery) 
+  [自動化安全、無人為介入的部署](https://aws.amazon.com/builders-library/automating-safe-hands-off-deployments/) 