阿里云服务器配置负载均衡
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 安全组核心配置(最关键,杜绝公网直连)
-
所有 ECS 实例解绑公网 IP(推荐) ECS 只使用内网 IP 通信,本身没有公网出入口,外部彻底无法访问;
-
若必须保留 ECS 公网 IP(特殊运维),安全组严格限制:
-
入方向 80/443 端口:仅放行ALB 内网网段,禁止 [0.0.0.0/0](0.0.0.0/0);
-
远程 SSH 22 端口:仅放行公司办公固定公网 IP,禁止全网开放;
-
-
关闭 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. 本地文件全部剥离,不存业务数据
-
用户上传图片、视频:全部直传 OSS,不落地 ECS 磁盘;
-
网站静态缓存、日志:
-
短期缓存放 Redis;
-
持久日志统一挂载阿里云 NAS,所有 ECS 共享日志目录;
-
-
模板编译缓存:可挂载 NAS 共享目录,避免每台机器重复生成缓存。
3. 代码统一发布,保证 50 台 ECS 代码完全一致
禁止单台机器手动改代码,使用标准化发布方式:
-
Git + 批量发布工具(云效、Ansible);
-
发布时分批灰度更新,不一次性全部重启,避免全站中断;
-
发布前预编译 Composer、模板缓存,每台环境同步。
(二)ALB 负载均衡生产配置规范
-
ALB 实例选择双可用区部署,单可用区故障不中断服务;
-
监听配置:
-
80 端口强制 301 跳转 HTTPS;
-
HTTPS 证书部署在 ALB,后端 ECS 只用 80 内网 HTTP,减轻服务器加解密消耗;
-
-
会话保持开启,Cookie 植入模式,适配管理后台长时间登录;
-
健康检查独立页面
/health.html,只返回 200 状态,轻量不耗资源; -
后端长连接开启,减少 TCP 握手开销,提升并发。
(三)RDS 数据库优化(集群最容易出现的瓶颈)
-
业务分离:前台读多、后台写多,开启 RDS 读写分离;
-
写请求走主库;
-
列表、详情查询走只读实例,分流 ECS 查询压力;
-
-
内网访问 RDS,ECS 只使用 RDS 内网地址连接,不走公网;
-
定时备份、开启 SQL 审计、慢查询日志,监控数据库 CPU/IO;
-
ThinkPHP 开启数据库查询缓存,重复查询减少数据库压力。
(四)OSS + CDN 安全 & 成本管控
-
OSS Bucket 权限设置为私有读,通过 CDN 回源鉴权,禁止公开读;
-
CDN 配置 Referer 防盗链、URL 时效签名,防止外部盗刷图片流量;
-
静态资源缓存策略:图片、JS、CSS 缓存 30 天,过滤 URL 参数提升缓存命中率;
-
大文件开启分片回源,减少回源失败概率;
-
设置 CDN 带宽峰值上限,防止 CC 攻击产生巨额账单。
(五)Redis 缓存规范
-
独立购买云 Redis,不部署在 ECS 上;
-
区分业务缓存:session、页面缓存、接口数据缓存分开前缀;
-
开启持久化,防止 Redis 重启丢失登录会话;
-
RDS 查询结果、高频接口数据全部缓存,大幅降低数据库压力。
(六)Nginx 统一配置(所有 ECS 完全相同)
-
透传真实客户端 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 版本号隐藏,减少服务器信息泄露。
(七)安全防护整套体系
-
ECS 安全组:仅放行 ALB 内网、运维固定 IP,关闭全网开放端口;
-
ALB 接入阿里云 WAF:拦截 SQL 注入、XSS、爬虫、CC 攻击;
-
后台管理后台增加二次防护:
-
IP 白名单(仅办公 IP 可访问后台路由);
-
验证码、登录失败锁定、接口请求限流;
-
-
所有域名 HTTPS 全站加密,禁止 HTTP 明文传输;
-
定期更新 ECS 系统补丁、PHP、Nginx 版本,修复漏洞。
(八)监控与告警(生产环境必备)
-
ECS 监控:CPU、内存、磁盘使用率、磁盘 IO,超过 80% 触发短信告警;
-
ALB 监控:QPS、并发连接、5xx/4xx 错误率、后端 ECS 健康状态;
-
RDS 监控:CPU、连接数、慢查询、磁盘满预警;
-
CDN 监控:流量峰值、缓存命中率、404 盗链统计;
-
Redis 监控:内存占用、连接数、缓存命中率;
-
配置电话 / 短信告警,故障第一时间通知运维。
(九)高可用 & 容灾注意点
-
ECS 分散部署在多个可用区,不要全部放在同一可用区,机房故障整体不宕机;
-
定时全链路测试:手动关闭任意一台 ECS,验证流量自动切换、业务无报错;
-
数据备份:RDS 自动备份、OSS 跨区域复制备份;
-
限流降级:高并发高峰期对非核心接口限流,保障前台、管理后台核心功能可用。
(十)管理后台特殊优化
-
后台接口单独做缓存,减少频繁查询数据库;
-
后台上传文件统一走 OSS,大文件上传使用分片上传;
-
后台路由增加访问频率限制,防止暴力破解;
-
前后台资源路径分离,CDN 可单独配置后台资源缓存规则。
五、极简总结
-
2~50 台加权轮询 ECS 集群,搭配 CDN+ALB+RDS+OSS+Redis 架构,覆盖绝大多数网站 / 管理后台业务,扩容简单;
-
隐藏 ECS 真实 IP 核心:域名走 CDN、CDN 回源 ALB、ECS 仅内网通信、安全组锁死端口、解绑 ECS 公网 IP;
-
核心遗漏注意点:Redis 共享 Session、统一文件存储、代码批量发布、RDS 读写分离、WAF 安全防护、全链路监控告警、多可用区容灾、CDN 防盗链限流。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)