

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 還原 Amazon DynamoDB 資料表
<a name="restoring-dynamodb"></a>

## 使用 AWS Backup 主控台還原 DynamoDB 復原點
<a name="ddb-restore-console"></a>

**還原 DynamoDB 資料表**

1. 在 https：//[https://console.aws.amazon.com/backup](https://console.aws.amazon.com/backup) 開啟 AWS Backup 主控台。

1. 在導覽窗格中，選擇 **受保護的資源** 和您要還原的 DynamoDB 資源 ID。

1. **Resource details (資源詳細資訊)** 頁面上會顯示所選資源 ID 的復原點清單。若要還原資源，請在 **Backups (備份)** 窗格中，選擇資源復原點 ID 旁邊的選項按鈕。在窗格右上角，選擇 **Restore (還原)**。

1. 在 **Settings (設定)** 中的 **New table name (新表格名稱)** 文字欄位中輸入新表格名稱。

1. 針對**還原角色**，選擇 AWS Backup 將為此還原擔任的 IAM 角色。

1. 針對 **加密設定**：

   1. 如果您的備份是由 DynamoDB 管理 （其 ARN 開頭為 `arn:aws:dynamodb`)， 會使用 AWS擁有的金鑰 AWS Backup 來加密還原的資料表。

      若要選擇不同的金鑰來加密還原的資料表，您可以使用 AWS Backup [StartRestoreJob 操作](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_StartRestoreJob.html)，或從 [DynamoDB 主控台](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Restore.Tutorial.html#restoretable_console)執行還原。

   1. 如果您的備份支援完整 AWS Backup 管理 （其 ARN 開頭為 `arn:aws:backup`)，您可以選擇下列任何加密選項來保護還原的資料表：
      + (預設) DynamoDB 擁有的 KMS 金鑰 (加密無需支付額外費用)
      + DynamoDB 受管 KMS 金鑰 (需支付 KMS 費用)
      + 客戶自管 KMS 金鑰 (需支付 KMS 費用)

      「DynamoDB 擁有的」和「DynamoDB 受管」金鑰分別與「AWS擁有的」和「AWS受管」金鑰相同。如需釐清，請參閱《Amazon DynamoDB 開發人員指南》**中的《[靜態加密：如何運作](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html)》。

      如需完整 AWS Backup 管理的詳細資訊，請參閱 [進階 DynamoDB 備份](advanced-ddb-backup.md)。
**注意**  
下列指引僅適用於還原複製的備份，並想要使用您用於加密原始資料表的相同金鑰來加密還原資料表的情況。  
還原跨區域備份時，若要使用用來加密原始資料表的相同金鑰來加密還原的資料表，您的金鑰必須是多區域金鑰。 AWS擁有 AWS和管理的金鑰不是多區域金鑰。若要進一步了解，請參閱《AWS Key Management Service 開發人員指南》**中的《[多區域金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)》。  
還原跨帳戶備份時，若要使用用來加密原始資料表的相同金鑰來加密還原的資料表，您必須與目的地帳戶共用來源帳戶中的金鑰。 AWS擁有 AWS和管理的金鑰無法在帳戶之間共用。若要進一步了解，請參閱《AWS Key Management Service 開發人員指南》**中的《[允許其他帳戶的使用者使用 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)》。

1. 選擇 **Restore backup (還原備份)**。

   **Restore jobs (還原任務)** 窗格隨即出現。頁面頂端的訊息提供還原任務的相關資訊。

## 使用 AWS Backup API、CLI 或 SDK 還原 DynamoDB 復原點
<a name="ddb-restore-cli"></a>

請使用 `[StartRestoreJob](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_StartRestoreJob.html)`。您可以在任何 DynamoDB 還原期間指定下列中繼資料。中繼資料不區分大小寫。

```
targetTableName
encryptionType
kmsMasterKeyArn
aws:backup:request-id
```

以下是 CLI 中 `StartRestoreJob` 操作的 `restoreMetadata` 引數範例：

```
aws backup start-restore-job \
--recovery-point-arn "arn:aws:backup:us-east-1:123456789012:recovery-point:abcdef12-g3hi-4567-8cjk-012345678901" \
--iam-role-arn "arn:aws:iam::123456789012:role/YourIamRole" \
--metadata 'TargetTableName=TestRestoreTestTable,EncryptionType=KMS,kmsMasterKeyArn=arn:aws:kms:us-east-1:123456789012:key/abcdefg' \
--region us-east-1 \
--endpoint-url https://endpointurl.com
```

上述範例使用客戶受管金鑰加密還原的資料表。

若要使用 AWS擁有的金鑰加密還原的資料表，請指定下列還原中繼資料：`"encryptionType\":\"Default\"`。

若要使用 AWS受管金鑰加密還原的資料表，請省略 `kmsMasterKeyArn` 參數並指定：`"encryptionType\":\"KMS\"`。

若要使用客戶受管金鑰加密還原的資料表，請指定下列還原中繼資料：`"encryptionType\":\"KMS\",\"kmsMasterKeyArn\":\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`。