

# データのバックアップ方法
<a name="back-up-data"></a>

 目標復旧時間 (RTO) と目標復旧時点 (RPO) の要件を満たすように、データ、アプリケーション、設定をバックアップします。

**Topics**
+ [REL09-BP01 バックアップが必要なすべてのデータを特定してバックアップする、またはソースからデータを再現する](rel_backing_up_data_identified_backups_data.md)
+ [REL09-BP02 バックアップを保護し、暗号化する](rel_backing_up_data_secured_backups_data.md)
+ [REL09-BP03 データバックアップを自動的に実行する](rel_backing_up_data_automated_backups_data.md)
+ [REL09-BP04 データの定期的な復旧を行ってバックアップの完全性とプロセスを確認する](rel_backing_up_data_periodic_recovery_testing_data.md)

# REL09-BP01 バックアップが必要なすべてのデータを特定してバックアップする、またはソースからデータを再現する
<a name="rel_backing_up_data_identified_backups_data"></a>

ワークロードが使用するデータサービスとリソースのバックアップ機能を理解し、使用します。ほとんどのサービスは、ワークロードデータをバックアップする機能を提供します。

 **期待される成果:** データソースが識別され、重要性に基づいて分類されます。次に、RPO に基づいてデータ復旧戦略を確立します。この戦略には、これらのデータソースをバックアップするか、他のソースからデータを再生成する能力を持つことが含まれます。データを喪失した場合は、実装された戦略によって、定義された RPO および RTO 内でデータを復旧または再生成できます。

 **クラウド成熟フェーズ:** 基礎 

 **一般的なアンチパターン:** 
+  ワークロードのすべてのデータソースとそれらの重要性を認識していない。
+  重要なデータソースのバックアップを取っていない。
+  重要性を評価基準として使用せずに、一部のデータソースのみのバックアップを取る。
+  RPO が定義されていないか、バックアップの頻度が RPO を満たしていない。
+  バックアップが必要かどうか、またはデータを他のソースから再生成できるかどうかを評価していない。

 **このベストプラクティスを活用するメリット:** バックアップが必要な場所を特定し、バックアップを作成するメカニズムを実装するか、外部ソースからデータを再生成できるようにすることで、停止時にデータを復元し、復旧する能力が高まります。

 **このベストプラクティスを活用しない場合のリスクレベル:** 高 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 すべての AWS データストアは、バックアップ機能を備えています。Amazon RDS や Amazon DynamoDB などのサービスは、ポイントインタイムリカバリ (PITR) を有効にする自動バックアップを追加でサポートします。これにより、現在時刻の 5 分前までの任意の時刻に、バックアップを復元することができます。多くの AWS のサービスでは、バックアップを別の AWS リージョンにコピーできます。AWS Backup は、AWS のサービス間でデータ保護を一元化および自動化する機能を提供するツールです。[AWS Elastic Disaster Recovery](https://aws.amazon.com/disaster-recovery/) では、完全なサーバーワークロードをコピーし、オンプレミス、クロス AZ、またはクロスリージョンの継続的なデータ保護を維持し、目標復旧時点 (RPO) を秒単位で測定できます。

 Amazon S3 をセルフマネージドデータソースおよび AWS マネージドデータソースのバックアップ先として使用できます。Amazon EBS、Amazon RDS、Amazon DynamoDB などの AWS サービスには、バックアップを作成する機能が組み込まれています。サードパーティーのバックアップソフトウェアも使用できます。

 [AWS Storage Gateway](https://docs.aws.amazon.com/storagegateway/latest/vgw/WhatIsStorageGateway.html) または [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html) を使用して、オンプレミスのデータを AWS クラウドにバックアップできます。Amazon S3 バケットを使用して、このデータを AWS に保存できます。Amazon S3 は、[Amazon Glacier や Amazon Glacier Deep Archive](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/amazon-s3-glacier.html) などの複数のストレージ階層を提供し、データストレージのコストを削減します。

 他のソースからデータを再生成することによって、データリカバリのニーズを満たすこともできます。例えば、[Amazon ElastiCache レプリカノード](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.Redis.Groups.html)または [Amazon RDS リードレプリカ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)を使用して、プライマリを喪失した場合にデータを再現できます。このようなソースを使用して[目標復旧時点 (RPO) と目標復旧時間 (RTO) ](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/disaster-recovery-dr-objectives.html)を満たせる場合は、バックアップが不要な可能性があります。別の例として、Amazon EMR を使用している場合、[Amazon S3 から Amazon EMR にデータを再現できる](https://aws.amazon.com/premiumsupport/knowledge-center/copy-s3-hdfs-emr/)限り、HDFS データストアをバックアップする必要がない可能性があります。

 バックアップ戦略を選択するときは、データの復旧にかかる時間を考慮してください。データの復旧に必要な時間は、バックアップの種類 (バックアップ戦略の場合) やデータ再生成メカニズムの複雑さに応じて異なります。この時間は、ワークロードの RTO 以内である必要があります。

 **実装手順** 

1.  **ワークロードのすべてのデータソースを特定する**。データは、[データベース](https://aws.amazon.com/products/databases/)、[ボリューム](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html)、[ファイルシステム](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html)、[ログ記録システム](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)、[オブジェクトストレージ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)などの多数のリソースに保管できます。「**リソース**」セクションを参照して、データが保管されているさまざまな AWS のサービスに関する**関連ドキュメント**と、これらのサービスが提供するバックアップ機能を確認してください。

1.  **重要性に基づいてデータソースを分類する**。データセットごとにワークロードに対する重要度が異なるため、回復力の要件も異なります。例えば、一部のデータは重要度が高く、ゼロに近い RPO を必要とするかもしれませんが、その他のデータは重要度が低く、より高い RPO や部分的なデータ損失に耐えられるかもしれません。同様に、データセットごとに RTO の要件も異なります。

1.  **AWS またはサードパーティーのサービスを使用して、データのバックアップを作成します**。[AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) は、AWS でさまざまなデータソースのバックアップを作成できるマネージドサービスです。[AWS Elastic Disaster Recovery](https://aws.amazon.com/disaster-recovery/) は、AWS リージョンへの 1 秒未満の自動データ複製を処理します。AWS サービスのほとんどは、バックアップを作成する機能をネイティブで備えています。AWS Marketplace には、これらの機能を提供する多数のソリューションも用意されています。以下に記載されている「**リソース**」を参照して、さまざまな AWS のサービスからデータバックアップを作成する方法に関する情報を確認してください。

1.  **バックアップしないデータにデータ再生成メカニズムを確立する**。さまざまな理由から、他のソースから再現できるデータはバックアップしないという選択をすることもあるでしょう。バックアップの保管にコストがかかるため、バックアップを作成するよりも、必要なときにソースからデータを再現したほうが安いという状況もあるかもしれません。別の例は、バックアップからの復元にかかる時間が、ソースからデータを再現するよりも長く、結果として RTO に反する場合です。このような状況では、トレードオフを考慮して、データ復旧が必要なときにこれらのソースからデータを再現する方法について、十分に定義されたプロセスを確立してください。例えば、データの分析を行うために、Amazon S3 からデータウェアハウス (Amazon Redshift など)、または MapReduce クラスター (Amazon EMR など) にデータをロードしてある場合、これは他のソースから再現できるデータの例にあてはまるかもしれません。これらの分析結果がどこかに保管されているか再現可能である限り、データウェアハウスまたは MapReduce クラスターで発生した障害によって、データが失われることはありません。ソースから再現できる例としては他にも、キャッシュ (Amazon ElastiCache など) や RDS リードレプリカなどが挙げられます。

1.  **データをバックアップするサイクルを確立する**。データソースのバックアップ作成は定期的なプロセスであり、頻度は RPO に依存します。

 **実装計画に必要な工数レベル:** 中 

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

 **関連するベストプラクティス:** 

[REL13-BP01 ダウンタイムやデータ消失に関する復旧目標を定義する](rel_planning_for_recovery_objective_defined_recovery.md) 

[REL13-BP02 復旧目標を満たすため、定義された復旧戦略を使用する](rel_planning_for_recovery_disaster_recovery.md) 

 **関連ドキュメント:** 
+  [ とはAWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) 
+  [AWS DataSync とは](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html) 
+  [ボリュームゲートウェイとは](https://docs.aws.amazon.com/storagegateway/latest/vgw/WhatIsStorageGateway.html) 
+  [APN パートナー: バックアップを支援できるパートナー](https://aws.amazon.com/partners/find/results/?keyword=Backup) 
+  [AWS Marketplace: バックアップに活用できる製品](https://aws.amazon.com/marketplace/search/results?searchTerms=Backup) 
+  [Amazon EBS スナップショット](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) 
+  [Amazon EFS のバックアップ](https://docs.aws.amazon.com/efs/latest/ug/efs-backup-solutions.html) 
+  [Amazon FSx for Windows File Server のバックアップ](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html) 
+  [ElastiCache for Redis のバックアップと復元](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups.html) 
+  [Neptune での DB クラスタースナップショットの作成](https://docs.aws.amazon.com/neptune/latest/userguide/backup-restore-create-snapshot.html) 
+  [DB スナップショットの作成](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html) 
+  [スケジュールに従ってトリガーする EventBridge ルールの作成](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-scheduled-rule.html) 
+  Amazon S3 による[クロスリージョンレプリケーション](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) 
+  [EFS-to-EFS AWS Backup](https://aws.amazon.com/solutions/efs-to-efs-backup-solution/) 
+  [Amazon S3 へのログデータのエクスポート](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html) 
+  [オブジェクトのライフサイクル管理](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) 
+  [DynamoDB のオンデマンドバックアップと復元](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/backuprestore_HowItWorks.html) 
+  [DynamoDB のポイントインタイムリカバリ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PointInTimeRecovery.html) 
+  [Amazon OpenSearch Service でのインデックススナップショットの操作](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains-snapshots.html) 
+ [AWS Elastic Disaster Recovery とは](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html)

 **関連動画:** 
+  [AWS re:Invent 2021 - AWS によるバックアップ、ディザスタリカバリ、ランサムウェア保護](https://www.youtube.com/watch?v=Ru4jxh9qazc) 
+  [AWS Backup デモ: クロスアカウントおよびクロスリージョンバックアップ](https://www.youtube.com/watch?v=dCy7ixko3tE) 
+  [AWS re:Invent 2019: AWS Backup の詳細と Rackspaceについて (STG341)](https://youtu.be/av8DpL0uFjc) 

# REL09-BP02 バックアップを保護し、暗号化する
<a name="rel_backing_up_data_secured_backups_data"></a>

認証と承認を使用して、バックアップへのアクセスを制御し、検出します。暗号化によりバックアップのデータ保全性が損なわれることを防止、検出します。

 セキュリティコントロールを実装して、バックアップデータへの不正アクセスを防止します。バックアップを暗号化して、データの機密性と整合性を保護します。

 **一般的なアンチパターン:** 
+  データに対するのと同一の、バックアップおよび復元オートメーションへのアクセスを設定する。
+  バックアップを暗号化しない。
+  削除や改ざんから保護するためのイミュータビリティを実装していない。
+  本稼働システムとバックアップシステムに同じセキュリティドメインを使用する。
+  定期的なテストでバックアップの整合性を検証していない。

 **このベストプラクティスを活用するメリット:** 
+  バックアップを保護することで、データの改ざんを防止し、データの暗号化により、誤って公開されたデータへのアクセスが防止されます。
+  バックアップインフラストラクチャをターゲットとするランサムウェアやその他のサイバー脅威に対する保護を強化しました。
+  検証済みの復旧プロセスにより、サイバーインシデント後の復旧時間が短縮されました。
+  セキュリティインシデント中のビジネス継続性機能を改善しました。

 **このベストプラクティスを活用しない場合のリスクレベル:** 高 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 AWS Identity and Access Management (IAM) などの認証と承認を使用して、バックアップへのアクセスを制御、検出します。暗号化によりバックアップのデータ保全性が損なわれることを防止、検出します。

 Amazon S3 は、保管中のデータを暗号化するための方法をいくつかサポートしています。Amazon S3 はサーバー側の暗号化を使用して、オブジェクトを暗号化されていないデータとして受け入れてから、保存時に暗号化します。クライアント側の暗号化を使用すると、ワークロードアプリケーションはデータを Amazon S3 に送信する前に暗号化することに対して責任を負います。どちらの方法でも、AWS Key Management Service (AWS KMS) を使ってデータキーを作成して保存することもできます。また、自分でキーを用意し、そのキーを管理することもできます。AWS KMS を使用すると、IAM を使用してポリシーを設定し、データキーと復号化されたデータにアクセスできるユーザーとアクセスできないユーザーにわけることができます。

 Amazon RDS では、データベースの暗号化を選択すると、バックアップも暗号化されます。DynamoDB バックアップは常に暗号化されます。AWS Elastic Disaster Recovery を使用すると、転送中および保管中のすべてのデータが暗号化されます。Elastic Disaster Recovery を使用すると、デフォルトの Amazon EBS 暗号化ボリューム暗号化キーまたはカスタムのカスタマーマネージドキーのいずれかを使用して、保管中のデータを暗号化できます。

 **サイバーレジリエンスに関する考慮事項** 

 サイバー脅威に対するバックアップセキュリティを強化するには、暗号化に加えて以下の追加のコントロールを実装することを検討してください。
+  AWS Backup Vault Lock または Amazon S3 Object Lock を使用してイミュータビリティを実装し、保持期間中にバックアップデータが変更または削除されるのを防ぎ、ランサムウェアや悪意のある削除から保護します。
+  重要なシステムの AWS Backup 論理エアギャップボールトを使用して、本番稼働環境とバックアップ環境の間に論理的な分離を確立し、両方の環境の侵害を同時に防止するのに役立つ分離を作成します。
+  AWS Backup 復元テストを使用してバックアップの整合性を定期的に検証し、バックアップが破損しておらず、サイバーインシデント後に正常に復元できることを確認します。
+  マルチパーティー承認を使用して重要な復旧オペレーションに対する AWS Backup マルチパーティー承認を実装し、複数の指定された承認者からの認可を要求することで、許可されていない復旧や悪意のある復旧の試みを防止します。

### 実装手順
<a name="implementation-steps"></a>

1.  各データストアで暗号化を使用します。ソースデータが暗号化されている場合、バックアップも暗号化されます。
   + [Amazon RDS で暗号化を使用します。](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html)RDS インスタンスの作成時に、AWS Key Management Service を使用して、保管時の暗号化を設定できます。
   + [Amazon EBS ボリュームを暗号化します。](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)デフォルトの暗号化を設定するか、ボリュームの作成時に一意のキーを指定できます。
   +  必要な [Amazon DynamoDB 暗号化](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EncryptionAtRest.html)を使用します。DynamoDB は、保管中のデータをすべて暗号化します。AWS 所有の AWS KMS キーを使用するか、AWS マネージド KMS キーを使用して、アカウントに保存されるキーを指定できます。
   + [Amazon EFS に保存されているデータを暗号化します。](https://docs.aws.amazon.com/efs/latest/ug/encryption.html)ファイルシステムを作成するときに暗号化を設定します。
   +  送信元と送信先のリージョンで暗号化を設定します。KMS に保存されているキーを使用して Amazon S3 で保管時の暗号化を設定できますが、キーはリージョン固有です。レプリケーションを設定するときに、送信先キーを指定できます。
   +  デフォルトまたはカスタムの [Elastic Disaster Recovery 用 Amazon EBS 暗号化](https://docs.aws.amazon.com/drs/latest/userguide/volumes-drs.html#ebs-encryption)を使用するかどうかを選択します。このオプションでは、ステージングエリアのサブネットディスクとレプリケートしたディスク上に保管中のレプリケートされたデータを暗号化します。

1.  バックアップにアクセスするための最小特権のアクセス許可を実装します。[セキュリティのベストプラクティス](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html)に従って、バックアップ、スナップショット、およびレプリカへのアクセスを制限します。

1.  重要なバックアップのイミュータビリティを設定します。重要なデータについては、AWS Backup Vault Lock または S3 Object Lock を実装して、指定された保持期間中の削除や変更を防止します。実装の詳細については、「[AWS Backup Vault Lock](https://docs.aws.amazon.com/aws-backup/latest/devguide/vault-lock.html)」を参照してください。

1.  バックアップ環境の論理的な分離を作成します。サイバー脅威からの保護を強化する必要がある重要なシステムには、AWS Backup 論理エアギャップボールトを実装します。実装のガイダンスについては、「[Building cyber resiliency with AWS Backup logically air-gapped vault](https://aws.amazon.com/blogs/storage/building-cyber-resiliency-with-aws-backup-logically-air-gapped-vault/)」を参照してください。

1.  バックアップ検証プロセスを実装します。AWS Backup 復元テストを設定して、バックアップが破損しておらず、サイバーインシデント後に正常に復元できることを定期的に確認します。詳細については、「[Validate recovery readiness with AWS Backup restore testing](https://aws.amazon.com/blogs/storage/validate-recovery-readiness-with-aws-backup-restore-testing/)」を参照してください。

1.  機密性の高い復旧オペレーションのマルチパーティー承認を設定します。重要なシステムでは、復旧を続行する前に、複数の指定された承認者からの認可を要求する AWS Backup マルチパーティー承認を実装します。実装の詳細については、「[Improve recovery resilience with AWS Backup support for Multi-party approval](https://aws.amazon.com/blogs/storage/improve-recovery-resilience-with-aws-backup-support-for-multi-party-approval/)」を参照してください。

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

 **関連ドキュメント:** 
+  [AWS Marketplace: バックアップに活用できる製品](https://aws.amazon.com/marketplace/search/results?searchTerms=Backup) 
+  [Amazon EBS 暗号化](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) 
+  [Amazon S3: 暗号化によるデータの保護](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingEncryption.html) 
+  [CRR 追加設定: AWS KMS に保存された暗号化キーを使用したサーバー側の暗号化 (SSE) で作成されたオブジェクトをレプリケートする](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-replication-config-for-kms-objects.html) 
+  [保管時の DynamoDB 暗号化](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EncryptionAtRest.html) 
+  [Amazon RDS リソースを暗号化する](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) 
+  [Amazon EFS のデータとメタデータの暗号化](https://docs.aws.amazon.com/efs/latest/ug/encryption.html) 
+  [ でのバックアップの暗号化AWS](https://docs.aws.amazon.com/aws-backup/latest/devguide/encryption.html) 
+  [暗号化テーブルの管理](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.tutorial.html) 
+  [セキュリティの柱 - AWS Well-Architected フレームワーク](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html) 
+ [ とは AWS Elastic Disaster Recovery](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html)
+ [FSISEC11: How are you protecting against ransomware?](https://docs.aws.amazon.com/wellarchitected/latest/financial-services-industry-lens/fsisec11.html)
+ [Ransomware Risk Management on AWS Using the NIST Cyber Security Framework ](https://docs.aws.amazon.com/whitepapers/latest/ransomware-risk-management-on-aws-using-nist-csf/welcome.html)
+  [Building cyber resiliency with AWS Backup logically air-gapped vault](https://aws.amazon.com/blogs/storage/building-cyber-resiliency-with-aws-backup-logically-air-gapped-vault/) 
+  [Validate recovery readiness with AWS Backup restore testing](https://aws.amazon.com/blogs/storage/validate-recovery-readiness-with-aws-backup-restore-testing/) 
+  [Improve recovery resilience with AWS Backup support for Multi-party approval](https://aws.amazon.com/blogs/storage/improve-recovery-resilience-with-aws-backup-support-for-multi-party-approval/) 

 **関連する例:** 
+ [Implementing Bi-Directional Cross-Region Replication (CRR) for Amazon S3 ](https://wellarchitectedlabs.com/reliability/200_labs/200_bidirectional_replication_for_s3/)

# REL09-BP03 データバックアップを自動的に実行する
<a name="rel_backing_up_data_automated_backups_data"></a>

目標復旧時点 (RPO) によって通知される定期的なスケジュール、またはデータセット内の変更に基づいて、バックアップが自動的に行われるように設定します。データ損失の少ない重要なデータセットは頻繁に自動バックアップする必要があります。多少の損失は許容できる重要度の低いデータは、バックアップの頻度を少なくすることができます。

 **期待される成果:** 一定の周期でデータソースのバックアップを作成する自動化されたプロセス。

 **一般的なアンチパターン:** 
+  バックアップを手動で実行する。
+  バックアップ機能があるが、自動化にバックアップが含まれていないリソースを使用する。

 **このベストプラクティスを活用するメリット:** バックアップを自動化することで、バックアップが RPO に基づいて定期的に作成され、作成されない場合はアラートが送信されます。

 **このベストプラクティスを活用しない場合のリスクレベル:** 中 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 AWS Backup を使用して、AWS データソースの自動データバックアップを作成できます。Amazon RDS インスタンスは 5 分ごとにほぼ連続的にバックアップでき、Amazon S3 オブジェクトは 15 分ごとにほぼ連続的にバックアップできます。これにより、バックアップ履歴内の特定の時点へのポイントインタイムリカバリ (PITR) が可能になります。Amazon EBS ボリューム、Amazon DynamoDB テーブル、Amazon FSx ファイルシステムなど、その他の AWS データソースについては、AWS Backup は 1 時間ごとの頻度で自動バックアップを実行できます。これらのサービスはネイティブバックアップ機能も提供します。ポイントインタイムリカバリによる自動バックアップを提供する AWS サービスには、[Amazon DynamoDB、](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PointInTimeRecovery_Howitworks.html)[Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html)、[Amazon Keyspaces (Apache Cassandra 向け)](https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html) などがあります。これらは、バックアップ履歴内の特定の時点に復元できます。その他の AWS データストレージサービスのほとんどが、1 時間ごとの定期バックアップをスケジュールする機能を提供しています。

 Amazon RDS および Amazon DynamoDB は、ポイントインタイムリカバリと継続的なバックアップを提供します。Amazon S3 バージョニングは、有効化すると自動的に行われます。Amazon EBS スナップショットの作成、保持、削除を自動化するには、[Amazon Data Lifecycle Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) を使うことができます。また、Amazon EBS-backed Amazon マシンイメージ (AMI) とその基盤となる Amazon EBS スナップショットの作成、コピー、廃止、および登録解除も自動化できます。

 AWS Elastic Disaster Recovery は、ソース環境 (オンプレミスまたは AWS) からターゲットの復旧リージョンへの継続的なブロックレベルのレプリケーションを提供します。ポイントインタイム Amazon EBS スナップショットは、このサービスが自動的に作成し、管理します。

 バックアップの自動化と履歴を一元的に確認できるようにするために、AWS Backup は完全マネージド型の、ポリシーベースのバックアップソリューションを提供します。AWS Storage Gateway を使用して、クラウド内およびオンプレミスの複数の AWS のサービスにわたってデータのバックアップを一元化および自動化します。

 バージョニングに加えて、Amazon S3 はレプリケーション機能も備えています。S3 バケット全体を同じまたは異なる AWS リージョンにある別のバケットに自動的にレプリケートできます。

 **実装手順** 

1.  手動でバックアップされている**データソースを特定**します。詳細については、「[REL09-BP01 バックアップが必要なすべてのデータを特定してバックアップする、またはソースからデータを再現する](rel_backing_up_data_identified_backups_data.md)」を参照してください。

1.  ワークロードの **RPO を決定**します。詳細については、「[REL13-BP01 ダウンタイムやデータ消失に関する復旧目標を定義する](rel_planning_for_recovery_objective_defined_recovery.md)」を参照してください。

1.  **自動バックアップまたはマネージドサービスを使用します**。AWS Backup はフルマネージド型のバックアップサービスであり、[AWS のサービス、クラウド内、およびオンプレミス間で簡単に一元化およびデータ保護を自動化](https://docs.aws.amazon.com/aws-backup/latest/devguide/creating-a-backup.html#creating-automatic-backups)できます。AWS Backup のバックアッププランを使用して、バックアップするリソースと、これらのバックアップを作成する頻度を定義するルールを作成します。この頻度は、ステップ 2 で確立した RPO によって通知される必要があります。AWS Backup を使用して自動バックアップを作成する方法の実践的なガイダンスについては、「[データのバックアップと復元のテスト](https://wellarchitectedlabs.com/reliability/200_labs/200_testing_backup_and_restore_of_data/)」を参照してください。データを保存するほとんどの AWS サービスでは、バックアップ機能がネイティブで提供されています。例えば、RDS は、ポイントインタイムリカバリ (PITR) 付きの自動バックアップに利用できます。

1.  オンプレミスデータソースおよびメッセージキューなど、自動バックアップソリューションやマネージドサービスによって**サポートされていないデータソース**に関しては、信頼できるサードパーティーソリューションを使用して自動バックアップを作成することを検討してください。または、AWS CLI または SDK を使用してこれを行うオートメーションを作成することができます。AWS Lambda 関数または AWS Step Functions を使用して、データバックアップの作成にかかわるロジックを定義し、Amazon EventBridge を使用して RPO に基づく頻度で呼び出せます。

 **実装計画に必要な工数レベル:** 低 

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

 **関連ドキュメント:** 
+  [APN パートナー: バックアップを支援できるパートナー](https://aws.amazon.com/partners/find/results/?keyword=Backup) 
+  [AWS Marketplace: バックアップに活用できる製品](https://aws.amazon.com/marketplace/search/results?searchTerms=Backup) 
+  [スケジュールに従ってトリガーする EventBridge ルールの作成](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-scheduled-rule.html) 
+  [AWS Backup とは](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) 
+  [AWS Step Functions とは](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+ [AWS Elastic Disaster Recovery とは](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html)

 **関連動画:** 
+  [AWS re:Invent 2019: AWS Backup の詳細と Rackspace について (STG341)](https://youtu.be/av8DpL0uFjc) 

# REL09-BP04 データの定期的な復旧を行ってバックアップの完全性とプロセスを確認する
<a name="rel_backing_up_data_periodic_recovery_testing_data"></a>

復旧テストを実行して、バックアッププロセスの実装が目標復旧時間 (RTO) と目標復旧時点 (RPO) を満たしていることを検証します。

 **期待される成果:** バックアップからのデータを、十分に定義されたメカニズムを使用して定期的に復旧することで、ワークロードについて確立された目標復旧時間 (RTO) 内での復旧が可能であることを確認できます。バックアップからの復元により、オリジナルデータを含むリソースになり、破損したりアクセス不能になっていたりするデータがなく、目標復旧時点 (RPO) 内のデータ損失であることを確認します。

 **一般的なアンチパターン:** 
+  バックアップを復元しますが、復元が使用可能であることを確認するためのデータのクエリや取得は行いません。
+  バックアップが存在することを前提とする。
+  システムのバックアップが完全に動作可能であり、そこからデータを復旧できることを前提とする。
+  バックアップからデータを復元または復旧する時間がワークロードの RTO の範囲内であることを前提とする。
+  バックアップに含まれるデータがワークロードの RPO の範囲内であることを前提とする。
+  ランブックを使用せずに、または確立された自動手順の外部で、必要に応じて復元する。

 **このベストプラクティスを活用するメリット:** バックアップの復旧をテストすることで、データの紛失や破損を心配せずに、必要なときにデータを復元できること、ワークロードの RTO 内で復元と復旧が可能であること、ならびにデータ損失がワークロードの RPO の範囲内であることを確認できます。

 **このベストプラクティスを活用しない場合のリスクレベル:** 中 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 バックアップおよび復元機能をテストすることで、停止時にこれらのアクションを実行できるという安心感が得られます。定期的にバックアップを新しい場所に復元して、テストを実行し、データの完全性を確認します。実行する必要がある一般的なテストには、すべてのデータが利用可能かどうか、破損していないかどうか、アクセス可能かどうか、データ損失がワークロードの RPO 内に収まるかどうかを確認することなどがあります。そのようなテストは、復旧メカニズムが十分に高速であり、ワークロードの RTO に対応できることを確認するのにも役立ちます。

 AWS を使用して、テスト環境を構築し、そこにバックアップを復元して RTO および RPO が機能するかを評価し、データコンテンツと完全性のテストを実行できます。

 さらに、Amazon RDS および Amazon DynamoDB はポイントインタイムリカバリ (PITR) を許可します。継続的バックアップを使用すると、データセットを指定された日時の状態に復元できます。

 すべてのデータが使用可能であり、破損しておらず、アクセス可能であり、データ損失がワークロードの RPO の範囲内であることを確認します。そのようなテストは、復旧メカニズムが十分に高速であり、ワークロードの RTO に対応できることを確認するのにも役立ちます。

 AWS Elastic Disaster Recovery は、Amazon EBS ボリュームの継続的なポイントインタイムリカバリのスナップショットを提供します。ソースサーバーがレプリケートされると、設定されたポリシーに基づいて時間の経過とともにポイントインタイム状態が記録されます。Elastic Disaster Recovery は、トラフィックをリダイレクトせずにテストおよびドリル目的でインスタンスを起動して、スナップショットの整合性を検証するのに役立ちます。

 **実装手順** 

1.  バックアップ中の**データソース**と、これらのバックアップの保存場所を特定します。実装のガイダンスについては、「[REL09-BP01 バックアップが必要なすべてのデータを特定してバックアップする、またはソースからデータを再現する](rel_backing_up_data_identified_backups_data.md)」を参照してください。

1.  各データソースの**データ検証の基準を確立**します。データのタイプが異なると、プロパティも異なり、異なる検証メカニズムが必要になることがあります。本番環境での使用を決定する前に、このデータを検証する方法を考慮してください。データを検証するための一般的な方法としては、データタイプ、フォーマット、チェックサム、サイズ、またはこれらの組み合わせなど、データとバックアッププロパティをカスタム検証ロジックで使用することです。例えば、復元されたリソースと、バックアップが作成された時点でのデータソースの間でチェックサム値を比較します。

1.  データの重要性に基づいた **RTO と RPO** を確立します。実装のガイダンスについては、「[REL13-BP01 ダウンタイムやデータ消失に関する復旧目標を定義する](rel_planning_for_recovery_objective_defined_recovery.md)」を参照してください。

1.  **データ復旧機能を評価します**。バックアップおよび復元戦略をレビューして、RTO および RPO を満たせるかどうかを理解し、必要に応じて戦略を調整します。[AWS Resilience Hub](https://docs.aws.amazon.com/resilience-hub/latest/userguide/create-policy.html) を使用して、ワークロードのアセスメントを実行できます。アセスメントは、回復力ポリシーに対してアプリケーション設定を評価し、RTO および RPO 目標を満たすことができるかどうかを報告します。

1.  本番環境で確立済みのデータ復元プロセスを使用して、**テスト復元**を行います。プロセスは、オリジナルデータソースのバックアップ方法、バックアップそのもののフォーマットとストレージ場所、またはデータが他のソースから再生成されるかどうかによって異なります。例えば、[AWS Backup などのマネージドサービスを使用している場合、バックアップを新しいリソース に復元するだけで済みます](https://docs.aws.amazon.com/aws-backup/latest/devguide/restoring-a-backup.html)。AWS Elastic Disaster Recovery を使用した場合、[リカバリドリルを起動](https://docs.aws.amazon.com/drs/latest/userguide/failback-preparing.html)します。

1.  データ検証のために以前に確立した基準に基づいて、復元されたリソースからの**データ復旧を検証**します。復元され、復旧されたデータには、バックアップ時点で最新のレコードまたはアイテムが含まれていますか? このデータはワークロードの RPO の範囲内ですか?

1.  復元と復旧に**必要な時間を測定**し、確立された RTO と比較します。このプロセスは、ワークロードの RTO の範囲内ですか? 例えば、復元プロセスが開始されたときのタイムスタンプと復旧検証が完了したときのタイムスタンプを比較して、このプロセスの所要時間を計算します。すべての AWS API 呼び出しにはタイムスタンプが付けられており、[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) で情報を確認できます。この情報から復元プロセスが開始したときの詳細がわかりますが、検証が完了したときの終了タイムスタンプが検証ロジックによって記録される必要があります。自動プロセスを使用する場合、[Amazon DynamoDB](https://aws.amazon.com/dynamodb/) などのサービスを使用してこの情報を保存できます。さらに、多くの AWS のサービスは、特定のアクションが発生したときのタイムスタンプ付きの情報を提供するイベント履歴を備えています。AWS Backup 内では、バックアップおよび復元アクションはジョブと呼ばれ、ジョブにはメタデータの一部としてタイムスタンプ情報が含まれ、復元と復旧の所要時間の測定に使用できます。

1.  復元と復旧に必要な時間がワークロードについて確立された RTO を超えている場合は、**関係者に通知**します。[このラボで示すように](https://wellarchitectedlabs.com/reliability/200_labs/200_testing_backup_and_restore_of_data/)自動化を実装する場合、Amazon Simple Notiﬁcation Service (Amazon SNS) などのサービスを使用して、E メールや SMS などのプッシュ通知を関係者に送信できます。[これらのメッセージは、Amazon Chime、Slack、Microsoft Teams などのメッセージングアプリケーションに発行](https://aws.amazon.com/premiumsupport/knowledge-center/sns-lambda-webhooks-chime-slack-teams/)したり、[AWS Systems Manager OpsCenter を使用してタスクを OpsItems として作成](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html)したりできます。

1.  **このプロセスを定期的に実行するように自動化します**。例えば、AWS Lambda や AWS Step Functions の状態マシンなどのサービスを使用して、復元および復旧プロセスを自動化でき、Amazon EventBridge を使用して、下のアーキテクチャ図に示されているように、このオートメーションワークフローを定期的にト呼び出すことができます。[AWS Backup でデータリカバリの検証を自動化](https://aws.amazon.com/blogs/storage/automate-data-recovery-validation-with-aws-backup/)する方法を学びます。[この Well-Architected ラボ](https://wellarchitectedlabs.com/reliability/200_labs/200_testing_backup_and_restore_of_data/)では、いくつかのステップを自動化するための方法を解説します。

![\[自動化されたバックアップおよび復元プロセスを示す図\]](http://docs.aws.amazon.com/ja_jp/wellarchitected/latest/reliability-pillar/images/automated-backup-restore-process.png)


 **実装計画に必要な工数レベル:** 検証基準の複雑さに応じて中から高 

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

 **関連ドキュメント:** 
+  [AWS Backup でデータリカバリの検証を自動化する](https://aws.amazon.com/blogs/storage/automate-data-recovery-validation-with-aws-backup/) 
+  [APN パートナー: バックアップを支援できるパートナー](https://aws.amazon.com/partners/find/results/?keyword=Backup) 
+  [AWS Marketplace: バックアップに活用できる製品](https://aws.amazon.com/marketplace/search/results?searchTerms=Backup) 
+  [スケジュールに従ってトリガーする EventBridge ルールの作成](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-scheduled-rule.html) 
+  [DynamoDB のオンデマンドバックアップと復元](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BackupRestore.html) 
+  [AWS Backup とは](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) 
+  [AWS Step Functions とは](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+  [AWS Elastic Disaster Recovery とは](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html) 
+  [AWS Elastic Disaster Recovery](https://aws.amazon.com/disaster-recovery/) 