高可用性配置概览

本页面简要介绍了 Cloud SQL 实例的高可用性 (HA) 配置。如需配置新的高可用性实例或为现有实例启用高可用性,请参阅对实例启用和停用高可用性

HA 配置概览

高可用性配置的目的是当某个可用区或实例不可用时减少停机时间。当可用区中断服务或者实例损坏时,可能会出现这种情况。借助 HA,您的数据可以继续供客户端应用使用。

HA 配置(有时称为“集群”)可提供数据冗余。 进行了 HA 配置的 Cloud SQL 实例也称为区域实例,位于所配置区域内的主要可用区和辅助可用区。在区域实例中,该配置由主实例和备用实例组成。通过将数据同步复制到每个可用区的永久性磁盘,对主实例执行的所有写入操作都会在事务被报告为已提交之前复制到两个可用区中的磁盘上。如果实例或可用区发生故障,则永久性磁盘会挂接到备用实例,并且备用实例会成为新的主实例。然后,用户会被重新路由到新的主实例。此过程称为故障转移

执行故障转移后,接管故障转移操作的实例会继续作为主实例,即使原始实例恢复在线状态后也是如此。当中断服务的可用区或实例再次可用时,原始的主实例会被销毁并重新创建。然后,该实例会成为新的备用实例。如果以后执行故障转移,则原始可用区中的原始实例会通过故障转移操作取代新实例。

如果您需要在中断服务的可用区中具有主实例,可以执行故障恢复。故障恢复会执行与故障转移相同的步骤,不过会反转方向,将流量重新路由到原始实例。要执行故障恢复,请执行启动故障转移中的过程。

针对 Cloud SQL 和 Cloud SQL 高可用性配置的区域永久性磁盘支持全面的服务等级协议 (SLA) 覆盖范围。HA 配置实例的费用是独立实例价格的两倍, 此价格包括 CPU、RAM 和存储费用。如需了解详情,请参阅价格页面

Cloud SQL 高可用性配置概览图。如下文所述。

故障转移概览

如果一个高可用性配置实例无响应,则 Cloud SQL 会自动切换为从备用实例传送数据。如需了解是否发生了故障转移,请查看操作日志的故障转移记录。

处理

流程如下:

  • 主实例或地区发生故障。

    主实例每一秒都会向系统数据库执行写入操作以作为检测信号。如果有多次未检测到检测信号,则系统会启动故障转移。如果主实例大约 60 秒没有响应或包含主实例的可用区发生服务中断,则会发生这种情况。

  • 备用实例现在会在重新连接后传送数据。

    通过与主实例共享的静态 IP 地址,备用实例现在可从辅助区域传送数据。

    要求

    要使 Cloud SQL 允许故障转移,配置必须满足以下要求:

    • 主实例必须处于正常运行状态(未停止、未在进行维护,也未在执行长时间运行的 Cloud SQL 实例操作,例如备份、导入或导出操作)。
    • 辅助地区和备用实例都必须处于良好运行状态。当备用实例不响应和/或向辅助地区执行的复制操作中断时,系统会阻止故障转移操作。在 Cloud SQL 修复备用实例且辅助地区可用后,复制操作将继续进行,且 Cloud SQL 也会允许进行故障转移。

    备份和恢复

    必须启用自动备份才能实现高可用性。

    应用和实例

    非 HA 实例和 HA 实例的使用方式并无区别,因此不需要以任何特别的方式配置应用。发生故障转移时,主实例和只读副本的所有现有连接都会被关闭,而重新建立与主实例的连接大约需要 2-3 分钟的时间才能完成。与副本的连接可能需要更长的时间才能完成。您的应用可以使用相同的连接字符串或 IP 地址重新连接;您无需在故障转移后更新您的应用。

    如需确切了解故障转移对您的应用有何影响,请手动启动故障转移

    维护停机时间

    维护事件会影响采用高可用性配置的主实例,具体方式与任何其他实例都相同。在此期间,您的主实例可能会发生宕机。为了最大限度地降低对服务的影响,您可以设置维护期来控制发生宕机的时间。

    在实例维护期间,实例不会故障转移到备用实例。维护更新会同时应用于备用实例和主实例。

    后续步骤