使用自有 CLB 接入 MQTT 服务

最近更新时间:2025-10-24 10:43:12

我的收藏

操作场景

某些特定场景下,用户需要通过自有 CLB 对外暴露以接入服务。例如,部分存量设备中已预先烧录了固定的 CLB IP 地址,无法直接更改;又或者,用户希望为自有 CLB 配置额外的安全服务,以增强访问控制与防护能力等。因此,通过 CLB 进行用户 VPC 与 MQTT 的绑定成为连接既有设备的解决方案,能够在保留原有架构的基础上,平滑实现服务暴露与安全管控。

实现原理


该方案的核心原理是​​通过使用 CLB 的跨域绑定2.0与 Private Link 打通相结合的方式,在用户 VPC 与 MQTT 服务的 VPC 之间建立一条安全的通信通道​​。整个数据流既保障了安全性,又提供了稳定的访问体验。
​​具体如下:​​
1. ​​流量入口:公网 CLB​​
User VPC 中部署的​​公网 CLB​​ 作为服务暴露的唯一入口,接收所有来自互联网设备的连接请求。
2. ​​跨VPC连接
公网 CLB 通过​​跨域绑定技术,将请求转发到一个统一的 ​​Endpoint​​(接入点)。
该 Endpoint 通过​​ Private Link​​ 服务,与 MQTT 服务 VPC 内的​​ Private Link Service Endpoint​​ 建立了一条私密、安全的专用隧道。此步骤确保了用户流量在穿越不同 VPC 时始终在云商的内网中流转,不与公网互通。
3. ​​服务分发与处理:​​
流量通过 Private Link 隧道进入 MQTT 服务 VPC 后,首先到达服务方内部的 ​​CLB​​,由它负责将连接负载均衡到后端的 MQTT 服务器集群进行最终的业务处理。

操作步骤

CLB 开通跨域访问 2.0

开通服务,具体操作参见CLB 跨域访问 2.0

配置 NAT

1. 登录负载均衡控制台 > 实例管理,在后端服务中打开跨地域绑定的配置。

2. 单击 新增SNAT IP,选择当前 VPC 下可用子网,确认其他配置后单击 保存 ,完成 NAT 配置。



查询终端节点 IP 地址

1. ​​准备条件​​:确保已成功创建 MQTT 集群。具体操作请参考文档 新建集群。成功购买 MQTT 实例后,系统在实例创建过程中会通过 Private Link 自动打通 VPC 网络,并为该服务分配对应的终端节点 IP 地址。
2. ​​查看 IP 地址​​:登录私有网络控制台,进入“终端节点”页面。在终端节点列表中,即可查看已创建的 MQTT 实例所对应的 IP 地址。


创建监听器

当客户端发起请求时,负载均衡会根据监听的前端协议与端口接收请求并向后端服务器转发请求。
2. 在“实例管理”页面中,找到目标负载均衡实例,单击配置监听器。
3. 在“监听器管理”页签中的“TCP/UDP/TCP SSL/QUIC 监听器”区域下,单击新建,输入名称和可用端口,单击下一步;完成健康检查后,在第三步开启“会话保持”。


4. 单击提交,完成监听器创建。在 TCP/UDP/TCP SSL 监听器模块的左侧列表中,选中需要绑定后端云服务器的监听器,单击绑定或“绑定后端服务”。

5. 在绑定后端服务弹出框中,选择 IP类型,填写查询终端节点 IP 地址中得到的 MQTT 实例对应的 IP 地址,以及需要被转发的端口与权重,单击确定。

6. 返回详情区域,可以查看绑定的后端服务和其健康检查状态,当端口健康状态为“健康”时表示可以正常处理负载均衡转发的请求。现在,就可以通过用户自有 CLB 访问 MQTT 服务了。