Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

克隆 Aurora 数据库群集中的数据库

使用数据库克隆,可以快速而经济高效地创建您的所有数据库的克隆。克隆数据库在首次创建时只需要很少的额外空间。数据库克隆使用写入时复制协议,即在源数据库或克隆数据库中发生数据更改时复制数据。您可以多次克隆同一数据库群集。还可以基于其他克隆来创建更多克隆。有关写入时复制协议在 Aurora 存储上下文中工作原理的更多信息,请参阅 数据库克隆的写入时复制协议

您可以在多种情况下使用数据库克隆,特别是在您不希望影响生产环境时,例如:

  • 测试并评估更改的影响,例如架构更改或参数组更改

  • 执行工作负载密集型操作,例如导出数据或运行分析查询

  • 在非生产环境中为进行开发或测试创建生产数据库群集的副本

限制

数据库克隆涉及到一些限制,如下所述:

  • 不能跨 AWS 区域创建克隆数据库。克隆数据库必须在与源数据库相同的区域中创建。

  • 当前,最多只能基于一个副本创建 15 个克隆,包括基于其他克隆的克隆。在超出 15 个之后,只能创建副本。但是,每个副本的克隆数也有最多 15 个的限制。

  • 目前不支持跨账户数据库克隆。

  • 您可以为克隆提供不同的虚拟私有云 (VPC)。但是,在这些 VPC 中的子网必须映射到同一组可用区。

数据库克隆的写入时复制协议

以下场景说明了写入时复制协议的工作原理。

在克隆数据库之前

源数据库中的数据以页的形式存储。在下图中,源数据库有四个页面。

  Amazon Aurora 源数据库,数据库克隆之前

克隆数据库之后

如下图所示,在克隆数据库之后,源数据库中没有更改。源数据库和克隆数据库均指向相同的四个页面。没有物理复制任何页面,因此无需额外的存储。

  Amazon Aurora 源数据库和克隆数据库,数据库克隆之后

源数据库上发生更改时

在下面的示例中,源数据库对 Page 1 中的数据进行了更改。使用额外的存储创建名为 Page 1' 的新页,而不是写入原始 Page 1。源数据库现在指向新 Page 1',也指向Page 2Page 3Page 4。克隆数据库继续指向 Page 1Page 4

  Amazon Aurora 源数据库和克隆数据库,源数据库中发生更改之后

克隆数据库上发生更改时

在下图中,克隆数据库还进行了一项更改,这次是在 Page 4 中。使用额外的存储创建名为 Page 4' 的新页,而不是写入原始 Page 4。源数据库继续指向 Page 1',以及 Page 2 到 Page 4,但克隆数据库现在指向 Page 1Page 3,以及 Page 4'

  Amazon Aurora 源数据库和克隆数据库,克隆数据库上发生更改之后

如第二种情况中所示,在数据库克隆之后,创建克隆时无需额外的存储。但是,如第三和第四种情况所示,源数据库和克隆数据库中发生更改之后,将仅创建更改的页面。随着时间推移,当源数据库和克隆数据库上出现了更多更改时,逐渐需要更多存储来捕获和存储更改。

删除源数据库

删除与一个或多个克隆数据库关联的源数据库时,克隆数据库不受影响。克隆数据库继续指向以前由源数据库拥有的页面。

AWS 管理控制台

以下过程介绍如何使用 AWS 管理控制台 克隆 Aurora 数据库群集。

使用 AWS 管理控制台创建数据库群集的克隆

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择 Instances。选择要为其创建克隆的数据库群集的主实例。

  3. 选择 Instance Actions,然后选择 Create Clone

  4. Create Clone 窗格中,键入 DB Instance Identifier 中克隆数据库群集的主实例名称。

    如果需要,设置克隆数据库群集的任何其他设置。有关不同的数据库群集设置的信息,请参阅使用 AWS 管理控制台启动 Aurora 数据库群集并创建 Aurora 副本

  5. 选择 Create Clone 启动克隆数据库群集。

CLI

以下过程介绍如何使用 AWS CLI 克隆 Aurora 数据库群集。

使用 AWS CLI 创建数据库群集的克隆

  • 调用 restore-db-cluster-to-point-in-time AWS CLI 命令并提供以下值:

    • --source-db-cluster-identifier - 要创建克隆的源数据库群集的名称。

    • --db-cluster-identifier - 克隆数据库群集的名称。

    • --restore-type copy-on-write - 指示创建克隆数据库群集的值。

    • --use-latest-restorable-time - 指示将数据库群集还原到最近的可还原备份时间的值。

    以下示例创建名为 sample-source-cluster 的数据库群集的克隆。克隆数据库群集的名称为 sample-cluster-clone

    针对 Linux、OS X 或 Unix:

    aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier sample-source-cluster \ --db-cluster-identifier sample-cluster-clone \ --restore-type copy-on-write \ --use-latest-restorable-time

    对于 Windows:

    aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier sample-source-cluster ^ --db-cluster-identifier sample-cluster-clone ^ --restore-type copy-on-write ^ --use-latest-restorable-time