全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

基于云服务器的内网中台架构搭建教程

最近更新时间:2026-07-24 11:19:57

本实践主要介绍如何利用金山云VPC、KEC、SLB等产品搭建企业内网服务中台架构。

背景信息

拓扑结构

本实践中的架构采用零公网入口设计,通过私网负载均衡统一接收内部服务间调用流量(东西向流量),后端云服务器按业务模块分属不同子网实现网络隔离,并跨可用区部署以实现机房级容灾;云数据库采用主实例+只读实例架构;NAT网关仅绑定管理子网,为运维跳板机提供唯一、可控的出网能力,业务服务器无外网访问权限,满足企业内网安全要求。

拓扑结构如下:

涉及产品清单

层级

产品

作用

网络隔离

VPC + 多子网

按业务模块划分子网,实现东西向流量隔离与规划

运维入口

跳板机KEC

唯一公网入口,通过SSH跳转管理内网资源

网络出口

NAT 网关

仅管理子网出网使用,业务子网无出网路由

服务发现

私网 SLB

各业务模块的调用入口

计算层

KEC 云服务器

按模块分属不同子网,纯私网部署

环境和网络规划

资源

CIDR

地域

可用区

用途

VPC(dain_vpc)

192.168.0.0/16

华北1(北京)

-

整体网络空间

私网共享型SLB(dn_subnetZH)

192.168.69.0/24

-

部署私网SLB

私网子网A(dn_subnet3)

192.168.68.0/24

A

部署KEC、KRDS

数据库终端子网(dn_subnetZH)

192.168.69.0/24

A

主库

数据库终端子网(dn_subnetZH)

192.168.69.0/24

B

只读RDS

私网子网B(dtest_subnet)

192.168.70.0/24

B

部署KEC、KRDS

私网子网C(dn_subnet2)

192.168.67.0/24

A

跳板机

约束限制

操作步骤

步骤一:创建 VPC 和子网

  1. 登录网络控制台,在左侧导航选择 虚拟私有网络(VPC)

  2. 进入 VPC 列表页,点击 新建VPC

  3. 在弹出的提示窗口中,根据环境与网络规划,参考如下示例,配置各项参数。

    配置项

    示例及说明

    名称

    dain_vpc

    IPv4网段

    192.168.0.0/16

    IPv6网段

    勾选无IPv6网段

    子网1

    对应网络规划中的私网子网A

    • 名称:本示例为dn_subnet3

    • 类型:云服务器子网。

    • 可用区:本示例为可用区A

    • IPv4网段:本示例为192.168.68.0/24

    子网2

    对应网络规划中的私网子网B

    • 名称:本示例为dn_subnet

    • 类型:选择云服务器子网

    • 可用区:本示例为可用区B

    • IPv4网段:本示例为192.168.70.0/24

    子网3

    对应网络规划中的数据库和负载均衡终端子网

    • 名称:本示例为dn_subnetZH

    • 类型:选择终端子网

    • IPv4网段:本示例为192.168.69.0/24

    子网4

    对应网络规划中的私网子网C

    • 名称:本示例为dn_subnet2

    • 类型:选择云服务器子网

    • 可用区:本示例为可用区A

    • IPv4网段:本示例为192.168.67.0/24

  4. 点击确定,完成虚拟网络VPC和子网的创建。

步骤二:创建跳板机云服务器

华北1(北京)可用区 A 进行云服务器创建,该云服务器将作为跳板机使用,是唯一的公网入口。

  1. 登录KEC控制台,在左侧导航栏,选择实例,点击+新建。

  2. 网络配置选择步骤一提前创建好的VPC网络并关联私网子网C(dn_subnet2),其他参数参考KEC用户指南进行设置即可。

  3. 创建成功的跳板机云服务器如下。

步骤三:创建业务云服务器

根据前文操作,在华北1(北京)可用区 A 和可用区 B ,创建业务云服务器。纯私网部署,分属于不同的子网。

  1. 登录KEC控制台,在左侧导航栏,选择实例,点击+新建。

  2. 依次在可用区A和可用区B,分别创建云服务器,参数要求如下,详细操作可参考KEC用户指南进行配置。

    • 业务云服务器1:所属可用区B网络配置选择步骤一提前创建好的VPC网络并关联私网子网B(dn_subnet)。

    • 业务云服务器2:所属可用区A网络配置选择步骤一提前创建好的VPC网络并关联私网子网A(dn_subnet3)。

  3. 创建成功的业务云服务器如下。

步骤四:创建NAT网关

  1. 返回网络控制台,在左侧导航选择NAT网关 > NAT1.0

  2. 在页面顶部,选择步骤一创建的 VPC,点击 新建NAT

  3. 新建NAT页面,IP地址数量选择1虚拟私有网络dain_vpc,其他参数自定义。

  4. 点击立即购买,完成NAT的创建。

  5. 点击新建的NAT,进入其详情页面,选择 SNAT页签,绑定前文创建的跳板机云服务器。

  6. 选择跳板机云服务器所在的子网(dn_subnet2),并绑定。

  7. 使用VNC连接跳板机云服务器,执行如下操作,测试跳板机出网。

  8. 使用VNC分别连接业务云服务器,执行如下操作,只能实现内网互通。

  9. 在NAT网关详情页面,选择 DNAT页签,点击创建DNT规则。

  10. 配置跳板机云服务器的远程端口,参数示例如下。

  11. 在本地终端,执行 telent 命令,测试相应端口能够正常连接。

步骤五:业务部署

  1. 通过过公网连接跳板机云服务器,再通过内网连接两台服务主机

  2. 在业务服务器1(daitest1)上执行如下命令,部署相应业务。

    mkdir -p /opt/dtest1 && cd /opt/dtest1
    cat > index.html << 'EOF'
    User Service on daitest1
    EOF
    
    # 使用Python内置HTTP模块启动服务(无需安装任何依赖)
    nohup python3 -m http.server 8080 > http.log 2>&1 &
    
    # 验证监听状态
    netstat -tlnp | grep 8080
    # 应显示 0.0.0.0:8080 处于监听状态
  3. 在业务服务器2(daitest2)上执行如下命令,部署相应业务。

    若没有8080端口没有起来,可能该镜像创建的主机默认没有python3,可以用python2。

    mkdir -p /opt/dtest2 && cd /opt/dtest2
    cat > index.html << 'EOF'
    order Service on daitest2
    EOF
    
    # 使用Python内置HTTP模块启动服务(无需安装任何依赖)
    nohup python3 -m http.server 8080 > http.log 2>&1 &
    
    # 验证监听状态
    netstat -tlnp | grep 8080
    # 应显示 0.0.0.0:8080 处于监听状态

步骤六:创建云数据库MySQL(主实例+只读实例)

  1. 登录云数据库 MySQL控制台,点击 新建实例

  2. 在实例创建页面,参考如下示例,依次创建主实例和只读实例,配置各项参数。

    • 主实例

      • 地域:本示例为华北1(北京)

      • 实例类型:选择单机版

      • 可用区:选择可用区A

      • 网络配置:选择步骤一创建的 VPC 和终端子网

      • 其他配置按个人需求选择。

    • 只读实例

      • 地域:本示例为华北1(北京)

      • 实例类型:选择只读RDS

      • 可用区:选择可用区B

      • 网络配置:选择步骤一创建的 VPC 和终端子网

      • 其他配置按个人需求选择。

  3. 创建成功的实例如下。

步骤七:创建私网负载均衡SLB

  1. 返回网络控制台,在左侧导航选择负载均衡 > 共享型,点击新建

  2. 共享负载均衡创建页面,参考以下示例,配置各项参数。

    • 地域:本示例为华北1(北京)

    • 虚拟私有网络:选择步骤一创建的 VPC

    • 网络类型:选择私网

    • 其他配置按个人需求选择。

  3. 点击立即购买,完成SLB的创建。

  4. 在左侧导航栏,选择共享型>服务器组

  5. 在服务器组(共享型)列表页面,点击新建,参考以下示例完成参数配置,此处绑定业务云服务器。

    在后端服务器列表中,两台业务KEC 的健康状态应显示为健康(约等待几十秒健康检查生效)。

  6. 返回共享型实例列表页,点击新建的负载均衡名称/ID,进入其详情页面。

  7. 选择监听器页签,点击 新建,参考以下示例,配置各项参数。此处需创建两个监听器,端口分别为8080和8081。

  8. 监听器创建完成后,等待端口健康状态,受VPC安全组影响,需要放开8080端口。

步骤八:配置服务间调用与读写分离验证

  1. 从跳板机登录 daitest1,执行如下命令,验证东西向流量。

    # 服务A 调用 服务B(通过私网SLB)
    curl http://192.168.69.2:8081
    
    # 预期返回:order Service on daitest2
  2. 从跳板机登录 daitest2,执行如下命令。

    # 服务B 调用 服务A(通过私网SLB)
    curl http://192.168.69.2:8080
    
    # 预期返回:User Service on daitest1

步骤九:验证数据库读写分离

  1. 登录跳板机,执行如下命令,安装MySQL客户端。

    # 将负载均衡的snat绑定服务主机
    sudo yum install -y mysql
  2. 登录主数据库。

    # 内网连接数据库(写请求应自动路由到主库)
    mysql -h 192.168.69.250 -P 3306 -u admin -p
  3. 验证写操作。

    -- 查看当前连接的数据库节点主机名
    SELECT @@hostname;
    -- 预期:返回主库主机名(如 krds-internal-master)
    
    -- 创建测试数据库和表
    CREATE DATABASE IF NOT EXISTS test_db;
    USE test_db;
    CREATE TABLE IF NOT EXISTS rw_test (id INT PRIMARY KEY, name VARCHAR(50));
    
    -- 执行写操作
    INSERT INTO rw_test VALUES (1, 'test-write');
    -- 预期:插入成功
    
    -- 退出
    EXIT;
  4. 登录只读数据库。

    # 内网连接读数据库
    mysql -h 192.168.69.172 -P 3306 -u admin -p
  5. 验证数据库读取操作。

    USE test_db;
    
    -- 查看当前连接的数据库节点主机名
    SELECT @@hostname;
    -- 预期:返回只读实例主机名,与写操作时的主机名不同
    
    -- 执行读操作
    SELECT * FROM rw_test;
    -- 预期:返回 (1, 'test-write'),数据已同步
    
    -- 退出
    EXIT;
  6. 在只读数据库中,执行如下命令,验证其不可写入。

    USE test_db;
    INSERT INTO rw_test VALUES (2, 'should-fail');
    -- 预期:报错,提示只读实例不接受写操作
    EXIT;

附录:安全组规则

方向

协议

端口

来源

说明

入站

TCP

8080

(本地网络+内网网段)

业务端口

入站

TCP

22

(本地网络+内网网段)

SSH(仅VPC内)

出站

ip

-

0.0.0.0/0

默认允许

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈