本文概览了在云上构建面向生产的可用性和观测能力的关键步骤:从网络与可用区规划、负载均衡与健康检查、计算与数据库冗余,到自动伸缩、日志与指标采集及告警通知,配合备份与演练,能把系统可用性与故障恢复能力提升到可量化的水平。
优先在VPC中跨多个可用区部署子网,利用cn2优化的出口链路降低对中国大陆或亚太往返延迟。在创建VPC与子网时,按AZ分配API/应用/数据的角色,并配置路由表、NAT网关与弹性公网IP。同时设置合理的安全组与网络ACL,最小化横向访问权限。
使用华为云的弹性负载均衡(ELB)做前端流量分发,启用跨AZ转发以实现高可用。为后端实例配置HTTP(S)健康检查(路径、超时、间隔、连续失败阈值),对会话敏感的应用可开启会话保持或在应用层做无状态改造,把SSL终止交给ELB以简化证书管理。
无状态应用建议使用CCE(Kubernetes)或ECS实例结合镜像与启动脚本,按AZ分布副本并使用反亲和(anti-affinity)策略避免同主机故障域。数据库采用RDS的主备复制或主从读写分离,持久化文件放OBS或云硬盘并开启定期快照,确保数据可恢复。
在业务负载波动时启用Auto Scaling(AS)策略,基于CPU、内存、请求QPS或自定义指标扩缩容,并设置冷却时间与最小/最大实例数。结合ELB的健康检查,当异常实例下线时AS可自动补充;同时把备份策略与跨区域复制纳入灾备计划。
集中使用监控与日志服务:Cloud Eye(CES)采集主机与应用指标,LTS收集和索引日志,SMN用于告警通知。容器化环境可以引入Prometheus + Grafana做自定义监控,使用Fluentd/Logstash把日志推送到LTS或OBS,建立可视化大盘和故障回溯流程。
告警防止问题扩大。基于不同严重级别设置阈值与抖动(如CPU>85%持续5分钟触发警告),并把通知链路串接邮件、短信、企业微信与Webhook(自动化脚本或工单系统)。同时设置告警自动化响应(如触发扩容、重启或回滚)以缩短MTTR。
备份频率应根据RPO/RTO制定:对关键数据库每日或更频繁增量备份并保留多份快照,日志保留策略按合规与查询需求设定。每季度开展容灾演练,验证跨AZ与跨区域故障切换、备份恢复与应用回滚流程,确保文档与自动化脚本可用。
从设计上采用最小权限原则配置安全组和IAM策略,前端通过WAF和SSL保障应用层安全;内部通信使用VPC私有网络和安全组细化端口规则。针对华为云的CN2链路,优化BGP策略和CDN加速静态内容,减少源站负载。
建议按步骤落地:1)选择新加坡Region并启用CN2网络;2)创建多AZ VPC与子网;3)部署ECS/CCE跨AZ实例并接入ELB;4)配置AS、RDS主备与OBS;5)启用Cloud Eye/LTS/SMN并建大盘与告警;6)设置备份、日志保留与演练。成本方面可采用包年/包月预留实例、Spot实例用于非关键任务、对无状态服务采用按需弹性伸缩以降低浪费。