

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

# Amazon Redshift Serverless 还原
<a name="redshift-serverless-restore"></a>

您可以使用 AWS Backup 控制台或恢复数据库或表的手动快照 AWS CLI。

Redshift Serverless， AWS Backup 支持数据仓*库快照的可互换恢复*。这意味着您可以将 Redshift Serverless 备份还原到 [Amazon Redshift 预置集群](redshift-backups.md)，或者将预置备份还原到 Redshift Serverless 命名空间。这仅适用于完整数据库还原，不适用于单个表还原。


**Redshift Serverless 的还原功能**  

| 还原功能 | 命名空间 | 单表 | 
| --- | --- | --- | 
| 快照类型 | 手动 | 手动 | 
| 所需信息 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/aws-backup/latest/devguide/redshift-serverless-restore.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/aws-backup/latest/devguide/redshift-serverless-restore.html)  | 
| 还原目标效果 | 通过覆盖现有数据的破坏性还原还原到现有命名空间 | 还原到新表 | 
| 可互换还原？ |  可以。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/aws-backup/latest/devguide/redshift-serverless-restore.html)  | 不支持。 | 

有关配置的更多信息，请参阅《Amazon Redshift 管理指南》**中的[快照和恢复点](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html)。

## 还原之前的注意事项
<a name="redshift-serverless-restore-considerations"></a>

在启动还原作业之前，请先查看以下信息：

**配置**

还原 Redshift Serverless 快照时，您可以选择要将所有数据库或单个表还原到的目标命名空间。

将快照中的数据库还原到 Serverless 命名空间时，这是破坏性还原。这意味着当您还原到目标还原命名空间时，该命名空间中以前存在的所有数据都将被覆盖。

还原单个表时，这不是破坏性还原。要还原表，请指定工作组、快照、源数据库、源表、目标还原命名空间和新表名称。

**权限**

所需的权限取决于目标数据仓库（即您将还原数据库或表的命名空间或预置集群）。下表可以帮助您确定要使用的权限、角色和策略。有关管理 IAM 策略的更多信息，请参阅 [Amazon Redshift 中的 Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)。


**还原操作所需的权限和角色**  

| 还原目标 | 所需的权限 | IAM 角色和策略 | 
| --- | --- | --- | 
| Amazon Redshift 预置集群 | redshift:RestoreFromClusterSnapshot | AWSBackupServiceRolePolicyForRestores 包含此权限；它可用于 aws backup start-restore-job。 | 
| Redshift Serverless 命名空间 | redshift-serverless:RestoreFromSnapshot |  您必须将此权限添加到用于调用 **aws backup start-restore-job** 的角色和策略中。 由于这是一项破坏性还原作业，因此无法使用还原的服务角色策略。  | 

## Redshift Serverless 还原步骤
<a name="redshift-serverless-restore-procedure"></a>

按照以下步骤使用控制台恢复 Redshift 无服务器备份， AWS Backup 或者： AWS CLI

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

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

1. 在导航窗格中，选择**设置**以及要还原的 Redshift Serverless 资源 ID。

1. 在**资源详细信息**页面上，在**恢复点**窗格中选择恢复点 ID，然后选择**还原**。

1. 在**还原选项**窗格中，选择还原整个数据仓库或单个表。

1. 在**目标数据仓库配置**窗格中，选择目的地目标。
   + 对于完整数据仓库还原，请选择 Amazon Redshift 预置集群或 Redshift Serverless 命名空间。
   + 对于单个表还原，请指定源快照、数据库、架构、表名称和目标详细信息。

1. 为作业选择 IAM 还原角色。如果不使用默认角色，请确保所选角色包含 `iam:PassRole` 权限。

------
#### [ AWS CLI ]

使用 **aws backup start-restore-job** 命令。

AWS Backup 与 Redshift Serverless 合作编排恢复作业。CLI 命令将在前面加上 `aws backup`，但也将包含与 Redshift Serverless 或 Amazon Redshift 相关的元数据。

必需和可选的元数据取决于您是要还原整个数据仓库还是单个表。
+ 有关单表还原的信息，请参阅《*AWS CLI 命令参考*》[restore-table-from-snapshot](https://docs.aws.amazon.com/cli/latest/reference/redshift-serverless/restore-table-from-snapshot.html)中的。
+ 有关命名空间恢复的信息，请参阅《*AWS CLI 命令参考*》[restore-from-snapshot](https://docs.aws.amazon.com/cli/latest/reference/redshift-serverless/restore-from-snapshot.html)中的。
+ *要恢复到 Amazon Redshift 预配置的集群，请参阅《命令参考》[restore-from-cluster-snapshot](https://docs.aws.amazon.com/cli/latest/reference/redshift/restore-from-cluster-snapshot.html)中的。AWS CLI *

**Example 用于还原到 Serverless 命名空间的 `start-restore-job` 模板：**  

```
aws backup start-restore-job \
--recovery-point-arn "arn:aws:backup:region:account:snapshot:name--iam-role-arn "arn:aws:iam:account:role/role-name" \
--metadata \
--resource-type Redshift Serverless \
--region Region \
--endpoint-url URL
```

**Example 用于还原到 Serverless 命名空间的 `start-restore-job` 示例：**  

```
aws backup start-restore-job \
--recovery-point-arn "arn:aws:redshift-serverless:us-east-1:123456789012:snapshot/a12bc34d-567e-890f-123g-h4ijk56l78m9" \
--iam-role-arn "arn:aws:iam::974288443796:role/Backup-Redshift-Role" \
--metadata 'RestoreType=NAMESPACE_RESTORE,NamespaceIdentifier=redshift-namespace-1-restore' \
--resource-type "RedshiftServerless" \
--region us-west-2
```

启动还原作业后，使用 **describe-restore-job** 来监控进度。

------