华为云企业级 Web 应用部署解决方案
【摘要】 华为云企业级 Web 应用部署解决方案 一、方案概述本方案面向中型企业 Web 应用(如电商平台、SaaS 服务、企业门户),以华为云为底座,构建高可用、高安全、可弹性伸缩的云上架构。方案覆盖网络规划、计算资源、数据存储、负载均衡、安全防护、监控运维六大模块,目标如下:可用性:核心组件跨可用区部署,整体可用性不低于 99.95%。安全性:网络分层隔离,安全组最小权限放通,数据库不暴露公网。...
华为云企业级 Web 应用部署解决方案
一、方案概述
本方案面向中型企业 Web 应用(如电商平台、SaaS 服务、企业门户),以华为云为底座,构建高可用、高安全、可弹性伸缩的云上架构。方案覆盖网络规划、计算资源、数据存储、负载均衡、安全防护、监控运维六大模块,目标如下:
- 可用性:核心组件跨可用区部署,整体可用性不低于 99.95%。
- 安全性:网络分层隔离,安全组最小权限放通,数据库不暴露公网。
- 弹性:业务流量波峰波谷自动伸缩,闲时缩容降本,忙时扩容保稳。
- 可运维:统一监控告警,日志集中管理,故障可快速定位。
二、架构总览
整体采用经典三层架构(接入层 - 应用层 - 数据层),各层之间通过 VPC 子网隔离,仅允许必要的端口通信。
公网用户
|
v
EIP + ELB(弹性负载均衡,公网入口)
|
v
[接入子网] WAF(Web应用防火墙) -> CCE集群 / ECS集群(应用层,跨AZ)
|
v
[数据子网] RDS(主备)+ DCS(缓存)+ OBS(对象存储)
|
v
[管理子网] NAT网关(出公网)+ 监控/日志组件
三、网络规划(VPC + 子网 + 路由)
3.1 VPC 设计
创建一个 VPC,网段使用 192.168.0.0/16,划分为以下子网:
| 子网名称 | 网段 | 用途 | 是否关联公网 |
|---|---|---|---|
| subnet-web | 192.168.1.0/24 | 应用层(ECS/CCE) | 否(通过ELB入) |
| subnet-data | 192.168.2.0/24 | 数据库 + 缓存 | 否 |
| subnet-mgmt | 192.168.3.0/24 | 管理面 + NAT网关 | 是(NAT出) |
| subnet-obs | 192.168.4.0/24 | OBS VPC终端节点 | 否 |
3.2 关键说明
- 应用子网不直接绑EIP:所有入站流量经ELB转发,ECS/CCE节点无需公网IP,缩小攻击面。
- 数据子网完全私网:RDS、DCS仅在192.168.2.0/24内通信,通过安全组限制只有应用子网可访问。
- NAT网关放管理子网:应用节点需要拉取镜像、安装补丁等出站操作,通过NAT网关走公网,避免每个节点绑EIP。
3.3 对应华为云产品
- VPC:虚拟私有云
- 子网:VPC内子网
- 路由表:VPC路由表
- NAT网关:NAT Gateway
- VPC终端节点:VPC Endpoint(用于OBS私网访问)
四、计算资源(ECS / CCE)
4.1 方案选型
推荐使用 CCE(云容器引擎)承载应用层,理由:
- 应用以容器化部署,镜像统一管理,环境一致性好。
- CCE自带节点池弹性伸缩能力,与AS(弹性伸缩)配合实现Pod级和节点级双层伸缩。
- 滚动升级、健康检查、亲和/反亲和调度开箱即用。
若应用尚未容器化,可先用 ECS + AS 弹性伸缩组过渡,后续逐步迁移至CCE。
4.2 CCE 集群规划
| 配置项 | 值 |
|---|---|
| 集群类型 | CCE Turbo(容器+虚拟机混合) |
| 集群版本 | 1.28(当前稳定版) |
| 节点池 | 2个,分别在不同可用区 |
| 节点规格 | s6.large.2(2vCPU / 4GiB)起步 |
| 节点系统盘 | 通用型SSD,50 GiB |
| 节点数据盘 | 高IO,100 GiB |
| 容器网络 | VPC网络模型 |
| 服务网段 | 10.247.0.0/16 |
4.3 弹性伸缩策略
- Pod级HPA:CPU利用率超过70%时扩容,低于30%时缩容,副本数范围2-10。
- 节点级伸缩:节点池最小2节点,最大6节点,根据Pod调度Pending触发节点扩容。
- 冷却时间:扩容冷却300秒,缩容冷却600秒,避免频繁抖动。
4.4 对应华为云产品
- CCE:云容器引擎
- IMS:镜像服务(存放容器镜像)
- AS:弹性伸缩(节点池伸缩)
- ECS:弹性云服务器(非容器化场景)
五、数据存储与缓存
5.1 关系型数据库(RDS)
| 配置项 | 值 |
|---|---|
| 引擎 | MySQL 8.0 |
| 实例规格 | rds.mysql.x1.large.2(2vCPU / 4GiB) |
| 部署模式 | 主备(跨AZ自动切换) |
| 存储类型 | 通用型SSD |
| 存储容量 | 200 GiB |
| 备份策略 | 每天凌晨02:00全量 + 每5分钟增量 |
| 备份保留 | 7天 |
关键安全配置:
- 数据库不开启公网访问,仅通过内网地址连接。
- 安全组仅放通应用子网192.168.1.0/24的3306端口。
- 开启TDE(透明数据加密),加密静态数据。
- 定期使用DAS(数据管理服务)做慢SQL分析。
5.2 缓存(DCS)
| 配置项 | 值 |
|---|---|
| 引擎 | Redis 5.0 |
| 实例类型 | 主备(高可用) |
| 规格 | 2 GiB |
| 网络 | subnet-data |
| 安全组 | 仅放通应用子网6379端口 |
用途:会话缓存、热点数据缓存、限流计数器。
5.3 对象存储(OBS)
| 配置项 | 值 |
|---|---|
| 桶名 | app-uploads-prod |
| 存储类别 | 标准存储 |
| 桶策略 | 私有读写 |
| 生命周期 | 30天后转低频存储,90天后转归档 |
| 版本控制 | 开启 |
| 跨区域复制 | 开启(复制到另一区域桶) |
用途:用户上传文件、静态资源分发、数据库备份归档。
5.4 对应华为云产品
- RDS:关系型数据库服务
- DCS:分布式缓存服务
- OBS:对象存储服务
- EVS:云硬盘(CCE节点数据盘)
- SFS Turbo:文件系统(如需共享文件系统)
- CBR:云备份(统一备份管理)
六、负载均衡与流量入口
6.1 ELB 配置
| 配置项 | 值 |
|---|---|
| 类型 | 独享型ELB |
| 网络类型 | 公网(绑定EIP) |
| 可用区 | 跨AZ |
| 监听器 | HTTPS,443端口 |
| 后端协议 | HTTP,8080端口 |
| 后端服务器组 | CCE节点池(通过Service挂载) |
| 健康检查 | HTTP GET /health,间隔5秒 |
| 会话保持 | 开启(源IP黏性) |
| 证书 | SCC上传的SSL证书 |
6.2 WAF 防护
在ELB前面接入WAF(Web应用防火墙),开启以下防护:
- SQL注入、XSS跨站脚本攻击拦截。
- CC攻击防护(频率限制)。
- 精准防护规则(针对特定URL的访问控制)。
- 告警配置:拦截次数超过阈值时通过SMN发送通知。
6.3 对应华为云产品
- ELB:弹性负载均衡
- WAF:Web应用防火墙
- SCC:SSL证书管理
- EIP:弹性公网IP
- CDN:内容分发网络(静态资源加速,可选)
七、安全防护体系
7.1 安全组规则(最小权限原则)
应用子网安全组(sg-web):
| 方向 | 协议 | 端口 | 源/目的 | 说明 |
|---|---|---|---|---|
| 入向 | TCP | 8080 | ELB内网IP | ELB转发流量 |
| 出向 | TCP | 3306 | subnet-data | 访问数据库 |
| 出向 | TCP | 6379 | subnet-data | 访问缓存 |
| 出向 | TCP | 443 | OBS终端节点 | 访问对象存储 |
| 出向 | TCP | 443 | 0.0.0.0/0 | 拉取镜像(经NAT) |
数据子网安全组(sg-data):
| 方向 | 协议 | 端口 | 源/目的 | 说明 |
|---|---|---|---|---|
| 入向 | TCP | 3306 | subnet-web | 数据库访问 |
| 入向 | TCP | 6379 | subnet-web | 缓存访问 |
7.2 IAM 权限设计
- 运维人员:授予ECS Admin + CCE Admin + VPC Admin,但不含计费和IAM管理权限。
- 开发人员:授予CCE Viewer + RDS Viewer(只读),通过CCE控制台查看日志和Pod状态。
- CI/CD服务账号:仅授予CCE Developer(部署权限)+ IMS Admin(推送镜像),使用AK/SK认证,定期轮换。
- 数据库管理员:通过DAS连接,不开通数据库公网端口,不授予RDS管理控制台权限以外的网络权限。
7.3 其他安全措施
- 主机安全:开启HSS(主机安全服务),配置基线检查、漏洞扫描、入侵检测。
- 数据安全:RDS开启TDE加密;OBS敏感桶开启SSE-KMS加密。
- DDoS防护:默认开启基础防护,关键业务可购买DDoS高防包。
- 审计:开启CTS(云审计服务),记录所有API调用,日志保留365天。
7.4 对应华为云产品
- IAM:统一身份认证服务
- 安全组:VPC安全组
- WAF:Web应用防火墙
- HSS:主机安全服务
- CTS:云审计服务
- KMS:密钥管理服务
- DDoS:DDoS防护
八、监控与运维
8.1 监控体系(CES)
通过CES(云监控服务)配置以下告警规则:
| 监控对象 | 指标 | 阈值 | 告警动作 |
|---|---|---|---|
| ECS节点 | CPU利用率 | 大于85%持续5分钟 | SMN通知+自动扩容 |
| ECS节点 | 内存利用率 | 大于90%持续5分钟 | SMN通知 |
| RDS实例 | CPU利用率 | 大于80%持续5分钟 | SMN通知 |
| RDS实例 | 连接数使用率 | 大于85%持续5分钟 | SMN通知 |
| ELB | 后端健康检查异常 | 异常实例大于1 | SMN紧急通知 |
| OBS桶 | 4xx错误率 | 大于5%持续10分钟 | SMN通知 |
8.2 日志管理(LTS)
- 应用日志:CCE内通过Fluent Bit采集容器stdout/stderr日志,发送至LTS。
- 访问日志:ELB开启访问日志,转存至OBS桶,按天分区。
- 审计日志:CTS日志转存至OBS,长期归档。
- 日志告警:配置LTS关键字告警(如ERROR、Exception出现频率超阈值时通知)。
8.3 自动化运维
- CI/CD流水线:使用CodeArts Pipeline,代码提交 - 编译构建 - 镜像推送IMS - CCE滚动部署。
- 配置管理:使用CCE的ConfigMap和Secret管理应用配置,避免硬编码。
- 备份恢复:CBR统一管理ECS磁盘备份和RDS备份,定期执行恢复演练。
8.4 对应华为云产品
- CES:云监控服务
- LTS:日志服务
- SMN:消息通知服务
- CodeArts:软件开发流水线
- CBR:云备份
- DAS:数据管理服务
九、成本优化建议
| 优化项 | 做法 | 预期节省 |
|---|---|---|
| 弹性伸缩 | 闲时自动缩容至最小副本数 | 30%-50% |
| 竞价实例(开发环境) | 非生产环境使用竞价型ECS | 60%-70% |
| OBS生命周期 | 冷数据自动转低频/归档存储 | 40%-60% |
| RDS只读实例按需 | 读流量高峰时临时创建只读实例,低峰释放 | 按需 |
| 包年包月 | 长期稳定资源(RDS主实例、ELB)买包年包月 | 20%-30% |
| 资源包 | 购买ECS/RDS资源包抵扣按需用量 | 10%-20% |
十、灾备与高可用设计
10.1 同城高可用(跨AZ)
- CCE节点池分布在两个可用区,Pod反亲和调度确保同一应用Pod跨AZ分布。
- RDS主备实例跨AZ,主库故障自动切换到备库。
- ELB跨AZ,单AZ故障不影响流量分发。
- DCS主备实例跨AZ,主节点故障自动切换。
10.2 异地容灾(跨Region)
- OBS桶开启跨区域复制,数据实时同步到另一区域。
- RDS开启跨区域备份,备份文件复制到另一区域的OBS桶。
- 关键配置(CCE集群模板、应用镜像)在另一区域预置,灾难时可快速拉起。
- 容灾RTO目标:4小时;RPO目标:15分钟。
10.3 对应华为云产品
- SDR:存储容灾服务
- CBR:云备份(跨区域备份)
- OBS跨区域复制
- RDS跨区域备份
十一、部署步骤摘要
- 创建网络基础:VPC - 子网 - 路由表 - NAT网关 - 安全组。
- 创建数据层:RDS主备 - DCS缓存 - OBS桶。
- 创建计算层:CCE集群 - 节点池(2AZ)- 部署应用工作负载。
- 配置流量入口:EIP - ELB - 监听器 - 后端服务器组 - 健康检查。
- 接入安全防护:WAF接入ELB - HSS安装到节点 - IAM权限分配。
- 配置监控告警:CES告警规则 - LTS日志采集 - SMN通知主题。
- 配置CI/CD:CodeArts仓库 - 构建任务 - 部署任务 - 流水线编排。
- 验证与演练:压测验证弹性伸缩 - 模拟AZ故障验证高可用 - 恢复演练验证备份。
十二、涉及的华为云产品清单
| 类别 | 产品 | 用途 |
|---|---|---|
| 网络 | VPC / 子网 / 路由表 | 私有网络隔离 |
| 网络 | EIP | 公网入口IP |
| 网络 | NAT Gateway | 内网出公网 |
| 网络 | VPC Endpoint | OBS私网访问 |
| 计算 | CCE | 容器化应用编排 |
| 计算 | ECS | 虚拟机(非容器化场景) |
| 计算 | IMS | 容器镜像管理 |
| 计算 | AS | 弹性伸缩 |
| 存储 | EVS | 云硬盘 |
| 存储 | OBS | 对象存储 |
| 存储 | SFS Turbo | 共享文件系统(可选) |
| 数据库 | RDS | 关系型数据库 |
| 数据库 | DCS | 分布式缓存 |
| 负载均衡 | ELB | 流量分发 |
| 安全 | WAF | Web应用防火墙 |
| 安全 | HSS | 主机安全 |
| 安全 | IAM | 身份认证与权限 |
| 安全 | CTS | 操作审计 |
| 安全 | KMS | 密钥管理 |
| 监控 | CES | 云监控 |
| 监控 | LTS | 日志服务 |
| 监控 | SMN | 消息通知 |
| 运维 | CodeArts | CI/CD流水线 |
| 运维 | CBR | 云备份 |
| 运维 | DAS | 数据库管理 |
十三、方案小结
本方案以华为云原生服务为核心,通过VPC网络分层、CCE容器编排、RDS主备高可用、ELB流量分发、WAF安全防护、CES监控告警六大支柱,构建了一套面向中型Web应用的生产级云上架构。方案的核心设计原则是:
- 最小暴露面:应用和数据层均不直接暴露公网,所有入口流量经ELB和WAF过滤。
- 跨可用区冗余:从节点到数据库到负载均衡,每一层都跨AZ部署,单AZ故障不影响业务。
- 弹性与成本平衡:双层伸缩(Pod级+节点级)应对流量波动,配合竞价实例和OBS生命周期管理实现成本优化。
- 可观测性优先:监控、日志、审计三管齐下,任何异常可在5分钟内告警通知。
- 安全纵深防御:从网络隔离到主机安全到数据加密到操作审计,层层设防。
实际落地时,建议先在开发环境完整部署验证,再通过CodeArts流水线灰度发布到生产环境,并在上线后定期执行容灾演练,确保架构的可靠性持续有效。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)