You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure部署Thingsboard CE:双VM连同数据库可行性及问题求助

关于Azure部署Thingsboard CE的双节点可行性、问题解决及安全建议

双VM共享数据库运行是否可行?

完全可行。Thingsboard CE支持无状态节点的横向扩展架构,多个节点可以共享同一个后端数据库(PostgreSQL/Cassandra等)和分布式缓存/消息中间件,以此实现可用性和弹性扩展。但要注意,仅共享数据库还不够,必须配置共享的消息同步组件,否则会出现你遇到的实时数据不同步问题。

仪表板无法自动更新的问题解决

你遇到的设备连VM1时VM2仪表板不自动刷新的问题,核心原因是两个节点没有共享实时事件的同步机制。默认情况下,Thingsboard的WebSocket实时推送依赖节点本地的会话和事件队列,跨节点的事件无法自动同步。解决步骤如下:

  1. 部署共享Redis实例:在Azure上创建Azure Cache for Redis实例,作为分布式缓存和消息 broker,用于同步跨节点的WebSocket会话和实时数据事件。
  2. 修改Thingsboard配置:在两台VM的thingsboard.conf配置文件中,启用Redis相关配置:
    # 设置队列类型为Redis
    TB_QUEUE_TYPE=redis
    # Redis实例地址(Azure Cache for Redis的主机名)
    REDIS_HOST=your-redis-host.redis.cache.windows.net
    # Redis端口(默认6380,Azure Redis的TLS端口)
    REDIS_PORT=6380
    # 启用Redis认证
    REDIS_PASSWORD=your-redis-access-key
    # 启用TLS连接Redis
    REDIS_SSL_ENABLED=true
    # 设置WebSocket会话管理器为Redis,实现跨节点会话同步
    TB_WS_SESSION_MANAGER_TYPE=redis
    
  3. 重启两台VM上的Thingsboard服务:配置生效后,两个节点会通过Redis同步实时数据事件,VM2的仪表板就能自动接收到VM1上设备上报的新数据,无需手动刷新。

Azure上安全部署Thingsboard的建议

网络安全

  • 将所有Thingsboard VM部署在Azure虚拟网络(VNet)内,禁止直接暴露公网IP,通过Azure Application Gateway或**负载均衡器(LB)**作为流量入口,配置SSL终止和流量分发。
  • 配置网络安全组(NSG),严格限制入站端口:
    • 仅允许信任IP访问SSH(22)端口
    • 仅允许设备端IP范围访问MQTT(1883/8883)、CoAP(5683/5684)等设备协议端口
    • 公网用户仅允许访问HTTPS(443)端口
  • 启用Azure DDoS保护,防范分布式拒绝服务攻击。

数据库安全

  • 使用Azure托管数据库服务(如Azure Database for PostgreSQL)替代VM本地数据库,托管服务自带自动备份、故障转移、防火墙规则等安全特性。
  • 配置数据库防火墙,仅允许两台Thingsboard VM的私有IP访问数据库端口,禁止公网访问。
  • 启用透明数据加密(TDE)和静态数据加密,保护数据库存储的敏感数据。

应用层安全

  • 强制启用HTTPS:使用Azure Key Vault管理SSL证书,在负载均衡器或VM上配置SSL终止,禁止HTTP访问。
  • 定期更新Thingsboard到最新稳定版本,及时修复已知安全漏洞。
  • 强化身份验证:启用Thingsboard的多因素认证(MFA),删除默认管理员账号或修改强密码,按角色分配最小权限。
  • 启用审计日志:将Thingsboard的操作日志、设备连接日志导出到Azure Log Analytics,实时监控异常行为。

缓存与中间件安全

  • 使用Azure Cache for Redis时,禁用非TLS端口,配置强访问密码,仅允许Thingsboard VM的私有IP访问。
  • 所有中间件(Redis、数据库)均启用Azure的身份验证机制,避免使用弱凭证。

高可用强化

  • 通过Azure负载均衡器配置健康探测规则,自动剔除故障节点,确保流量仅分发到正常运行的Thingsboard实例。
  • 数据库和Redis均选择Azure的高可用部署模式(如PostgreSQL的区域冗余副本、Redis的主从复制),避免单点故障。

内容的提问来源于stack exchange,提问作者Diogo Mesquita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 00:00:09