

# REL13-BP04 管理灾难恢复站点或区域的配置偏差
<a name="rel_planning_for_recovery_config_drift"></a>

 为了成功执行灾难恢复（DR）过程，一旦灾难恢复环境上线，工作负载就必须能够及时恢复正常操作，而不会丢失相关的功能或数据。要实现这一目标，务必在灾难恢复环境和主环境之间保持一致的基础设施、数据和配置。

 **期望结果：**灾难恢复站点的配置和数据与主站点相当，这有助于在需要时进行快速而完整的恢复。

 **常见反模式：**
+  当对主位置进行更改时，您未能更新恢复位置，这导致配置过时，从而阻碍恢复工作。
+  您未考虑潜在的限制，例如主位置和恢复位置之间的服务差异，这些限制可能会在失效转移期间导致意外故障。
+  您依赖手动流程来更新和同步灾难恢复环境，这会增加人为错误和不一致的风险。
+  您未能检测到配置偏差，这会导致在事件发生之前错误地感知灾难恢复站点就绪状态。

 **建立此最佳实践的好处：**灾难恢复环境和主环境之间的一致性可显著提高事件发生后成功恢复的可能性，并降低恢复过程失败的风险。

 **在未建立这种最佳实践的情况下暴露的风险等级：**高 

## 实施指导
<a name="implementation-guidance"></a>

 全面的配置管理和失效转移就绪方法有助于您验证灾难恢复站点是否持续更新，并准备好在主站点出现故障时进行接管。

 要实现主环境和灾难恢复（DR）环境之间的一致性，请验证您的交付管道是否同时将应用程序分发到主站点和灾难恢复站点。在适当的评估期后推出对灾难恢复站点的更改（也称为*错开部署*），以检测主站点的问题，并在问题蔓延之前停止部署。实施监控以检测配置偏差，并跟踪环境中的更改和合规性。在灾难恢复站点中执行自动修复，以使其保持完全一致，并做好准备在发生事件时立即接管。

### 实施步骤
<a name="implementation-steps"></a>

1.  验证灾难恢复区域包含成功执行灾难恢复计划所需的 AWS 服务和功能。

1.  使用基础设施即代码（IaC）。保持生产基础设施和应用程序配置模板的准确性，并定期将其应用于灾难恢复环境。[AWS CloudFormation](https://aws.amazon.com/cloudformation/) 可以检测 CloudFormation 模板指定的内容与实际部署内容之间的偏差。

1.  配置 CI/CD 管道来将应用程序和基础设施更新部署到所有环境，包括主站点和灾难恢复站点。诸如 [AWS CodePipeline](https://aws.amazon.com/codepipeline/) 等 CI/CD 解决方案可以自动执行部署过程，从而降低配置偏差的风险。

1.  在主环境和灾难恢复环境之间错开部署。这种方法支持在主环境中对更新进行初始部署和测试，这样可以在问题传播到灾难恢复站点之前，将其隔离在主站点中。这种方法可以防止同时将缺陷推送到生产和灾难恢复站点，并保持灾难恢复环境的完整性。

1.  持续监控主环境和灾难恢复环境中的资源配置。诸如 [AWS Config](https://aws.amazon.com/config/) 之类的解决方案有助于强制实施配置合规性并检测偏差，这有助于在不同环境中保持一致的配置。

1.  实施警报机制，以跟踪和通知任何配置偏差或数据复制中断或滞后。

1.  自动修复检测到的配置偏差。

1.  安排定期审计和合规性检查，以验证主配置和灾难恢复配置之间的持续一致性。定期审核可帮助您保持对既定规则的遵守，并确定需要解决的任何差异。

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: Architecture Patterns for Multi-Region Active-Active Applications (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/) 
+  [Implement automatic drift remediation for AWS CloudFormation using Amazon CloudWatch and AWS Lambda](https://aws.amazon.com/blogs/mt/implement-automatic-drift-remediation-for-aws-cloudformation-using-amazon-cloudwatch-and-aws-lambda/) 
+  [AWS Architecture Blog: Disaster Recovery](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/) 