本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 Neptune 全球集群执行块
Amazon Neptune 全球数据库执行块允许您为 Neptune 全局数据库执行故障转移或切换恢复工作流程。
切换 – 此操作以前称为托管式计划内失效转移。在受控场景中使用此方法,例如操作维护和其他计划中的操作程序,其中所有 Amazon Neptune 集群及其与之交互的其他服务都处于健康状态。由于此特征会在进行任何其他更改之前将辅助数据库集群与主数据库集群同步,因此 RPO 为 0(不会造成数据丢失)。
失效转移 – 使用此方法从计划外停机中恢复。使用这种方法,您可以对您的 Amazon Neptune 全球数据库中的一个辅助数据库集群执行跨区域故障转移。这种方法的恢复点目标(RPO)通常是一个以秒为单位的非零值。数据丢失量取决于故障发生时的 Amazon Neptune 全球数据库复制延迟。 AWS 区域
配置
要配置 Amazon Neptune 全球数据库执行块,请输入以下值。
重要
在配置执行块之前,请确保计划的执行角色具有正确的 IAM 策略。有关更多信息,请参阅 亚马逊 Neptune 全球集群执行区块策略示例。
步骤名称:输入名称。
步骤描述(可选):输入步骤的描述。
Neptune 全球数据库集群名称:输入全局数据库的标识符。
区域的集群 ARN:输入计划中每个区域要使用的集群 ARN。
指定 Neptune 数据库的选项:根据您的恢复要求选择切换或故障转移(数据丢失)。选择切换以实现零数据丢失的计划内操作,或者选择故障转移以进行计划外停机恢复(如果某些数据丢失是可以接受的)。
超时:输入超时值。
然后,选择保存步骤。
工作原理
通过配置 Amazon Neptune 全球数据库执行块,您可以在应用程序恢复过程中对全局数据库进行故障转移或切换。
此块支持优雅和非优雅的执行模式:
Graceful — 区域切换执行您在配置中指定的操作(切换或故障转移)。如果您配置了切换,则区域切换会调用
SwitchoverGlobalCluster,这会在提升目标集群之前将所有辅助集群与主集群同步(零数据丢失)。如果您配置了故障转移,则区域切换会调用FailoverGlobalCluster,这会立即升级目标集群,而无需等待复制完成(可能会丢失数据)。Ungraceful — 如果您配置了不雅的设置,则在目标辅助群集
AllowDataLoss=true上FailoverGlobalCluster使用区域切换调用。Amazon Neptune 无需等待复制完成即可立即将目标集群提升为新的主集群。这可能会导致数据丢失,等同于故障转移时的复制延迟。
如果在切换已经在进行时请求执行不雅的操作,则区域切换会首先撤消正在进行的切换(通过切换回原始主集群),等待集群变为可用,然后执行到目标集群的故障转移。
在这两种模式下,Region switch 都会轮询全局集群状态,直到目标集群成为写入者并且集群恢复到available状态,或者直到达到配置的超时时间。
如果区块执行时目标集群已经是写入者,则 Region switch 会检测到这一点并立即完成该步骤,而无需进行任何更改。
有关 Amazon Neptune 全球数据库灾难恢复的更多信息,请参阅 Amazon Neptune 用户指南中的在 Amazon Neptune 全球数据库中使用切换或故障转移。
在计划评估中评估的内容
当区域切换评估您的计划时,区域切换会对您的 Amazon Neptune 执行区块配置和权限进行多项检查。区域切换可验证以下内容是否正确:
配置中指定的 Amazon Neptune 全局集群存在。
配置的集群 ARN 是指定全局群集的成员。
源区域和目标区域都有 Amazon Neptune 数据库集群。
来源数据库集群和目标数据库集群处于允许全球数据库切换的状态。
源集群和目标集群中都有数据库实例。
区域切换还可以验证计划的 IAM 角色是否具有 Amazon Neptune 故障转移和切换所需的权限。有关区域切换执行块所需权限的更多信息,请参阅Identity-based ARC 中区域切换的策略示例。
正确的 IAM 权限对于 Amazon Neptune 执行区块的正常运行至关重要。如果其中任何一个验证失败,区域切换将返回说明存在问题的警告,并提供特定的错误消息来帮助您解决权限或配置问题。这样可以确保在计划执行期间执行此步骤时,您的计划具有必要的访问权限来管理和与 Amazon Neptune 进行交互。