备份和还原 Neptune 数据库集群的概述 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

备份和还原 Neptune 数据库集群的概述

本节提供有关在 Amazon Neptune 中备份和还原数据的概括信息。

Neptune 数据库集群的容错能力

Neptune 数据库集群设计为具有容错能力。群集卷跨一个 Amazon 区域中的多个可用区,每个可用区均包含一个群集卷数据副本。该功能意味着您的数据库集群可容忍可用区的故障,而不发生任何数据丢失,只是会短暂中断服务。

如果数据库集群中的主实例失败,Neptune 将通过两种方式之一来自动失效转移到新的主实例:

  • 将现有的 Neptune 副本提升为新的主实例

  • 创建新的主实例

如果数据库集群具有一个或多个 Neptune 副本,则 Neptune 副本将在故障事件期间提升为主实例。故障事件将导致短暂中断,其间的读取和写入操作将失败并引发异常。不过,服务通常会在 120 秒内 (经常在 60 秒内) 还原。要提高数据库集群的可用性,建议您在两个或更多的不同可用区中创建至少一个或多个 Neptune 副本。

您可以通过为每个副本分配一个优先级来自定义发生故障后将 Neptune 副本提升为主实例的顺序。优先级介于 0(最高优先级)和 15(最低优先级)之间。如果主实例失败,则 Neptune 会将具有最高优先级的 Neptune 副本提升为新的主实例。您可以随时修改 Neptune 副本的优先级。修改优先级不会触发故障转移。

您可以使用 Amazon CLI 来设置数据库实例的失效转移优先级,如下所示:

aws neptune modify-db-instance --db-instance-identifier (the instance ID) --promotion-tier (the failover priority value)

多个 Neptune 副本可同属一个优先级,这会产生提升层问题。如果两个或更多 Neptune 副本同属一个优先级,则 Neptune 将提升最大的副本。如果两个或多个 Neptune 副本的优先级和大小均相同,则 Neptune 将提升同一提升层中的任意副本。

如果数据库集群不包含任何 Neptune 副本,则将在故障事件期间重新创建主实例。故障事件将导致中断,其间的读取和写入操作将失败并引发异常。创建新的主实例时将还原服务,该操作所需的时间通常在 10 分钟内。将 Neptune 副本提升为主实例要比创建新的主实例快得多。

Neptune 备份

Neptune 自动备份您的集群卷并将还原数据保留备份保留期的时长。Neptune 备份是连续且递增的,因此,您可以快速还原到备份保留期内的任何时间点。在写入备份数据时,不会发生任何性能影响或数据库服务中断。在创建或修改数据库集群时,可指定备份保留期 (1 天到 35 天)。

要控制备份存储使用量,可以缩短备份保留间隔和/或删除不再需要的旧的手动快照。要帮助控制成本,您可以监控持续备份和存在时间超出保留期的手动快照所消耗的存储量。您可以缩短备份保留间隔,并在不再需要手动快照时删除它们。

如果希望备份的保留期超出备份保留期,还可为集群卷中的数据创建快照。存储快照会产生 Neptune 的标准存储费用。有关 Neptune 存储定价的更多信息,请参阅 Amazon Neptune 定价

Neptune 在整个备份保留期间保留增量还原数据。因此,您只需为在备份保留期之外所要保留的数据构建快照。您可以从该快照创建新的数据库集群。

重要

如果您删除数据库集群,则会同时删除其所有自动备份,并且无法恢复。这意味着,除非您选择手动创建最终数据库快照,否则您以后无法将数据库实例还原到其最终状态。在删除集群时,不会删除手动快照。

注意
  • 对于 Amazon Neptune 数据库集群,默认备份保留期为 1 天,不管创建数据库集群的方式如何。

  • 您无法在 Neptune 上禁用自动备份。Neptune 的备份保留期是由数据库集群管理的。

用于管理 Neptune 备份存储的 CloudWatch 指标

您可以使用 Amazon CloudWatch 指标 TotalBackupStorageBilledSnapshotStorageUsedBackupRetentionPeriodStorageUsed 来查看和监控 Neptune 备份使用的存储量,如下所示:

  • BackupRetentionPeriodStorageUsed 表示目前用于存储连续备份的备份存储量(以字节为单位)。此值取决于集群卷的大小和您在保留期内所做的更改的数量。但是,出于计费目的,它不会超过保留期内的集群卷的累计大小。例如,如果您的集群 VolumeBytesUsed 大小为 107,374,182,400 字节 (100 GiB) 且保留期为两天,则 BackupRetentionPeriodStorageUsed 的最大值为 214,748,364,800 字节 (100 GiB + 100 GiB)。

  • SnapshotStorageUsed 表示用于存储超出备份保留期的手动快照的备份存储量(以字节为单位)。当手动快照的创建时间戳在保留期内时,手动快照不会计入快照备份存储。所有自动快照也不会计入快照备份存储。每个快照的大小是您拍摄快照时的集群卷的大小。SnapshotStorageUsed 值取决于您保留的快照数和每个快照的大小。例如,假设您有一个保留期外的手动快照,并且在拍摄快照时集群的 VolumeBytesUsed 大小为 100 GiB。SnapshotStorageUsed 量为 107,374,182,400 字节 (100 GiB)。

  • TotalBackupStorageBilled 表示 BackupRetentionPeriodStorageUsedSnapshotStorageUsed 之和(以字节为单位)再减去免费备份存储量(等于一天的集群卷的大小)。免费备份存储等于最新的卷大小。例如,如果您的集群 VolumeBytesUsed 大小为 100 GiB,保留期为两天,并且您有一个保留期外的手动快照,则 TotalBackupStorageBilled 为 214,748,364,800 字节 (200 GiB + 100 GiB - 100 GiB)。

您可以通过 CloudWatch 控制台来使用 CloudWatch 指标监控 Neptune 集群并生成报告。有关如何使用 CloudWatch 指标的更多信息,请参阅监控 Neptune以及Neptun CloudWatch e 指标中的指标表。

从 Neptune 备份还原数据

您可以从 Neptune 保留的备份数据或您保存的数据库集群快照创建新的 Neptune 数据库集群以恢复数据。您可以将从备份数据创建的新数据库集群副本快速还原到备份保留期内的任何时间点。备份保留期内的 Neptune 备份的持续和增量性质意味着您无需频繁创建数据快照来缩短还原时间。

要确定数据库实例的最近或最早的可还原时间,请在 Neptune 控制台上查找 Latest Restorable TimeEarliest Restorable Time 值。数据库集群的最近可还原时间是您可还原数据库集群的最近时间点,通常为当前时间的 5 分钟内。最早可还原时间指定可将集群卷还原到的备份保留期内的时间点。

您可以通过检查 Latest Restorable TimeEarliest Restorable Time 值来确定数据库集群还原完成的时间。在还原操作完成之前,Latest Restorable TimeEarliest Restorable Time 值将返回 NULL。如果 Latest Restorable TimeEarliest Restorable Time 返回 NULL,则无法请求备份或还原操作。

使用 Amazon Web Services Management Console 将数据库实例还原到指定时间
  1. 登录 Amazon 管理控制台并通过以下网址打开 Amazon Neptune 控制台:https://console.aws.amazon.com/neptune/home

  2. 在导航窗格中,选择实例。选择要还原的数据库集群的主实例。

  3. 选择实例操作,然后选择还原到时间点

    启动数据库实例窗口中,在还原时间下选择自定义

  4. Custom (自定义) 下方指定要还原到的日期和时间。

  5. 设置下为数据库实例标识符键入已还原的新数据库实例的名称。

  6. 选择 Launch DB Instance (启动数据库实例) 以启动还原后数据库实例。

    此时将使用您指定的名称创建新的数据库实例,并创建新的数据库集群。数据库集群名称是在新的数据库实例名称后面加上 –cluster。例如,如果新数据库实例名称为 myrestoreddb,则新数据库集群名称为 myrestoreddb-cluster

Neptune 中的备份时段

自动备份在每天的首选备份时段中进行。如果备份所需的时间超过了分配到备份时段的时间,则备份将在该时段结束后继续,直至完成。备份时段不能与数据库实例的每周维护时段重叠。

在自动备份时段期间,启动备份进程时可能会短时间暂停存储 I/O (通常不到几秒)。在备份多可用区部署时,可能需要等待几分钟。

备份时段通常由 Neptune 底层的 Amazon RDS 控制面板从每个区域的八小时时间期间中随机选择。《Amazon RDS 用户指南》的备份时段部分记录了从中分配默认备份时段的每个区域的时间期间。