

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Aurora DSQL 还原
<a name="restore-auroradsql"></a>

**Topics**
+ [概述](#restore-auroradsql-overview)
+ [还原 Aurora DSQL 单区域集群](#restore-auroradsql-singleregion)
+ [还原 Aurora DSQL 多区域集群](#restore-auroradsql-multiregion)
+ [Aurora DSQL 还原问题故障排除](#restore-auroradsql-troubleshoot)
+ [Aurora DSQL 还原常见问题](#restore-auroradsql-faq)

## 概述
<a name="restore-auroradsql-overview"></a>

要恢复 Amazon Aurora DSQL 单区域集群，请使用 Amazon Backup 控制台或 CLI 选择要还原的恢复点（备份）。要恢复 Aurora DSQL 多区域集群，您现在可以使用 Amazon Backup 控制台或 CLI。

对于单区域还原，请添加名称、集群加密和删除保护，然后启动还原到新创建的集群。

对于多区域还原，您需要指定其他参数，包括见证区域、对等区域和区域配置设置。多区域还原可创建跨多个集群 Amazon Web Services 区域，从而提供增强的可用性和灾难恢复功能。

## 还原 Aurora DSQL 单区域集群
<a name="restore-auroradsql-singleregion"></a>

您可以使用 Amazon Backup 控制台或 Amazon CLI，将 Aurora DSQL 集群还原到单个区域。

------
#### [ Console ]

****

1. 在 [https://console.aws.amazon.com/backup](https://console.amazonaws.cn/backup) 上打开 Amazon Backup 控制台。

1. 选择要还原的恢复点旁边的“还原”按钮。

1. 为要将恢复点还原到的新集群配置设置。

   1. 默认情况下，AMK（Amazon 托管密钥）将用于加密还原的数据。您也可以指定其他密钥。

   1. 默认情况下，Aurora 集群的[删除保护](https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/USER_DeleteCluster.html#USER_DeletionProtection)处于启用状态，但取消选中该复选框可关闭该选项。

1. 检查设置；如果设置没有问题，请选择**还原备份**按钮。

Amazon Backup 将创建一个新的 Aurora DSQL 集群。

------
#### [ Amazon CLI ]

**单区域还原**

1. 使用 CLI 命令 `aws backup start-restore-job` 从指定的恢复点还原 Aurora 集群。

1. 包含还原作业所需的元数据。示例：  
**Example**  

   ```
   aws backup start-restore-job \
       --recovery-point-arn "arn:aws:dsql:us-east-1:123456789012:cluster/example-cluster/backup/example-backup" \
       --iam-role-arn "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole" \
       --metadata '{"regionalConfig":"[{\"region\":\"us-east-1\",\"isDeletionProtectionEnabled\":true,\"kmsKeyId\":\"my_key\"}]"}' \
       --copy-source-tags-to-restored-resource
   ```

------

## 还原 Aurora DSQL 多区域集群
<a name="restore-auroradsql-multiregion"></a>

Aurora DSQL 多区域集群还原发生在封闭的区域三元组中，该三元组由三个对等体组成。 Amazon Web Services 区域 多区域还原要求您在操作中指定的区域包含在一个三元组中。有关多区域集群的更多信息，请参阅[配置多区域集群](https://docs.amazonaws.cn/aurora-dsql/latest/userguide/configuring-multi-region-clusters.html)。

支持以下组中的三元组。如果区域不止一个，则选择同一组中的三个区域。
+ 美国东部（弗吉尼亚州北部）、美国东部（俄亥俄州）、美国西部（北加利福尼亚）
+ 欧洲地区（爱尔兰）、欧洲地区（伦敦）、欧洲地区（巴黎）、欧洲地区（法兰克福）
+ 亚太地区（东京）、亚太地区（首尔）、亚太地区（大阪）

要完成多区域还原，请确保您具有以下权限：
+ `backup:StartRestoreJob`
+ `dsql:UpdateCluster`
+ `dsql:AddPeerCluster`
+ `dsql:RemovePeerCluster`

您可以使用 Amazon Backup 控制台或 CLI 命令将 Aurora DSQL 集群的备份还原到多个区域。

**提示**  
如果您的备份计划包含自动为指定区域之一创建跨区域副本的规则，则创建的副本可用于此多区域还原。

多区域还原从当前的区域开始。您还需要：
+ 对等区域，该区域具有当前区域中恢复点的相同跨区域副本
+ Witness Region， Amazon Web Services 区域 一种参与多区域集群配置的指定区域，它支持仅限事务日志的写入，而不占用实际数据的存储空间。有关见证区域的更多信息，请参阅[创建多区域集群](https://docs.amazonaws.cn/aurora-dsql/latest/userguide/getting-started.html#getting-started-multi-region)。

各个步骤如下所示：

------
#### [ Console ]

 Amazon Backup 控制台现在支持 Aurora DSQL 集群的多区域恢复，从而简化了创建跨多个区域的集群的流程。有关多区域集群的更多信息，请参阅[配置多区域集群](https://docs.amazonaws.cn/aurora-dsql/latest/userguide/configuring-multi-region-clusters.html)。

1. 登录 Amazon 管理控制台并在 [https://console.aws.amazon.com/backup](https://console.amazonaws.cn/backup) 上打开 Amazon Backup 控制台。

1. 在导航窗格中，选择**备份保管库**。

1. 选择包含要还原的 Aurora DSQL 恢复点的备份保管库。

1. 选择要还原的恢复点，然后选择**还原**。

1. 在还原页面的**还原选项**下，选择**添加对等区域**以启用多区域还原。

1. 从下拉菜单中选择**对等集群区域**。该区域必须与当前区域位于同一个三元组中，并且还必须包含来自当前（第一个）区域中恢复点的跨区域副本。

1. 从下拉菜单中选择**见证区域**。该区域也必须位于同一个三元组中。

1. 为主集群和对等区域集群配置**集群设置**：

   1. 对于主集群，请配置：
      + **集群加密**（可选）：选择 KMS 密钥进行加密。
      + **删除保护**：启用或禁用删除保护。

   1. 对于对等区域集群，请配置：
      + **对等区域集群加密**（可选）：选择 KMS 密钥进行加密。
      + **对等区域集群删除保护**：启用或禁用删除保护。

1. 查看设置并选择**还原备份**。

1. 控制台将启动多区域还原流程，即在两个区域中创建集群并自动将它们关联在一起。

------
#### [ Amazon CLI ]

现在，可以通过使用 CLI 命令 Amazon Backup 使用新的编排还原元数据来实现多区域恢复。这种方法通过自动处理集群关联来简化流程。有关以编程方式创建多区域集群的更多信息，请参阅《Aurora DSQL 用户指南》中的[配置多区域集群](https://docs.amazonaws.cn/aurora-dsql/latest/userguide/configuring-multi-region-clusters.html)。

**重要**  
主集群和对等集群都必须位于同一个组的区域中。如果集群位于组之外的区域，则操作将失败。支持的组包括：  
美国东部（弗吉尼亚州北部）、美国东部（俄亥俄州）、美国西部（北加利福尼亚）
欧洲地区（爱尔兰）、欧洲地区（伦敦）、欧洲地区（巴黎）、欧洲地区（法兰克福）
亚太地区（东京）、亚太地区（首尔）、亚太地区（大阪）

**通过 Amazon CLI 使用精心编排的还原元数据进行多区域恢复**

1. 通过 CLI 命令 `aws backup start-restore-job` 使用新的多区域编排元数据创建还原作业：  
**Example**  

   ```
   aws backup start-restore-job \
   --recovery-point-arn "arn:aws:backup:us-east-1:123456789012:recovery-point:abcd1234" \
   --iam-role-arn "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole" \
   --metadata '{
       "witnessRegion":"us-west-1",
       "useMultiRegionOrchestration":"true",
       "peerRegion":"[\"us-east-2\"]",
       "regionalConfig":"[{\"region\":\"us-east-1\",\"isDeletionProtectionEnabled\":true,\"kmsKeyId\":\"arn:aws:kms:us-east-1:123456789012:key/ba4b3773-4bb8-4a7a-994c-46ede70202f5\"},{\"region\":\"us-west-2\",\"isDeletionProtectionEnabled\":true,\"kmsKeyId\":\"arn:aws:kms:us-west-2:123456789012:key/ba4b3773-4bb8-4a7a-994c-46ede70202f5\"}]"
   }' \
   --copy-source-tags-to-restored-resource
   ```

   元数据结构包括：
   + `witnessRegion`：将作为多区域集群见证的区域。有关更多信息，请参阅 [Amazon Aurora DSQL 中的韧性](https://docs.amazonaws.cn/aurora-dsql/latest/userguide/disaster-recovery-resiliency.html)。
   + `useMultiRegionOrchestration`：设置为 `true` 以启用多区域编排。
   + `peerRegion`：一个数组，其中包含在多区域集群中具有对等集群的区域。有关更多信息，请参阅 Aurora DSQL API 参考[MultiRegionProperties](https://docs.amazonaws.cn/aurora-dsql/latest/APIReference/API_MultiRegionProperties.html)中的。
   + `regionalConfig`：包含每个区域配置的数组：
     + `region`: 标 Amazon Web Services 区域 识符。
     + `isDeletionProtectionEnabled`: enable/disable 删除保护的布尔标志。有关更多信息，请参阅 Aurora DSQL API 参考[CreateCluster](https://docs.amazonaws.cn/aurora-dsql/latest/APIReference/API_CreateCluster.html#API_CreateCluster_RequestSyntax)中的。
     + `kmsKeyId`：用于加密的 KMS 密钥 ARN（可选）。

     如果未指定 `regionalConfig` 属性，则系统将应用默认值：默认加密和 `isDeletionProtectionEnabled` = `TRUE`。

1. 使用 `aws backup describe-restore-job` 命令监控还原作业状态：

   ```
   aws backup describe-restore-job --restore-job-id job-12345678
   ```

1. 还原作业完成后，您可以使用 Aurora DSQL CLI 验证多区域集群配置：

   ```
   aws dsql describe-cluster --cluster-identifier your-cluster-id
   ```

   有关多区域集群操作的更多信息，请参阅 Aurora DSQL API 参考[UpdateCluster](https://docs.amazonaws.cn/aurora-dsql/latest/APIReference/API_UpdateCluster.html)中的。

------

## Aurora DSQL 还原问题故障排除
<a name="restore-auroradsql-troubleshoot"></a>

**错误：**权限不足

**可能的原因：**如果您尝试将 Aurora DSQL 恢复点复制到从未与 DSQL API 交互过的账户（跨账户复制）中，则可能会出现权限问题错误，因为目标账户中未设置 DSQL 服务相关角色。

**补救措施：**将包含 [DSQL 服务相关角色的 DSQL 托管策略](https://docs.amazonaws.cn/aurora-dsql/latest/userguide/working-with-service-linked-roles.html)附加到目标账户中的角色。[AuroraDsqlServiceLinkedRolePolicy](https://docs.amazonaws.cn/aws-managed-policy/latest/reference/             AuroraDsqlServiceLinkedRolePolicy.html)

如果您在备份或还原过程中遇到任何其他问题，可以在 Amazon Backup 控制台中或使用查看备份和还原任务的状态 Amazon CLI。此外，您可以查看 Amazon CloudTrail 日志，了解与您的 Amazon Backup 操作相关的任何相关错误消息或事件。

## Aurora DSQL 还原常见问题
<a name="restore-auroradsql-faq"></a>

1. *“我能否使用 Amazon Backup Aurora DSQL 控制台中的 Aurora DSQL？”*

   不能。您只能通过 Amazon Backup 控制台、SDK 或 CLI 执行备份和还原以及管理备份。

   

1. *“Aurora DSQL 支持哪种备份粒度？ 我能否备份集群中的特定表或数据库？”*

   您只能备份和还原整个 Aurora DSQL 集群。

   

1. *“Aurora DSQL 的备份是完整备份还是增量备份？”*

   Aurora DSQL 集群的恢复点（备份）是集群的完整备份。

   

1. *“我能否为我的 Aurora DSQL 多区域集群创建备份？”*

   能。您可以按照与在单个区域中创建单个集群的备份相同的步骤为多区域集群中的每个集群创建备份。

    Amazon Backup 建议在计划从中恢复多区域群集的另一个区域创建备份的跨区域副本作为最佳实践，因为多区域还原需要相同恢复点的相同副本 [此操作中的*相同*意味着恢复点具有相同的资源名称和创建时间]。

   

1. *“还原的集群是否会覆盖我的现有集群？”*

   不是。 恢复 Aurora DSQL 数据时， Amazon Backup 会根据您的快照创建一个新集群；恢复的集群不会覆盖源集群。

   