

# REL 9  您如何備份資料？
<a name="w2aac19b9c11b5"></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>

 所有 AWS 資料存放區都會提供備份功能。Amazon RDS 和 Amazon DynamoDB 等服務會額外地支援啟用時間點復原 (PITR) 的自動備份，這可讓您將備份還原到目前時間之前最多五分鐘或更短的任何時間。許多 AWS 服務提供將備份複製到另一個 AWS 區域 的能力。AWS Backup 是一種工具，可讓您跨 AWS 服務集中化和自動化資料保護。 

 Amazon S3 可以用作自行受管和 AWS 受管資料來源的備份目的地。Amazon EBS、Amazon RDS 和 Amazon DynamoDB 等 AWS 服務具有內建功能來建立備份。也可以使用第三方備份軟體。 

 內部部署資料可以備份至 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)。Amazon S3 儲存貯體可以用來將此資料儲存在 AWS 上。Amazon S3 提供多個儲存層，例如 [Amazon Glacier 或 S3 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) 或 [RDS 讀取複本](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) 可以用來重現資料，如果主要節點遺失的話。如果像這樣的來源可以用來符合您的 [復原時間目標 (RTO) 和復原點目標 (RPO)](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/disaster-recovery-dr-objectives.html)，您可能不需要備份。另一個範例，如果使用 Amazon EMR，可能不需要備份 HDFS 資料存放區，只要您可以 [從 S3 將資料重現至 EMR。](https://aws.amazon.com/premiumsupport/knowledge-center/copy-s3-hdfs-emr/)。 

 選取備份策略時，請考慮復原資料所需的時間。復原資料所需的時間取決於備份的類型 (若有備份策略)，或資料重現機制的複雜性。此時間應該落在工作負載的 RTO 內。 

 **預期成果：** 

 已根據關鍵性識別和分類資料來源。然後，根據 RPO 建立資料復原的策略。此策略涉及備份這些資料來源，或具有從其他來源重現資料的能力。若遺失資料，實作的策略可讓您在定義的 RPO 和 RTO 內復原或重現資料。 

 **雲端成熟度階段：** 基礎級 

 **常用的反模式：** 
+  未注意工作負載的所有資料來源及其關鍵性。 
+  未備份關鍵資料來源。 
+  只備份某些資料來源，而未使用關鍵性做為準則。 
+  沒有已定義的 RPO，或備份頻率無法符合 RPO。 
+  未評估是否需要備份，或是否可從其他來源重現資料。 

 **建立此最佳實務的優勢：** 識別需要備份的位置並實作機制來建立備份，或者能夠從外部源重現資料，可以改善在中斷期間還原和復原資料的能力。 

 **若未建立此最佳實務，暴露的風險等級：** 高 

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

 了解和使用工作負載所使用的 AWS 服務和資源的備份功能。大部分 AWS 服務都會提供備份工作負載資料的功能。 

 **實作步驟：** 

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)。如需有關 Web 應用程式後端的建議，請參閱 **資源** 一節來尋找 **相關文件** ，其中關於儲存資料的不同 AWS 服務，以及這些服務提供的備份功能。 

1.  **根據關鍵性將資料來源分類**。不同的資料集對工作負載具有不同的關鍵性等級，因此對彈性具有不同的要求。例如，有些資料可能至關重要，且需要接近零的 RPO，而其他資料可能不太重要，且可以容忍更高的 RPO 和一些資料遺失。同樣地，不同的資料集也可能具有不同的 RTO 要求。 

1.  **使用 AWS 或第三方服務來建立資料的備份**。 [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) 是受管服務，可讓您在 AWS 上建立各種資料來源的備份。其中大部分服務也具有建立備份的原生功能。AWS Marketplace 具有許多也提供這些功能的解決方案。如需有關 Web 應用程式後端的建議，請參閱 **資源** ，以取得如何從各種 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 中建立資料庫叢集快照](https://docs.aws.amazon.com/neptune/latest/userguide/backup-restore-create-snapshot.html) 
+  [建立資料庫快照](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) 
+  [跨區域複寫](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) 搭配 Amazon S3 
+  [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 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，ft.Rackspace (STG341)](https://youtu.be/av8DpL0uFjc) 

 **相關範例：** 
+  [Well-Architected 實驗室：實作 Amazon S3 雙向跨區域複寫 (CRR)](https://wellarchitectedlabs.com/reliability/200_labs/200_bidirectional_replication_for_s3/) 
+  [Well-Architected 實驗室：測試備份並還原資料](https://wellarchitectedlabs.com/reliability/200_labs/200_testing_backup_and_restore_of_data/) 
+  [Well-Architected 實驗室：透過適用於分析工作負載的容錯回復進行備份和還原](https://wellarchitectedlabs.com/reliability/200_labs/200_backup_restore_failback_analytics/) 
+  [Well-Architected 實驗室：災難復原 - 備份和還原](https://wellarchitectedlabs.com/reliability/disaster-recovery/workshop_1/) 

# REL09-BP02 保護和加密備份
<a name="rel_backing_up_data_secured_backups_data"></a>

 使用身分驗證和授權 (例如AWS IAM) 控制並偵測對備份的存取。使用加密來防止並檢測是否危及備份的資料完整性。 

 Amazon S3 支援多種靜態資料的加密方法。使用伺服器端加密時，Amazon S3 會以未加密資料的形式接受物件，然後在儲存這些物件之前將其加密。使用用戶端加密時，您的工作負載應用程式需負責加密資料，然後將資料傳送至 Amazon S3。這兩種方法都可讓您使用 AWS Key Management Service (AWS KMS) 來建立和存放資料金鑰，或者您也可以提供自己的金鑰，之後由您對其負責。使用 AWS KMS 時，您可以透過 IAM 設定政策，設定誰可以和誰無法存取您的資料金鑰和解密資料。 

 對於 Amazon RDS，如果您已選擇加密資料庫，則備份也會加密。DynamoDB 備份一律加密。 

 **常用的反模式：** 
+  讓備份和還原自動化的存取權與資料的存取權相同。 
+  不加密您的備份。 

 **建立此最佳實務的優勢：** 保護您的備份可防止資料遭到竄改，加密資料可防止意外暴露時存取該資料。 

 **若未建立此最佳實務，暴露的風險等級為：** 高 

## 實作指引
<a name="implementation-guidance"></a>
+  在每個資料存放區使用加密。如果來源資料已加密，則備份也會加密。 
  +  在 RDS 中啟用加密。您可以在建立 RDS 執行個體時，使用 AWS Key Management Service 設定靜態加密。
    +  [加密 Amazon RDS 資源](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) 
  +  在 EBS 磁碟區上啟用加密。您可以在建立磁碟區時設定預設加密或指定唯一金鑰。
    +  [Amazon EBS 加密](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) 
  +  使用必要的 Amazon DynamoDB 加密。DynamoDB 會加密所有靜態資料。您可以使用 AWS 自有的 AWS KMS 金鑰或 AWS 受管 KMS 金鑰，指定帳戶中儲存的金鑰。
    +  [DynamoDB 靜態加密](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EncryptionAtRest.html) 
    +  [管理加密表格](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.tutorial.html) 
  +  加密存放在 Amazon EFS 中的資料。在建立檔案系統時設定加密。
    +  [在 EFS 中加密資料和中繼資料](https://docs.aws.amazon.com/efs/latest/ug/encryption.html) 
  +  在來源和目的地區域設定加密。您可以使用 KMS 中存放的金鑰來設定 Amazon S3 中的靜態加密，但金鑰受到區域限定。您可以在設定複寫時指定目的地金鑰。
    +  [CRR 其餘組態：複寫使用 AWS KMS 中存放的加密金鑰，透過伺服器端加密 (SSE) 所建立的物件。](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-replication-config-for-kms-objects.html) 
+  實作存取備份的最低許可。遵循最佳實務，以根據安全最佳實務限制對備份、快照和複本的存取。 
  +  [安全支柱：AWS Well-Architected](./wat.pillar.security.en.html) 

## 資源
<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) 
+  [在 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](./wat.pillar.security.en.html) 

 **相關範例：** 
+  [Well-Architected 實驗室：實作 Amazon S3 雙向跨區域複寫 (CRR)](https://wellarchitectedlabs.com/reliability/200_labs/200_bidirectional_replication_for_s3/) 

# REL09-BP03 自動執行資料備份
<a name="rel_backing_up_data_automated_backups_data"></a>

設定備份以根據復原點目標 (RPO) 所通知的定期排程或資料集中的變更自動執行。資料遺失要求低的關鍵資料集需要經常自動備份，而可以接受一些遺失的不太重要資料可以較不頻繁地備份。

 AWS Backup 可以用來建立各種 AWS 資料來源的自動資料備份。Amazon RDS 執行個體幾乎可以持續每五分鐘備份一次，而且 Amazon S3 物件幾乎可以持續每十五分鐘備份一次，同時將時間點復原 (PITR) 提供至備份歷史記錄內的特定時間點。針對其他 AWS 資料來源，例如 Amazon EBS 磁碟區、Amazon DynamoDB 資料表或 Amazon FSx 檔案系統，AWS Backup 可以頻繁地每小時執行自動備份。這些服務也會提供原生備份功能。提供自動備份與時間點復原的 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 資料儲存服務都會提供定期備份排程的能力，頻率為每小時備份一次。 

 Amazon RDS 和 Amazon DynamoDB 會提供連續備份與時間點復原。一旦啟用了 Amazon S3 版本控制，就會自動執行。[Amazon Data Lifecycle Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) 可以用來自動建立、複製和刪除 Amazon EBS 快照。其也可以自動建立、複製、棄用和取消註冊 Amazon EBS 支援的 Amazon Machine Image (AMI) 及其基礎 Amazon EBS 快照。

 為了集中檢視備份自動化和歷史記錄，AWS Backup 提供全受管的、基於政策的備份解決方案。它使用 AWS Storage Gateway 在雲端和內部部署中跨多個 AWS 服務，自動集中進行資料備份。 

 除版本控制之外，Amazon S3 還具有複寫功能。整個 S3 儲存貯體可自動複寫至相同或不同 AWS 區域中的另一個儲存貯體。 

 **預期成果：** 

 以建立的規律建立資料來源備份的自動化流程。 

 **常用的反模式：** 
+  手動執行備份。 
+  使用具有備份功能的資源，但不包含您的自動化中的備份。 

 **建立此最佳實務的優勢：** 自動化備份可確保它們根據您的 RPO 定期進行備份，如果未進行備份則會提醒您。 

 **若未建立此最佳實務，暴露的風險等級：** 中 

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

1.  **識別目前正在** 手動備份的資料來源。請參閱 [REL09-BP01 識別並備份所有需要備份的資料，或從來源複製資料](rel_backing_up_data_identified_backups_data.md) 以取得此動作的指引。 

1.  **判斷工作負載的 ** PRO。請參閱 [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 通知。 [此 WA 實驗室](https://wellarchitectedlabs.com/reliability/200_labs/200_testing_backup_and_restore_of_data/) 提供如何使用 AWS Backup 建立自動備份的實作指引。大多數存放資料的 AWS 服務都會提供原生備份功能。例如，可以利用 RDS 搭配時間點復原 (PITR) 進行自動備份。 

1.  **針對自動化備份解決方案或** 受管服務不支援的資料來源 (例如內部部署資料來源或訊息佇列)，請考慮使用信任的第三方解決方案建立自動化備份。或者，您可以使用 AWS CLI 或 SDK 建立自動化來執行此動作。您可以使用 AWS Lambda Functions 或 AWS Step Functions，定義涉及建立資料備份的邏輯，以及使用 Amazon EventBridge，以基於步驟 2 中所建立 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 re:Invent 2019：深入探討 AWS Backup，ft.Rackspace (STG341)](https://youtu.be/av8DpL0uFjc) 

 **相關範例：** 
+  [Well-Architected 實驗室：測試備份並還原資料](https://wellarchitectedlabs.com/reliability/200_labs/200_testing_backup_and_restore_of_data/) 

# REL09-BP04 定期執行資料復原以驗證備份的完整性和程序
<a name="rel_backing_up_data_periodic_recovery_testing_data"></a>

 透過執行復原測試，驗證您的備份程序實作是否符合復原時間目標 (RTO) 和復原點目標 (RPO)。 

 使用 AWS 時，您可以建立一個測試環境，還原備份來評估 RTO 和 RPO 功能，並針對資料內容和完整性執行測試。 

 此外，Amazon RDS 和 Amazon DynamoDB 允許時間點復原 (PITR)。使用持續備份時，您可以將資料集還原到指定日期和時間當時的狀態。 

 **預期成果：** 使用妥善定義的機制定期復原來自備份的資料，以確保可在工作負載的既定復原時間點目標 (RTO) 內復原。驗證從備份中還原是否會導致資源包含原始資料 (而其中沒有任何損壞或無法存取)，但在復原點目標 (RPO) 內發生資料遺失。 

 **常用的反模式：** 
+  還原備份，但不查詢或擷取任何資料，以確保還原可用。 
+  假設備份存在。 
+  假設系統的備份可以完全運作，而且可以從中復原資料。 
+  假設從備份中還原或復原資料的時間落在工作負載的 RTO 內。 
+  假設備份上包含的資料落在工作負載的 RPO 內。 
+  在不使用執行手冊的情況下，或在建立的自動化程序外部，還原特定資料。 

 **建立此最佳實務的優勢：** 測試備份的復原確保可在需要時還原資料，而不必擔心資料可能丟失或損壞，也可確保還原和復原可在工作負載的 RTO 內進行，而且任何資料遺失都會落在工作負載的 RPO 內。 

 **若未建立此最佳實務，暴露的風險等級為：** 中 

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

 測試備份和還原功能可以提高能夠在中斷期間執行這些動作的信心。定期將備份還原至新位置，並執行測試以驗證資料的完整性。某些應該執行的常用測試正在檢查 

 所有資料是否可用、未損壞、可存取，並且任何資料遺失都落在工作負載的 RPO 內。此類測試也可以協助確定，復原機制是否足夠快到適應工作負載的 RTO。 

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 彈性災難復原，您可以 [啟動復原練習。](https://docs.aws.amazon.com/drs/latest/userguide/failback-preparing.html)。 

1.  **根據您先前** 在步驟 2 中針對資料驗證建立的準則，驗證從已還原的資源 (來自上一個步驟) 進行的資料復原。還原和復原的資料是否包含備份時最新的記錄/項目？ 此資料是否落在工作負載的 RPO 內？ 

1.  **測量還原和復原** 所需的時間，並將其與步驟 3 中建立的 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 Notification Service (Amazon SNS) 之類服務可以用來將電子郵件或 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/zh_tw/wellarchitected/2022-03-31/framework/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 彈性災難復原](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html) 
+  [AWS 彈性災難復原](https://docs.aws.amazon.com/resilience-hub/latest/userguide/what-is.html) 

 **相關範例：** 
+  [Well-Architected 實驗室：測試備份並還原資料](https://wellarchitectedlabs.com/reliability/200_labs/200_testing_backup_and_restore_of_data/) 