将数据库集群还原到指定时间 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将数据库集群还原到指定时间

您可以将数据库集群还原到特定时间点,从而创建新的数据库集群。

将数据库集群还原到某个时间点时,您可以选择默认的 Virtual Private Cloud (VPC) 安全组,也可以将自定义 VPC 安全组应用于数据库集群。

还原的数据库集群自动与默认数据库集群和数据库参数组关联。但是,您可以通过在还原期间指定自定义参数组来应用它们。

Amazon Aurora 不断将数据库集群的日志记录上传到 Amazon S3。要查看某个数据库集群的最晚可还原时间,请使用 Amazon CLI describe-db-clusters 命令,并查看该数据库集群的 LatestRestorableTime 字段中返回的值。

您可以还原至备份保留期内的任何时间点。要查看某个数据库集群的最早可还原时间,请使用 Amazon CLI describe-db-clusters 命令,并查看该数据库集群的 EarliestRestorableTime 字段中返回的值。

还原的数据库集群的备份保留期与源数据库集群的备份保留期相同。

注意

本主题中的信息适用于 Amazon Aurora。有关还原 Amazon RDS 数据库实例的信息,请参阅将数据库实例还原到指定时间

有关备份和还原 Aurora 数据库集群的更多信息,请参阅备份和还原 Aurora 数据库集群的概述

对于 Aurora MySQL,可以将预置的数据库集群还原为 Aurora Serverless 数据库集群。有关更多信息,请参阅还原 Aurora Serverless v1 数据库集群

您也可以使用 Amazon Backup 来管理 Amazon Aurora 数据库集群的备份。如果您的数据库集群与 Amazon Backup 中的备份计划关联,则该备份计划用于时间点恢复。有关信息,请参阅 使用 Amazon Backup 将数据库集群还原到指定时间

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 将数据库集群还原到某个时间点。

将数据库集群还原到指定时间
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Automated backups(自动备份)。

    自动备份便会显示在 Current Region(当前区域)选项卡上。

    
                            数据库集群自动备份
  3. 选择要还原的 数据库集群。

  4. 对于 Actions (操作),选择 Restore to point in time (还原到时间点)

    此时会显示还原到时间点窗口。

  5. 选择最近可还原时间以还原到可能的最近时间,或选择自定义来选择时间。

    如果选择 Custom(自定义),请输入要还原集群的指定日期和时间。

    注意

    时间以您的本地时区显示,表示为协调世界时 (UTC) 的偏移量。例如,UTC-5 是东部标准时间/中部夏令时。

  6. 对于数据库集群标识符,请输入还原后的目标数据库集群的名称。名称必须唯一。

  7. 根据需要选择其他选项,例如数据库实例类和数据库集群存储配置。

    有关每项设置的信息,请参阅 Aurora 数据库集群的设置

  8. 选择还原到时间点

要将数据库集群还原到指定时间,请使用 Amazon CLI 命令 restore-db-cluster-to-point-in-time 创建新的数据库集群。

您可以指定其他设置。有关每项设置的信息,请参阅 Aurora 数据库集群的设置

此操作支持资源标记。使用 --tags 选项时,将忽略源数据库集群标签,并使用提供的标签。否则,将使用源集群中的最新标签。

对于 Linux、macOS 或 Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier mysourcedbcluster \ --db-cluster-identifier mytargetdbcluster \ --restore-to-time 2017-10-14T23:45:00.000Z

对于 Windows:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier mysourcedbcluster ^ --db-cluster-identifier mytargetdbcluster ^ --restore-to-time 2017-10-14T23:45:00.000Z
重要

如果您使用控制台将数据库集群还原到指定时间,则 Amazon RDS 会为您的数据库集群自动创建主实例(写入器)。如果您使用 Amazon CLI 将数据库集群还原到指定时间,则必须明确为数据库集群创建主实例。主实例是在数据库集群中创建的第一个实例。

要为数据库集群创建主实例,请调用 create-db-instance Amazon CLI 命令。包括数据库集群名称以作为 --db-cluster-identifier 选项值。

要将数据库集群还原到指定时间,请结合以下参数调用 Amazon RDS API RestoreDBClusterToPointInTime 操作:

  • SourceDBClusterIdentifier

  • DBClusterIdentifier

  • RestoreToTime

重要

如果您使用控制台将数据库集群还原到指定时间,则 Amazon RDS 会为您的数据库集群自动创建主实例(写入器)。如果使用 RDS API 将数据库集群还原到指定时间,请确保为数据库集群明确创建主实例。主实例是在数据库集群中创建的第一个实例。

要为数据库集群创建主实例,请调用 RDS API 操作 CreateDBInstance。包括数据库群集的名称作为 DBClusterIdentifier 参数值。

将数据库集群从保留的自动备份还原到指定时间

如果备份在源集群的保留期内,则可以在删除源数据库集群后,从保留的自动备份中还原数据库集群。该过程类似于从自动备份中还原数据库集群。

注意

您无法使用此过程还原 Aurora Serverless v1 数据库集群,因为不会保留 Aurora Serverless v1 集群的自动备份。

将数据库集群还原到指定时间
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Automated backups(自动备份)。

  3. 选择已保留选项卡。

    
                                保留的自动备份
  4. 选择要还原的 数据库集群。

  5. 对于 Actions (操作),选择 Restore to point in time (还原到时间点)

    此时会显示还原到时间点窗口。

  6. 选择最近可还原时间以还原到可能的最近时间,或选择自定义来选择时间。

    如果选择 Custom(自定义),请输入要还原集群的指定日期和时间。

    注意

    时间以您的本地时区显示,表示为协调世界时 (UTC) 的偏移量。例如,UTC-5 是东部标准时间/中部夏令时。

  7. 对于数据库集群标识符,请输入还原后的目标数据库集群的名称。名称必须唯一。

  8. 根据需要选择其他选项,例如数据库实例类。

    有关每项设置的信息,请参阅 Aurora 数据库集群的设置

  9. 选择还原到时间点

要将数据库集群还原到指定时间,请使用 Amazon CLI 命令 restore-db-cluster-to-point-in-time 创建新的数据库集群。

您可以指定其他设置。有关每项设置的信息,请参阅 Aurora 数据库集群的设置

此操作支持资源标记。使用 --tags 选项时,将忽略源数据库集群标签,并使用提供的标签。否则,将使用源集群中的最新标签。

对于 Linux、macOS 或 Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-resource-id cluster-123ABCEXAMPLE \ --db-cluster-identifier mytargetdbcluster \ --restore-to-time 2017-10-14T23:45:00.000Z

对于 Windows:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-resource-id cluster-123ABCEXAMPLE ^ --db-cluster-identifier mytargetdbcluster ^ --restore-to-time 2017-10-14T23:45:00.000Z
重要

如果您使用控制台将数据库集群还原到指定时间,则 Amazon RDS 会为您的数据库集群自动创建主实例(写入器)。如果您使用 Amazon CLI 将数据库集群还原到指定时间,则必须明确为数据库集群创建主实例。主实例是在数据库集群中创建的第一个实例。

要为数据库集群创建主实例,请调用 create-db-instance Amazon CLI 命令。包括数据库集群名称以作为 --db-cluster-identifier 选项值。

要将数据库集群还原到指定时间,请结合以下参数调用 Amazon RDS API RestoreDBClusterToPointInTime 操作:

  • SourceDbClusterResourceId

  • DBClusterIdentifier

  • RestoreToTime

重要

如果您使用控制台将数据库集群还原到指定时间,则 Amazon RDS 会为您的数据库集群自动创建主实例(写入器)。如果使用 RDS API 将数据库集群还原到指定时间,请确保为数据库集群明确创建主实例。主实例是在数据库集群中创建的第一个实例。

要为数据库集群创建主实例,请调用 RDS API 操作 CreateDBInstance。包括数据库群集的名称作为 DBClusterIdentifier 参数值。

使用 Amazon Backup 将数据库集群还原到指定时间

您可以使用 Amazon Backup 管理您的自动备份,然后将其还原到指定时间。为此,您需要在 Amazon Backup 中创建备份计划,并将您的数据库集群分配为资源。然后,您可以在备份规则中为 PITR 启用连续备份。有关备份计划和备份规则的更多信息,请参阅 Amazon Backup 开发人员指南

在 Amazon Backup 中启用连续备份

您可以在备份规则中启用连续备份。

为 PITR 启用连续备份
  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Backup 控制台:https://console.aws.amazon.com/backup

  2. 在导航窗格中,选择备份计划

  3. 备份计划名称下,选择用于备份数据库集群的备份计划。

  4. 备份规则部分下,选择添加备份规则

    将显示添加备份规则页面。

  5. 选中启用连续备份以实现时间点故障恢复(PITR)复选框。

    
                            启用连续备份以实现时间点故障恢复(PITR)。
  6. 根据需要选择其他设置,然后选择添加备份规则

从 Amazon Backup 中的连续备份还原

您从备份保管库还原到指定时间。

可以使用 Amazon Web Services Management Console 将数据库集群还原到指定时间。

从 Amazon Backup 中的连续备份还原
  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Backup 控制台:https://console.aws.amazon.com/backup

  2. 在导航窗格中,选择备份保管库

  3. 例如,选择包含连续备份的备份保管库,例如默认

    将显示备份保管库详细信息页面。

  4. 恢复点下,选择自动备份的恢复点。

    它的备份类型为连续,且名称带有 continuous:cluster-AWS-Backup-job-number

  5. 对于操作,选择还原

    将显示还原备份页面。

    
                                    时间点故障恢复(PITR)的“还原备份”页面。
  6. 对于还原到时间点,请选择指定日期和时间以还原到特定的时间点。

  7. 根据需要选择其他设置以还原数据库集群,然后选择还原备份

    将显示任务页面,其中显示还原任务窗格。页面顶部的消息提供了有关还原作业的信息。

还原数据库集群后,必须向其添加主(写入器)数据库实例。要为数据库集群创建主实例,请调用 create-db-instance Amazon CLI 命令。包括数据库群集的名称作为 --db-cluster-identifier 参数值。

请使用 start-restore-job Amazon CLI 命令将数据库集群还原到指定时间。以下参数为必需参数:

  • --recovery-point-arn – 要从中还原的恢复点的 Amazon 资源名称(ARN)。

  • --resource-type – 使用 Aurora

  • --iam-role-arn – 您用于 Amazon Backup 操作的 IAM 角色的 ARN。

  • --metadata – 用于还原数据库集群的元数据。以下参数为必需参数:

    • DBClusterIdentifier

    • Engine

    • RestoreToTimeUseLatestRestorableTime

以下示例说明如何将数据库集群还原到指定时间。

aws backup start-restore-job \ --recovery-point-arn arn:aws:backup:eu-central-1:123456789012:recovery-point:continuous:cluster-itsreallyjustanexample1234567890-487278c2 \ --resource-type Aurora \ --iam-role-arn arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole \ --metadata '{"DBClusterIdentifier":"backup-pitr-test","Engine":"aurora-mysql","RestoreToTime":"2023-09-01T17:00:00.000Z"}'

以下示例说明如何将数据库集群还原到最新的可还原时间。

aws backup start-restore-job \ --recovery-point-arn arn:aws:backup:eu-central-1:123456789012:recovery-point:continuous:cluster-itsreallyjustanexample1234567890-487278c2 \ --resource-type Aurora \ --iam-role-arn arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole \ --metadata '{"DBClusterIdentifier":"backup-pitr-latest","Engine":"aurora-mysql","UseLatestRestorableTime":"true"}'

还原数据库集群后,必须向其添加主(写入器)数据库实例。要为数据库集群创建主实例,请调用 create-db-instance Amazon CLI 命令。包括数据库群集的名称作为 --db-cluster-identifier 参数值。