本文描述了如何为GCP vSocket站点部署高可用性(HA)配置。
概概览
您可以通过在不同的区域部署两个vSocket,并将Google Cloud负载均衡器放置在它们的局域网接口前来配置GCP上的Cato vSockets高可用性(HA)。 负载均衡器提供一个单一的静态IP地址,内部资源用于连接到vSockets。 它持续监控每个vSocket的健康状态,并仅将流量转发到活动(主)vSocket。 这可以是主要Socket或者在故障转移的情况下为辅助Socket。
此外,vSockets使用虚拟路由冗余协议(VRRP)在它们之间交换状态信息。当次要Socket处于待机模式时,它会报告给负载均衡器为不健康,因此仅将流量转发到活动vSocket。 负载均衡器健康检查和VRRP共同提供了自动故障切换,同时最小化中断。典型的故障切换时间大约为3–5秒。
注意:
GCP中用于HA的vSocket最低支持版本是24.0.20395。
GCP中的HA vSocket配置完全依赖负载均衡器将流量引导到活动vSocket。
GCP vSocket故障转移工作流程
这是工作流程,当主要活动vSocket在GCP站点故障转移到辅助备用时。
在正常操作中,主要vSocket具有活动角色,而辅助vSocket具有备用角色。
负载均衡器探测Sockets以获取其健康状态。 主要报告其健康,辅助报告其不健康。
主要和辅助Sockets通过LAN使用VRRP协议进行通信。
负载均衡器IP将流量引导到主要vSocket的IP。
LAN路由表前缀使用负载均衡器IP作为下一跳。
主要(活动)vSocket下降。
辅助(备用)vSocket停止接收来自主要vSocket的keepalive包。
辅助vSocket承担活动(主)角色,并开始向负载均衡器报告健康。
负载均衡器停止接收来自主要vSocket的响应,现在仅将流量引导到辅助vSocket。
辅助vSocket现在是活动的vSocket,并且在站点双向传递流量。
当主要vSocket恢复时,它恢复活动角色,而辅助vSocket返回到备用状态。 负载均衡器现在将流量重新导回主要vSocket。
Terraform部署的先决条件
一个具有权限创建以下资源的GCP项目:
VPC和子网
计算实例
防火墙规则
负载均衡器
健康检查
静态IP
服务账户
Terraform已安装并认证到GCP
Terraform模块所需的Cato账户凭证或令牌
目标区域的两个可用性区域(例如us-central1-a和us-central1-b)
(可选)保留指向负载均衡器静态IP地址的DNS名称
最低vSocket版本:24.0.20395
参考架构
每个vSocket包括三个接口:MGMT、WAN和LAN。 LAN接口参与VRRP以进行状态同步。
负载均衡器在LAN侧进行操作,为内部客户端提供一致的IP地址。
健康检查探测每个vSocket的LAN接口。 只有向负载均衡器报告健康的实例能够接收流量。
VRRP确保两个vSockets之间的状态同步。
.png?sv=2026-02-06&spr=https&st=2026-10-04T23%3A48%3A07Z&se=2026-10-04T23%3A59%3A07Z&sr=c&sp=r&sig=ICpcOVDdFah0%2B0eOEPpUtSa7exrTo7qzE%2FNIGf7nJGw%3D)
使用Terraform部署GCP vSocket站点的HA
所有所需资源(VPC、vSockets、负载均衡器和健康检查)应该在单个Terraform堆栈中定义。
在Terraform Registry中提供的官方Cato vSocket Terraform模块包含关于高可用性配置的详细文档和示例。 有关GCP HA模块的更多信息,请参见 此处。
扩展GCP中的HA配置:
使用相同方法在不同区域部署两个vSocket
在LAN侧添加一个负载均衡器资源以正面两个vSocket
允许两个vSockets之间进行VRRP通信以进行状态同步
注意:
参考官方Cato vSocket Terraform模块文档,了解模块输入、输出和高级配置选项的详细信息
管理GCP高可用性
本节解释如何管理GCP站点的HA:
显示每个 vSocket 的 HA 状态
更改站点的负载均衡器IP
更改vSockets的管理IP地址
禁用站点的HA并移除辅助vSocket
显示高可用性信息和状态
站点的 网络 > 站点 > Socket 页面显示主要和辅助vSockets的HA状态。
条目 | 说明 |
|---|---|
HA 状态 | 站点的高可用性状态(已准备或 未准备)只有当每个HA状态指示器为OK时才显示为准备 |
已连接(状态指示器) | 状态 |
保持活动(状态指示器) | 状态 |
相同版本(状态指示器) | 状态 |
更改站点的IP设置
如果您更改了GCP中vSockets的IP地址设置,您需要在Cato管理应用程序中更新相同的设置。 这些是您可以配置的设置:
本地范围子网 - 使用站点的 网络 部分
负载均衡器IP - 使用站点的网络或高可用性部分(新值自动在另一部分中更新)
管理IP - 使用站点的高可用性部分
更改本地范围子网
使用网络部分更改本地范围子网。
要更改站点的原生范围子网:
从导航菜单中,点击 网络 > 站点 并选择站点。
从导航菜单中选择 站点配置 > 网络。
编辑本地范围,输入子网的新值。
点击应用. 编辑IP范围面板关闭。
点击 保存。
更改负载均衡器IP和管理IP
使用高可用性部分更改负载均衡器IP和管理IP。 您也可以在网络部分更改负载均衡器IP。
要更改站点的负载均衡器或管理IP:
从导航菜单中,点击 网络 > 站点 并选择站点。
从导航菜单中,点击站点配置 > Socket。
展开高可用性配置部分。
输入新的主要管理IP。
输入新的辅助管理IP。
输入新的LAN负载均衡器IP。
点击 保存。
禁用GCP站点的高可用性
您可以从GCP站点移除辅助vSocket,并禁用该站点的HA。 从Cato管理应用程序移除辅助vSocket后,已部署的vSocket将无法再连接到Cato Cloud。 站点的设置恢复为单个vSocket的配置:
高可用性 部分被禁用,并且不再出现于页面上
在 网络 部分,本地IP替代了负载均衡器IP
注意:
注意: 您无法撤销取消分配Socket操作。 辅助vSocket的序列号不再有效。
如果您想再次添加辅助vSocket,必须在VM上安装新的vSocket,并使用新的序列号。
要禁用GCP站点的HA:
从导航菜单中,点击 网络 > 站点 并选择站点。
从导航菜单中,点击站点配置 > Socket。
从次要 vSocket 的操作菜单中,点击取消分配。
在警告窗口中,点击确定。 该站点的 HA 已禁用,并且次要 vSocket 已从中移除。
已知局限性
在 GCP HA 部署中,返回主要 vSocket 的时间可能比回到次要 vSocket 的时间更长。 在故障恢复期间,流量可能会中断最多 8 秒。
在 GCP HA 部署的分裂脑状态期间,现有的连续 ping 流量可以通过主要和次要 vSocket 继续进行。 这可能会导致 GCP 负载均衡器健康检查显示两个 vSocket 都健康,从而使故障转移验证变得不太清晰,尽管在分裂脑状态之后发起的新流量只通过次要 vSocket 路由。