使用快照和恢复点 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用快照和恢复点

使用快照和恢复点

无服务器快照包括命名空间内的所有对象和数据。您可以在以下三种情况下还原快照:

  • 将无服务器快照还原到无服务器命名空间。

  • 将无服务器快照还原到预置集群。

  • 将预置集群快照还原到无服务器命名空间。

您可以将在 Amazon Redshift Serverless 控制台上创建的快照还原到预置 Amazon Redshift 集群。执行此操作时,您可以选择要使用的节点类型(例如 RA3)和节点数量,以便您在集群或节点级别控制设置。要启动还原,您可以从 Amazon Redshift Serverless 控制台中选择快照,然后指定要还原到的预置集群的 ID。要将预置的集群快照还原到无服务器命名空间,请从 Redshift 预置的控制台开始,选择要还原的快照,然后选择 Restore from snapshot(从快照还原)、Restore to serverless namespace(恢复到无服务器命名空间)。

将快照还原到无服务器命名空间,会将数据库替换为快照中的数据库。您还可以将恢复点(每 30 分钟创建一次并保留 24 小时)还原到无服务器命名空间。

要将预置的集群快照还原到无服务器命名空间,请导航到 Redshift 预置控制台。

将快照还原到无服务器命名空间分两个阶段完成。第一阶段在几分钟内完成,将数据还原到命名空间,并使其可用于查询。还原的第二阶段是优化数据库,这可能会导致轻微的性能问题。第二阶段可持续几个小时到几天,在某些情况下可持续几周。时间量取决于数据大小,但随着数据库进行优化,性能会逐步提高。在此阶段结束时,您的无服务器命名空间已充分优化,您可在没有性能问题的情况下提交查询。

如果要添加额外的上下文,可以使用键值对标记快照和恢复点,这些键值对为快照和恢复点提供元数据和信息。有关标记资源的更多信息,请参阅标记资源概述

最后,您还可以与其他 Amazon 账户共享快照,允许他们访问快照中的数据并运行查询。

您可以通过查看 Amazon Redshift Serverless 控制台中的详细信息页面,或者通过调用 Amazon Redshift Serverless API 操作 ListSnapshots 或 Amazon CLI 中的 list-snapshots 操作,来查看快照的详细信息。Amazon Redshift Serverless 控制台还包含恢复点的详细信息页面,或者您也可以调用 Amazon CLI 中的 list-recovery-pointsListRecoveryPoints API 操作。

快照

您可以将在 Amazon Redshift Serverless 控制台上创建的快照还原到与工作组关联的可用命名空间。命名空间一旦准备好进行查询和/或修改,就可以使用了。您可以将使用 Amazon 托管式 KMS 密钥加密的快照还原到无服务器命名空间。

要查看所有快照的列表,请在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

要创建快照

  1. 在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

  2. 选择 Create snapshot (创建快照)

  3. 选择要创建其快照的命名空间。

  4. 输入快照标识符。

  5. (可选)选择保留期。如果您选择 Custom value(自定义值),请选择天数。您选择的数值必须在 1-3653(含)天之间。原定设置值是无限期保留。

  6. 选择 Create(创建)。

从命名空间配置创建快照

  1. 在 Amazon Redshift Serverless 控制台上,选择 Namespace configuration(命名空间配置)。

  2. 选择要创建其快照的命名空间。您只能创建与工作组关联且其状态为“可用”的命名空间的快照。

  3. 选择 Data backup(数据备份)选项卡。

  4. 选择 Create snapshot (创建快照)

  5. 输入快照标识符。

  6. (可选)选择保留期。如果您选择 Custom value(自定义值),请选择天数。您选择的数值必须在 1-3653(含)天之间。

  7. 选择 Create(创建)。

将快照还原到无服务器命名空间

  1. 在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

  2. 选择要还原的快照。一次只能还原一个快照。

  3. 依次选择 Actions(操作)和 Restore to serverless namespace(恢复到无服务器命名空间)。

  4. 选择要还原到的可用命名空间。只能还原到其状态为“可用”的命名空间。

  5. 选择 Restore(还原)。

将快照还原到预置集群

  1. 在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

  2. 选择要还原的快照。

  3. 依次选择 Action(操作)和 Restore to provisioned cluster(还原到预置集群)。

  4. 输入集群标识符。

  5. 选择 Node type(节点类型)。节点的数量取决于节点类型。

  6. 按照控制台页面上的说明进行操作,为 Cluster configuration(集群配置)输入属性。有关更多信息,请参阅创建集群

更新快照的保留期

  1. 在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

  2. 选择要更新的快照。

  3. 依次选择 Actions(操作)和 Set manual snapshot settings(设置手动快照设置)。

  4. 选择保留期。如果您选择 Custom value(自定义值),请选择天数。

  5. 选择 Save changes(保存更改)。

如何删除快照

  1. 在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

  2. 选择要删除的快照。

  3. 依次选择 ActionsDelete

  4. 选择 Delete (删除)

在删除命名空间之前创建命名空间内所有数据的最终快照。

  1. 在 Amazon Redshift Serverless 控制台上,选择 Namespace configuration(命名空间配置)。

  2. 选择要删除的命名空间。

  3. 依次选择 Actions(操作)Delete(删除)

  4. 选择 Create final snapshot(创建最终快照)。

  5. 输入快照的名称。

  6. 输入 delete。

  7. 选择 Delete (删除)

与另一个 Amazon 账户共享快照

  1. 在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

  2. 选择要共享的快照。

  3. 依次选择 Action(操作)和 Manage access(管理访问)。

  4. 输入 Amazon Web Services 账户 ID

  5. 选择 Save changes(保存更改)。

有关预调配集群快照的更多信息,请参阅《Amazon Redshift 管理指南》中的 Amazon Redshift 快照

恢复点

Amazon Redshift Serverless 中的恢复点每 30 分钟创建一次,并保存 24 小时。

在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)来管理恢复点。您还可以进行以下操作:

  • 将恢复点还原到无服务器命名空间。

  • 将恢复点转换为快照。

将恢复点还原到无服务器命名空间

  1. 在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

  2. Recovery points(恢复点)下,选择要还原的恢复点的 Creation time(创建时间)。

  3. 选择 Restore(还原)。只能还原到其状态为“可用”的命名空间。

  4. 在文本输入字段中输入 restore(还原),然后选择 Restore(还原)。

将恢复点转换为快照

  1. 在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

  2. Recovery points(恢复点)下,选择要转换为快照的恢复点的 Creation time(创建时间)。

  3. 选择 Create snapshot from recovery point(从恢复点创建快照)。

  4. 输入 Snapshot identifier(快照标识符)。

  5. 选择 Create(创建)。

从快照中还原表

除了将整个快照还原到无服务器命名空间外,您还可以从快照还原特定表。执行此操作时,需要指定源快照、数据库、Schema、表以及目标数据库、Schema 和新表名称。这个新表不能使用与现有表相同的名称。如果您希望通过从快照恢复表来替换现有的表,必须先重命名或删除现有表,然后再还原表。

使用源表的列定义、表属性和列属性(外键除外)创建目标表。为了防止因依赖项而导致发生冲突,目标表不从源表继承外键。不向目标表应用任何依赖项(例如,源表上的视图或授予的权限)。

如果源表的所有者存在,那么该用户是已还原的表的所有者,前提是该用户拥有足够的权限成为在指定数据库和 schema 中指定的关系的所有者。否则,已还原的表由在启动集群时创建的管理员用户所有。

已还原的表将返回在执行备份时其所处的状态。这包括由 Amazon Redshift 对可序列化隔离的符合性定义的事务可见性规则,这意味着数据将立即对在备份后启动的进行中事务可见。

您可以使用 Amazon Redshift Serverless 控制台从快照还原表。

从快照还原表受以下限制:

  • 一次只能还原一个表。

  • 不向目标表应用任何依赖项(例如,源表上的视图或授予的权限)。

  • 如果为正在还原的表启用行级安全性,Amazon Redshift Serverless 将还原已启用行级安全性的表。

使用 Amazon Redshift Serverless 控制台从快照还原表

  1. 在 Amazon Redshift Serverless 控制台上,选择 Data backup(数据备份)。

  2. 选择要还原的快照。

  3. 选择 Action(操作),然后选择 Restore table from snapshot(从快照还原表)。

  4. 输入有关源快照和目标表的信息,然后选择 Restore table(还原表)。

使用 Amazon Command Line Interface 和 Amazon Redshift Serverless API 管理快照和恢复点

除了使用 Amazon 控制台,您还可以使用 Amazon CLI 或 Amazon Redshift Serverless API 与快照和恢复点进行交互。

要创建快照,请使用 Amazon Command Line Interface 操作 create-snapshot。还可以使用 Amazon Redshift Serverless API 操作 CreateSnapshot。快照必须与命名空间关联,因此您必须在请求中包含命名空间的名称。原定设置情况下,Amazon Redshift Serverless 无限期地保留快照,但您可以在请求中指定保留期。

要还原快照,请使用 restore-from-snapshotRestoreFromSnapshot。如果要将快照从 Amazon Redshift Serverless 还原到预调配集群,则必须指定要还原的快照的 snapshotArn。否则,如果您要从无服务器还原到无服务器,则可以指定 snapshotArnsnapshotName,但不能同时指定两者。

要检索有关快照的信息,例如它与哪个命名空间关联或快照中的数据有多大,请使用 Amazon CLI 操作 get-snapshot。或者,也可以使用 API 操作 GetSnapshot。要同时获取有关多个快照的信息,请使用 list-snapshotsListSnapshots

要删除快照,请使用 CLI 操作 delete-snapshot 或 API 操作 DeleteSnapshot

恢复点由 Amazon Redshift Serverless 自动创建,因此您无法使用 Amazon CLI 或 API 操作来创建恢复点。您可以使用 restore-from-recovery-pointRestoreFromRecoveryPoint 将恢复点内的数据还原到命名空间,就像从快照还原数据一样。还可以使用 convert-recovery-point-to-snapshotConvertRecoveryPointToSnapshot 将恢复点转换为快照。

要查看有关特定恢复点的信息,请使用 get-recovery-pointGetRecoveryPoint。要检索有关多个恢复点的信息,请使用 list-recovery-pointsListRecoveryPoints