Yeastar P 系列云 PBX 高可用架构

Yeastar 提供了 Yeastar P 系列云 PBX 高可用 (High Availability, HA) 部署方案。采用高可用部署方案,可确保系统在服务器发生故障,或者访问流量过大的情况下,也能持续稳定地运行。除此之外,采用高可用部署方案,可满足后续由于业务需求增长而需要扩大系统的服务能力和容量的需求。

Note: 此高可用部署方案仅适用于在 AWS 云服务平台上部署的 Yeastar P 系列云 PBX。

背景信息

下图呈现了 Yeastar P 系列云 PBX 的高可用架构。你可以根据需要为整个系统,或为系统中特定的服务器部署高可用架构。

Yeastar P 系列云 PBX 的高可用架构包含了以下几个部分:

Important: 需要保证 SBC 服务器、SBC Proxy 服务器和 PBXHub 服务器之间网络互通。
Note: 出于安全目的,我们建议你为 Yeastar P 系列云 PBX 的所有服务器设置安全组,并设置安全组规则为开放 SSH 端口 1022,且只允许信任的 IP 地址访问实例;联系 Yeastar 获取 IP 地址允许名单。

YCM 服务器

YCM 服务器用于提供一个集中管理平台,即星纵统一管理平台。通过平台上简易的图形用户界面,用户可以实现以下功能:

  • 创建和管理 Yeastar P 系列云 PBX。
  • 监控服务器状态,包括 SBC 服务器,SBC Proxy 服务器,PBXHub 服务器。

了解更多 YCM 服务器支持的功能,请参见 星纵统一管理平台管理员指南

SBC 集群

如果要为 SBC 服务器部署高可用架构,你需要创建一个负载均衡器,并部署多个 SBC 服务器。
负载均衡器
高可用架构采用负载均衡服务来实现系统高可用性和对用户请求的快速响应。
负载均衡在一个或多个可用区中的多个目标(即 SBC 服务器)之间自动分配传入的流量。负载均衡器通过在注册到目标组 (该目标组可在负载均衡器的侦听器规则中指定) 的所有目标上执行运行状况检查来监控已注册目标的运行情况,并仅将流量传输到运行状况良好的目标上。
负载均衡器每秒可以处理数百万个请求。在负载均衡器收到连接请求后,它会从默认规则的目标组中选择一个目标,并尝试在侦听器配置中指定的端口上打开一个到该选定目标的 TCP 连接。
当为负载均衡器启用可用区时,负载均衡功能会在该可用区中创建一个负载均衡器节点。默认情况下,每个负载均衡器节点仅在其可用区中的已注册目标之间分配流量。如果启用了跨区域负载均衡,则每个负载均衡器节点会在所有启用的可用区中的已注册目标之间分配流量。
Note: 你需要向 Yeastar 提供用于操作负载均衡器的 API 接口。
SBC 服务器

SBC 服务器用于为 Yeastar P 系列云 PBX 架构提供一个安全组件。

云 PBX 的域名被解析后将指向 SBC 服务器,数据流量经由 SBC 服务器被转发到部署在 SBC 服务器后的云 PBX 。这样一来,就可以避免在公网环境中暴露云 PBX 的具体网络拓扑,大大提高了安全性能。

Note: SBC 服务器内置默认安全规则,可保护 P 系列云 PBX 免受恶意攻击。
SBC 集群提供的服务

以下服务的数据包需经由 SBC 集群转发:

  • PBX 网页访问
  • 账号中继
  • SIP 分机注册
  • Linkus 客户端登录与注册

SBC Proxy 集群

如果要为 SBC Proxy 服务器部署高可用架构,你需要创建多个 SBC Proxy 服务器。
SBC Proxy 服务器
通常情况下,我们建议部署两台 SBC Proxy 服务器,一台为主服务器(活跃),另一台为备用服务器(非活跃)。
对于主服务器,你需要为其绑定一个弹性公网 IP,从而主服务器可以与 Internet 通信。一旦主服务器发生故障,弹性公网 IP 地址将被切换到备用服务器上,流量将会被转发到备用服务器,从而保证服务不受影响。
此外,你需要将 SBC Proxy 服务器所在子网与 NAT 网关关联,以保证在某台 SBC Proxy 服务器处于非活跃状态时,仍可对外部 Internet 发起单向通信。
Note: 你需要向 Yeastar 提供用于切换 SBC Proxy 服务器弹性公网 IP 地址的 API 接口。
SBC Proxy 集群提供的服务

SBC Proxy 集群负责处理以下 PBX 业务:

  • LDAP/LDAPs
  • 注册中继
  • 基于端口的点对点中继
  • 基于 DID 的点对点中继
  • 出站服务端口分配,包括 SSH 连接端口,AMI 应用对接端口和数据库授权端口。

PBXHub 集群

如果要为 PBXHub 服务器部署高可用架构,你需要在每个 PBXHub 服务器中创建两台服务器,一台为主服务器(活跃),另一台为备用服务器(非活跃)。

PBXHub 服务器
PBXHub 服务器是用于启动 Yeastar P 系列云 PBX 实例的服务器。PBXHub 服务器位于私有子网下,你需要将 PBXHub 服务器所在子网与 NAT 网关关联,确保服务器可对外部 Internet 发起单向通信。
每个 PBXHub 服务器中包含一台主服务器和一台备用服务器。这样一来,一旦主 PBXHub 服务器发生故障,备用服务器将自动接管主服务器的服务,并同步服务器数据,从而大大提高服务器的容错率。
每台 PBXHub 服务器支持创建 100 台云 PBX 实例,你可以根据需要设置多个 PBXHub 服务器。
PBXHub 集群提供的服务
PBXHub 集群主要提供以下几项服务:
  • 云 PBX 实例启动

    当你在 YCM 服务器平台上为不同区域的客户创建 Yeastar P 系列云 PBX,云 PBX 即在 PBXHub 服务器中启动,客户可以登录并管理自己的云 PBX。

  • 云 PBX 高可用性能

    如果 PBXHub 集群中有不止一台处于活跃状态的 PBXHub 服务器,则集群可支持云 PBX 的语音通信服务高可用。

    假设你部署了 PBXHub 服务器 1 和 PBXHub 服务器 2,两台皆为活跃状态。如果 PBXHub 服务器 1 中的云 PBX A 出现语音通信功能故障,系统将上报警告,并自动在活跃的 PBXHub 服务器 2 中启动一台新的云 PBX 实例,将云 PBX A 上的数据以及后续的数据包都转移到新的实例上。此后,系统将发送事件通知,告知联系人 PBX 服务已恢复正常,从而保证云 PBX 语音通信服务的高可用性。

  • 存储

    在每个 PBXHub 服务器中,你需要为主服务器和备用服务器分别挂载两块独立的存储盘。

    • 数据存储盘:用于存储在此服务器中所有云 PBX 的数据。
    • 录音存储盘:用于存储在此服务器中所有云 PBX 的录音文件。
  • 基于私网的点对点中继的端口分配

    当 PBX 管理员要创建基于私网的点对点中继时,PBXHub 服务器可为云 PBX 提供一个虚拟的 IP 地址和 SIP 注册端口,用于中继注册。