腾讯云上搭建JumpServer高可用堡垒机

时间: 2024-10-09 11:26:21

一句话概括:

在腾讯云上实现JumpServer高可用架构,避免单节点故障导致的服务意外停止。

一、面临的挑战

(一)单个JumpServer实例可能无法满足并发需求增长

(二)在非集群环境中,数据一致性难以保证;

(三)单一节点无法实现负载均衡,容易单一节点过载

二、方案概述

(一)部署架构

为满足平台高可用性,保证各节点数据一致性,本次设计集群部署架构。核心服务与数据库服务拆分部署,数据库采用主主部署,保证数据库的高可用;JumpServer 节点采用两个节点集群,保证应用高可用性,具体情况如下。

(二)JumpServer集群部署模式

JumpServer采用两个节点服务,组成集群,前端使用nginx负载均衡做高可用,分担负载。审计录像配置自动上传至共享存储,审计日志保存到数据库当中。

(三)MySQL数据库部署模式

MySQL数据库主要保存JumpServer核心数据,包括资产信息、授权信息、审计信息等。各个节点连接数据库时对数据库的带宽与时延要求不高,各个JumpServer节点统一连接到一个数据库(vip),同时,规定资产、用户、授权的变更在一个数据中心入口进行,保证数据一致性。使用云数据库 TencentDB for MySQL来减少运维成本,也可以保护数据安全。

(四)Redis数据库部署模式

Redis数据库中无持久化数据。使用云数据库 TencentDB for Redis来减少运维成本。

(五)共享存储配置

集群节点共享一组静态文件,如 Celery 任务列表,前端 logo 等静态文件,利用 文件存储CFS作为共享存储,存放该系列文件,以便集群任务同步。该目录下文件不影响主要功能运行,出现故障时,不影响各自集群运行。

同时考虑录像存储未来将占用大量空间,将录像存放至可扩展的共享存储,以便后续存放与审计查看。

(六)节点资源需求

本次部署所需要的资源如下:

角色数量资源配置部署说明
JumpServer节点2台CentOS/RedHat以上
2C8G60G
JumpServer节点,前端采用负载均衡方式。
/opt/jumpserver/core/data目录挂载到共享目录下
MySQL数据库1台云数据库MySql 8.0
2C4G100G
使用云数据库 TencentDB for MySQL
Redis数据库1台云数据库Redis 6.2
内存版2G
使用云数据库 TencentDB for Redis
共享存储1台512G以上存放集群共享静态文件以及录像。
负载均衡1nginx软负载均衡
4C8G100G
作为节点访问入口

(七)案例部署

准备两台云服务器,按要求部署:

组件
JumpServer01部署JumpServer应用,/opt/jumpserver/core/data目录挂载到共享目录下
JumpServer02部署JumpServer应用,/opt/jumpserver/core/data目录挂载到共享目录下

启动JumpServer服务

新建一个负载均衡,配置监听器,将两台服务器绑定后端服务。

通过负载均衡的公网IP访问JumpServer。

关闭一台服务器的JumpServer服务,负载均衡公网IP仍可访问JumpServer,体现出集群部署的优势。

三、方案预算

名称配置数量单位费用/年
云服务器 CVM规格:2vCPU,8GiB;操作系统:Centos7.9 64位;
系统盘:60GiB
26035.76元
负载均衡CLB实例规格:共享型;带宽值:5Mbps12679.24元
文件存储CFS资源类型:通用标准型;容量:512GiB12150.40元
云数据库MySql版本: 8.0;架构:单节点;
规格: 2vCPU,4GiB;硬盘:100GiB
12304.00元
云数据库Redis兼容版本:6.2;产品版本:内存版;
内存容量:2G
11513.92元
总价14683.32元

以上只是列举了部分JumpServer高可用堡垒机的应用场景和功能,想要了解更多欢迎企微或电话咨询客服小姐姐。