一表看懂 JumpServer 多种部署方案场景

JumpServer作为一款开源堡垒机,在Github上有着超过2万的Star数和25万的下载安装量,市场上有着广泛的影响和声誉。在此情况下,JumpServer的安装部署已经成为了运维人员和安全人员的必备技能之一。JumpServer的官方在线文档给出了详细的安装方式,并且提供了一键安装脚本,方便快捷的安装JumpServer堡垒机。目前JumpServer一共支持以下部署方案:

  • 单机部署
  • 高可用部署
  • 集群部署
  • 分布式部署

但是具体哪种场景采用哪种部署方案,最佳的部署方案是什么很多用户并不清楚,本文主要就企业不同的场景为出发点,详细描述不同场景下的最佳JumpServer部署方案(本文默认JumpServer为8C16G的服务器配置)。为了方便后续描述,我们可以将JumpServer分为三大组件:

  1. JumpServer应用组件,包含koko、Lion等;
  2. JumpServer缓存组件,主要为Redis缓存;
  3. JumpServer数据库组件,主要为MySQL 或 MariaDB数据库。

单机部署场景

JumpServer单机部署并不是单单指采用单台机器部署,而是包含了三大组件都为单节点部署(即组件单节点)。所以JumpServer的单机部署分为All In One方式和独立部署方式,如下图:
d252f02478a775493c6c2df8042d850c_image-2023-5-9_10-46-11_version=1&modificationDate=1683600372000&api=v2
是否采用单机部署主要取决于两方面因素:

  1. 访问资产并发数量,也就是同时在线会话数;
  2. 整体管理的资产数量。

按照实际经验,这两方面因素为与的关系,也就是这两因素必须都具备,可采用单机部署。具体分界线在:资产总数的应该小于500;字符会话并发不超过100,图形会话不超过50,具体可参考下表进行部署设计:

高可用部署场景

同单机部署一样,高可用部署也分为整体高可用(All in one高可用)和独立节点高可用,如下图:


高可用部署场景和单机部署场景的本质区别在于数据的完整性和服务连续性要求不一样。高可用部署可以在单机部署场景上满足以下两个企业需求:

  1. 数据库数据和录像数据可以实时备份;
  2. 服务可以连续提供,当其中主节点有问题时可以立即切换备节点继续提供服务。

所以,是否采用高可用部署取决于对服务连续性的要求,和资产数、并发数无直接关系,因为高可用部署方案并不能提高并发处理能力。具体可参考下表进行部署设计:

集群部署场景

JumpServer集群部署主要用于资产访问大并发场景,目的在于提高会话处理能力。


集群部署同样支持业务的高可用,具备以下特点:

  1. 资产较多,会话并发大的情况(字符会话并发超过200以上,图形会话超过100以上)。
  2. 资产规模增加快,并发会并发话量增加快,需要JumpServer的处理能力能够随着资产规模的增加而能够快速扩容;
  3. 任何节点宕机不影响平台的正常使用,保证可用节点数1+以上就能保证业务正常访问。

集群的规模可以随着访问并数的增加而动态扩容增加,和资产数量无直接关系。所以是否采用集群部署主要取决于访问会话并发数。

分布式部署场景

JumpServer分布式部署场景不同于其他场景部署。分布式部署主要用于资产多地域或者网多络区域分布,并且对访问运维入口也有相应的要求。


JumpServer分布式部署具备以下特点:

  1. 用户的资产分布在不同的区域(网络)位置,需要通过堡垒机统一管理的同时,并且不同区域的人员可以就近访问堡垒机;
  2. 不同区域的资产、用户、权限、审计等,可以由管理员统一设置与管理,也可以由管理员设置多租户模式,进行管理权限分管。

当然如果不同的地域资产并发也交较多或者也要求业务连续性等。分布式部署可以扩展为集群分布式部署或者高可用分布式部署。如下:


JumpServer网域分布式不同于上述方案,网域主要为统一运维入口。如果区域访问并发不高,所有人员集中访问,可以采用网域方案。

具体采用那种分布式部署方案需要综合考虑每个区域的资产数量和并数量,具体可参考下表进行部署设计:

综合推荐场景表

1 个赞

很全了,涵盖了各种场景 :love_you_gesture:

可以的,官方方案吗,有些部署方案自己搞不定啊

搞不定?企业版来搞定!

这不是今年没预算吗 :dog:

:rofl:预算就像X沟,挤挤总会有的

不是海绵的水嘛 :grinning:

:smirk:不够标题党,不能吸引人

今年预算有了不 :grin:

今年有预算了没