

# 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.  Infrastructure as Code (IaC) を使用します。本番環境インフラストラクチャとアプリケーション構成テンプレートを正確に保ち、ディザスタリカバリ​​環境に定期的に適用します。[AWS CloudFormation](https://aws.amazon.com/cloudformation/) は、CloudFormation テンプレートで指定されている内容と実際にデプロイされている内容との間のドリフトを検出できます。

1.  CI/CD パイプラインを設定して、プライマリサイトや DR サイトを含むすべての環境にアプリケーションとインフラストラクチャの更新をデプロイします。[AWS CodePipeline](https://aws.amazon.com/codepipeline/) などの CI/CD ソリューションはデプロイプロセスを自動化できるため、構成ドリフトのリスクを軽減できます。

1.  プライマリ環境と DR 環境間のスタガーデプロイ。このアプローチでは、アップデートをまずプライマリ環境に展開してテストできるため、問題が DR サイトに伝播される前にプライマリサイトの問題を分離できます。このアプローチにより、欠陥が本番稼働サイトと DR サイトに同時にプッシュされるのを防ぎ、DR 環境の整合性を維持できます。

1.  プライマリ環境と DR 環境の両方でリソース設定を継続的にモニタリングします。[AWS Config](https://aws.amazon.com/config/) などのソリューションは、構成のコンプライアンスを強制し、ドリフトを検出するのに役立ち、環境間で一貫した構成を維持するのに役立ちます。

1.  設定ドリフト、データレプリケーションの中断、遅延を追跡して通知するアラートメカニズムを実装します。

1.  検出された設定ドリフトの修復を自動化します。

1.  プライマリ設定と DR 設定の間で継続的な整合性を検証するために、定期的な監査とコンプライアンスチェックをスケジュールします。定期的なレビューは、定義されたルールへのコンプライアンスを維持し、対処する必要がある不一致を特定するのに役立ちます。

1.  AWS プロビジョニングされた容量、Service Quotas、スロットル制限、設定とバージョンの不一致をチェックします。

## リソース
<a name="resources"></a>

 **関連するベストプラクティス:** 
+  [REL01-BP01 Service Quotas と制約を認識する](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_manage_service_limits_aware_quotas_and_constraints.html) 
+  [REL01-BP02 アカウントおよびリージョンをまたいで Service Quotas を管理する](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 リソースの修復AWS Config ルール](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) 
+  [Automating safe, hands-off deployments](https://aws.amazon.com/builders-library/automating-safe-hands-off-deployments/) 