Skip to content

混合云架构设计

参考架构

标准混合云架构

┌─────────────────────────────────────────────────────────────┐
│                        用户访问层                             │
│              企业内网用户 / 互联网用户 / 移动用户              │
└──────────────────────────┬──────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│                      接入与安全层                             │
│         WAF / DDoS 防护 / API Gateway / 负载均衡             │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────────────────────────────────────────┐
│                      应用层(双活)                            │
│   私有云应用集群(主)    ←→    公有云应用集群(备/弹性)       │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────────────────────────────────────────┐
│                      数据层                                   │
│   私有云数据库(主)      ←→    公有云数据库(备)              │
│   私有云对象存储          →     公有云对象存储(归档)          │
└──────────────────────────────────────────────────────────────┘

网络设计

IP 地址规划

私有云网络:
  管理网络:10.0.0.0/24
  业务网络:172.16.0.0/16
  存储网络:192.168.100.0/24

公有云网络(阿里云 VPC):
  VPC CIDR:172.17.0.0/16
  业务子网:172.17.1.0/24(可用区A)
  业务子网:172.17.2.0/24(可用区B)

注意:私有云和公有云 IP 段不能重叠!

路由设计

私有云路由:
  默认路由 → 私有云出口防火墙
  172.17.0.0/16 → 专线/VPN 接口(到公有云)

公有云路由:
  默认路由 → 公有云 NAT 网关
  172.16.0.0/16 → VPN 网关(到私有云)

应用部署模式

模式一:主备模式

私有云(主):
  - 承载 100% 生产流量
  - 数据实时同步到公有云

公有云(备):
  - 热备状态,随时可切换
  - 平时可承载测试/开发流量

切换条件:
  - 私有云故障
  - 私有云维护窗口
  - 手动切换(演练)

模式二:主动-主动(双活)

私有云(50% 流量):
  - 承载核心业务
  - 数据双向同步

公有云(50% 流量):
  - 承载非核心业务
  - 弹性扩展

DNS 负载均衡:
  - 基于地理位置路由
  - 基于健康检查自动切换

模式三:弹性扩展

私有云(基础容量):
  - 承载日常 80% 的流量
  - 资源利用率保持 60-70%

公有云(弹性容量):
  - 平时关闭(节省成本)
  - 高峰期自动扩容
  - 高峰过后自动缩容

触发条件:
  - 私有云 CPU 利用率 > 75%,持续 5 分钟
  - 预测性扩容(基于历史数据)

数据同步方案

数据库同步

MySQL 主从复制(私有云 → 公有云):

私有云 MySQL(主)
    ↓ binlog 复制(通过专线/VPN)
公有云 MySQL(从)

配置要点:
  - 复制延迟监控(建议 < 1 秒)
  - 网络中断时的断点续传
  - 切换时的数据一致性验证
sql
-- 在公有云从库配置复制
CHANGE MASTER TO
  MASTER_HOST='172.16.1.100',  -- 私有云主库 IP
  MASTER_USER='replication',
  MASTER_PASSWORD='repl-password',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=154,
  MASTER_SSL=1,
  MASTER_SSL_CA='/etc/mysql/ssl/ca.pem';

START SLAVE;
SHOW SLAVE STATUS\G

对象存储同步

python
# 使用 rclone 同步私有云对象存储到阿里云 OSS
# rclone.conf 配置

[h3c-rgw]
type = s3
provider = Ceph
endpoint = http://rgw.private.example.com:7480
access_key_id = your-access-key
secret_access_key = your-secret-key

[aliyun-oss]
type = s3
provider = Alibaba
endpoint = https://oss-cn-hangzhou.aliyuncs.com
access_key_id = your-aliyun-ak
secret_access_key = your-aliyun-sk
bash
# 同步命令(增量同步)
rclone sync h3c-rgw:production-bucket aliyun-oss:backup-bucket \
  --transfers 10 \
  --checkers 20 \
  --log-file /var/log/rclone-sync.log \
  --log-level INFO

# 定时任务(每小时同步一次)
echo "0 * * * * rclone sync h3c-rgw:prod aliyun-oss:backup >> /var/log/rclone.log 2>&1" | crontab -

监控与可观测性

统一监控架构

私有云监控(Prometheus)
    ↓ 数据推送
公有云监控(云监控)

UniCloud 统一监控平台
    ├── 统一告警(邮件/短信/企业微信)
    ├── 统一大盘(Grafana)
    └── 统一日志(Elasticsearch)

关键监控指标

混合云健康度指标:
  - 专线/VPN 延迟和丢包率
  - 数据同步延迟(复制 lag)
  - 跨云 API 调用成功率
  - 各云资源利用率对比
  - 跨云流量费用

褚成志的云与计算笔记