ECS集群容量与架构安全配置指南

一、2~50 台 ECS 集群容量结论

1. 能不能扛住?够用吗?

结合你的架构:ECS 业务集群 + ALB 负载均衡 + DCDN 全站加速 + OSS 静态资源 + RDS 数据库 + Redis 缓存

  • 2~10 台:中小站点、企业官网、管理后台、小程序、日均几万 UV 完全够用;

  • 10~50 台:中大型资讯、工具站、多商户后台、几十万日 UV 都能承载;

  • 扩容逻辑:按 ECS 配置分配权重(高配高权重、低配低权重),加权轮询调度,不用改架构,直接新增 ECS 加入后端服务器组即可。

只要配套 RDS、Redis、CDN 不瓶颈,单纯 Web 应用层 50 台 ECS 属于很大规模,绝大多数生产场景完全充足。

2. 调度选择:加权轮询配置要点

ALB 后端服务器组调度算法选 加权轮询 round_robin 示例分配:

  • 8 核 16G 高配机器:权重 150~200

  • 4 核 8G 标准机器:权重 100

  • 2 核 4G 低配机器:权重 50 流量会按权重比例自动分发,性能强的服务器承载更多请求。 同时开启健康检查,故障 ECS 自动剔除,流量全部转移至其他节点。

二、完整隐藏 ECS 真实公网 IP 方案(三层隔离,完全不透 IP)

整体访问链路(无任何渠道直连 ECS)

用户 → DCDN/CDN 边缘节点 → ALB 负载均衡(唯一对外暴露公网 IP) → 内网 ECS 集群

分三层操作实现隐藏

1. DNS 域名解析:只指向 CDN,绝不指向 ECS/ALB 公网

域名做 CNAME 记录到 DCDN 加速域名,不要 A 记录绑定 ALB/ECS IP 外部用户只能拿到 CDN 节点 IP,看不到 ALB、ECS 真实地址。

2. CDN 回源设置:回源地址填 ALB 公网 IP

CDN 只和 ALB 通信,完全不感知后端 ECS 存在。

3. ECS 安全组核心配置(最关键,杜绝公网直连)

  1. 所有 ECS 实例解绑公网 IP(推荐) ECS 只使用内网 IP 通信,本身没有公网出入口,外部彻底无法访问;

  2. 若必须保留 ECS 公网 IP(特殊运维),安全组严格限制:

    1. 入方向 80/443 端口:仅放行ALB 内网网段,禁止 [0.0.0.0/0](0.0.0.0/0);

    2. 远程 SSH 22 端口:仅放行公司办公固定公网 IP,禁止全网开放;

  3. 关闭 ECS 所有公网相关服务,外部无法通过 IP 直接打开网站。

4. ALB 作为唯一对外入口

整个架构只有 ALB 拥有公网 IP,后端 ECS 全部内网化,黑客、爬虫无法扫描到业务服务器真实 IP。

三、现有架构梳理(你已定方案)

  • Web 服务:2~50 台 ECS,ThinkPHP8 前台网站 + 管理后台

  • 静态资源:OSS 存储图片、附件,CDN 加速分发

  • 数据库:RDS MySQL

  • 流量调度:ALB 加权轮询负载均衡

  • 分发层:DCDN 全站加速全国访问

四、生产环境必须补充的注意事项(分模块)

(一)集群无状态改造(多 ECS 访问不冲突,重中之重)

1. Session 统一 Redis 存储(解决后台登录跳机退出)

所有 ECS TP8 统一配置 Redis 会话,禁止本地文件 session


 

// config/session.php 'type' => 'redis', 'host' => '云Redis内网地址', 'expire' => 7200,

管理后台登录、权限状态多服务器共享,切换节点不会掉线。

2. 本地文件全部剥离,不存业务数据

  1. 用户上传图片、视频:全部直传 OSS,不落地 ECS 磁盘;

  2. 网站静态缓存、日志:

    1. 短期缓存放 Redis;

    2. 持久日志统一挂载阿里云 NAS,所有 ECS 共享日志目录;

  3. 模板编译缓存:可挂载 NAS 共享目录,避免每台机器重复生成缓存。

3. 代码统一发布,保证 50 台 ECS 代码完全一致

禁止单台机器手动改代码,使用标准化发布方式:

  • Git + 批量发布工具(云效、Ansible);

  • 发布时分批灰度更新,不一次性全部重启,避免全站中断;

  • 发布前预编译 Composer、模板缓存,每台环境同步。

(二)ALB 负载均衡生产配置规范

  1. ALB 实例选择双可用区部署,单可用区故障不中断服务;

  2. 监听配置:

    1. 80 端口强制 301 跳转 HTTPS;

    2. HTTPS 证书部署在 ALB,后端 ECS 只用 80 内网 HTTP,减轻服务器加解密消耗;

  3. 会话保持开启,Cookie 植入模式,适配管理后台长时间登录;

  4. 健康检查独立页面 /health.html,只返回 200 状态,轻量不耗资源;

  5. 后端长连接开启,减少 TCP 握手开销,提升并发。

(三)RDS 数据库优化(集群最容易出现的瓶颈)

  1. 业务分离:前台读多、后台写多,开启 RDS 读写分离;

    1. 写请求走主库;

    2. 列表、详情查询走只读实例,分流 ECS 查询压力;

  2. 内网访问 RDS,ECS 只使用 RDS 内网地址连接,不走公网;

  3. 定时备份、开启 SQL 审计、慢查询日志,监控数据库 CPU/IO;

  4. ThinkPHP 开启数据库查询缓存,重复查询减少数据库压力。

(四)OSS + CDN 安全 & 成本管控

  1. OSS Bucket 权限设置为私有读,通过 CDN 回源鉴权,禁止公开读;

  2. CDN 配置 Referer 防盗链、URL 时效签名,防止外部盗刷图片流量;

  3. 静态资源缓存策略:图片、JS、CSS 缓存 30 天,过滤 URL 参数提升缓存命中率;

  4. 大文件开启分片回源,减少回源失败概率;

  5. 设置 CDN 带宽峰值上限,防止 CC 攻击产生巨额账单。

(五)Redis 缓存规范

  1. 独立购买云 Redis,不部署在 ECS 上;

  2. 区分业务缓存:session、页面缓存、接口数据缓存分开前缀;

  3. 开启持久化,防止 Redis 重启丢失登录会话;

  4. RDS 查询结果、高频接口数据全部缓存,大幅降低数据库压力。

(六)Nginx 统一配置(所有 ECS 完全相同)

  1. 透传真实客户端 IP(CDN+ALB 双层转发)


 

real_ip_header X-Forwarded-For; set_real_ip_from 10.0.0.0/8; # ALB内网网段

TP8 request->ip() 获取真实访客 IP,方便后台日志、风控; 2. 开启 Gzip 压缩 HTML、JS、CSS,减少传输流量; 3. 限制单请求文件上传大小,防止超大文件拖垮 ECS; 4. 关闭 Nginx 版本号隐藏,减少服务器信息泄露。

(七)安全防护整套体系

  1. ECS 安全组:仅放行 ALB 内网、运维固定 IP,关闭全网开放端口;

  2. ALB 接入阿里云 WAF:拦截 SQL 注入、XSS、爬虫、CC 攻击;

  3. 后台管理后台增加二次防护:

    1. IP 白名单(仅办公 IP 可访问后台路由);

    2. 验证码、登录失败锁定、接口请求限流;

  4. 所有域名 HTTPS 全站加密,禁止 HTTP 明文传输;

  5. 定期更新 ECS 系统补丁、PHP、Nginx 版本,修复漏洞。

(八)监控与告警(生产环境必备)

  1. ECS 监控:CPU、内存、磁盘使用率、磁盘 IO,超过 80% 触发短信告警;

  2. ALB 监控:QPS、并发连接、5xx/4xx 错误率、后端 ECS 健康状态;

  3. RDS 监控:CPU、连接数、慢查询、磁盘满预警;

  4. CDN 监控:流量峰值、缓存命中率、404 盗链统计;

  5. Redis 监控:内存占用、连接数、缓存命中率;

  6. 配置电话 / 短信告警,故障第一时间通知运维。

(九)高可用 & 容灾注意点

  1. ECS 分散部署在多个可用区,不要全部放在同一可用区,机房故障整体不宕机;

  2. 定时全链路测试:手动关闭任意一台 ECS,验证流量自动切换、业务无报错;

  3. 数据备份:RDS 自动备份、OSS 跨区域复制备份;

  4. 限流降级:高并发高峰期对非核心接口限流,保障前台、管理后台核心功能可用。

(十)管理后台特殊优化

  1. 后台接口单独做缓存,减少频繁查询数据库;

  2. 后台上传文件统一走 OSS,大文件上传使用分片上传;

  3. 后台路由增加访问频率限制,防止暴力破解;

  4. 前后台资源路径分离,CDN 可单独配置后台资源缓存规则。

五、极简总结

  1. 2~50 台加权轮询 ECS 集群,搭配 CDN+ALB+RDS+OSS+Redis 架构,覆盖绝大多数网站 / 管理后台业务,扩容简单;

  2. 隐藏 ECS 真实 IP 核心:域名走 CDN、CDN 回源 ALB、ECS 仅内网通信、安全组锁死端口、解绑 ECS 公网 IP;

  3. 核心遗漏注意点:Redis 共享 Session、统一文件存储、代码批量发布、RDS 读写分离、WAF 安全防护、全链路监控告警、多可用区容灾、CDN 防盗链限流。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐