本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
备份和还原 Neptune 数据库集群的概述
本部分提供有关在 Amazon Neptune 中备份和还原数据的概括信息。
Neptune 数据库集群的容错能力
Neptune 数据库集群设计为具有容错能力。群集卷跨一个 Amazon 区域中的多个可用区,每个可用区均包含一个群集卷数据副本。该功能意味着您的数据库集群可容忍可用区的故障,而不发生任何数据丢失,只是会短暂中断服务。
如果数据库集群中的主实例失败,Neptune 将通过两种方式之一来自动故障转移到新的主实例:
将现有的 Neptune 副本提升为新的主实例
创建新的主实例
如果数据库集群具有一个或多个 Neptune 副本,则 Neptune 副本将在故障事件期间提升为主实例。故障事件将导致短暂中断,其间的读取和写入操作将失败并引发异常。不过,服务通常会在 120 秒内 (经常在 60 秒内) 还原。要提高数据库集群的可用性,建议您在两个或更多的不同的可用区中创建至少一个或多个 Neptune 副本。
您可以通过为每个副本分配一个优先级来自定义发生故障后将 Neptune 副本提升为主实例的顺序。优先级介于 0(最高优先级)和 15(最低优先级)之间。如果主实例失败,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 的备份保留期是由数据库集群管理的。
CloudWatch对于管理 Neptune 备份存储有用的指标
您可以使用 AmazonCloudWatch指标TotalBackupStorageBilled
、SnapshotStorageUsed
, 和BackupRetentionPeriodStorageUsed
要查看和监控 Neptune 备份使用的存储量,如下所示:
-
BackupRetentionPeriodStorageUsed
表示目前用于存储连续备份的备份存储量(以字节为单位)。此值取决于集群卷的大小和您在保留期内所做的更改的数量。但是,出于计费目的,它不会超过保留期内的集群卷的累计大小。例如,如果您的集群VolumeBytesUsed
大小为 107,374,182,400 字节 (100 GiB) 且保留期为两天,则BackupRetentionPeriodStorageUsed
的最大值为 214,748,364,800 字节 (100 GiB + 100 GiB)。 -
SnapshotStorageUsed
表示用于存储超出备份保留期的手动快照的备份存储量(以字节为单位)。当手动快照的创建时间戳在保留期内时,手动快照不会计入快照备份存储。所有自动快照也不会计入快照备份存储。每个快照的大小是您拍摄快照时的集群卷的大小。SnapshotStorageUsed
值取决于您保留的快照数和每个快照的大小。例如,假设您有一个保留期外的手动快照,并且在拍摄快照时集群的VolumeBytesUsed
大小为 100 GiB。的量SnapshotStorage使用的是 107,374,182,400 字节 (100 GiB)。 -
TotalBackupStorageBilled
表示BackupRetentionPeriodStorageUsed
与SnapshotStorageUsed
之和(以字节为单位)再减去免费备份存储量(等于一天的集群卷的大小)。免费备份存储等于最新的卷大小。例如,如果您的集群VolumeBytesUsed
大小为 100 GiB,保留期为两天,并且您有一个保留期外的手动快照,则TotalBackupStorageBilled
为 214,748,364,800 字节 (200 GiB + 100 GiB - 100 GiB)。
您可以使用以下方式监控 Neptune 集群并构建报告CloudWatch指标通过CloudWatch控制台
从 Neptune 备份中恢复数据
您可以从 Neptune 保留的备份数据或您保存的数据库集群快照创建新的 Neptune 数据库集群以恢复数据。您可以将从备份数据创建的新数据库集群副本快速还原到备份保留期内的任何时间点。备份保留期内的 Neptune 备份的持续和增量性质意味着您无需频繁创建数据快照来缩短还原时间。
要确定数据库实例的最近或最早的可还原时间,请查找Latest Restorable Time
要么Earliest Restorable Time
Neptune 控制台上的值。数据库集群的最近可还原时间是您可还原数据库集群的最近时间点,通常为当前时间的 5 分钟内。最早可还原时间指定可将集群卷还原到的备份保留期内的时间点。
您可以通过检查 Latest Restorable Time
和 Earliest Restorable Time
值来确定数据库集群还原完成的时间。在还原操作完成之前,Latest Restorable Time
和 Earliest Restorable
Time
值将返回 NULL。如果 Latest Restorable
Time
或 Earliest Restorable Time
返回 NULL,则无法请求备份或还原操作。
使用 Amazon Web Services Management Console 将数据库实例还原到指定时间
登录到Amazon然后通过以下网址打开 Amazon Neptune 控制台:https://console.aws.amazon.com/neptune/home
. 在导航窗格中,选择 Instances (实例)。选择要还原的数据库集群的主实例。
-
选择实例操作,然后选择还原到时间点。
在启动数据库实例窗口中,选择Custom (自定义)下恢复时间.
在 Custom (自定义) 下方指定要还原到的日期和时间。
键入新的、还原的数据库实例的名称数据库实例标识符下设置.
-
选择 Launch DB Instance (启动数据库实例) 以启动还原后数据库实例。
此时将使用您指定的名称创建新的数据库实例,并创建新的数据库集群。数据库集群名称是在新的数据库实例名称后面加上
–cluster
。例如,如果新数据库实例名称为myrestoreddb
,则新数据库集群名称为myrestoreddb-cluster
。
Neptune 中的 Backup 时段
自动备份在每天的首选备份时段中进行。如果备份所需的时间超过了分配到备份时段的时间,则备份将在该时段结束后继续,直至完成。备份时段不能与数据库实例的每周维护时段重叠。
在自动备份时段期间,启动备份进程时可能会短时间暂停存储 I/O (通常不到几秒)。在备份多可用区部署时,可能需要等待几分钟。
备份时段通常由 Neptune 底层的 Amazon RDS 控制层面在各个地区的八小时时间内随机选择。已分配默认备份时段的各个地区的时间块记录在中。备份时段Amazon RDS 用户指南的部分。