1. 前言与目标概述
目标:在京东云(香港)区域构建高可用(HA)应用部署并实现自动扩容(Auto Scaling)。本文以典型三层应用为例(负载均衡 + 多台应用服务器 + 后端数据库),给出从网络、镜像、负载均衡到弹性伸缩的逐步可执行操作指南。
2. 先决条件与账号设置
- 确保有京东云账号并开通香港Region权限;
- 申请或准备SSH密钥对、必要的镜像(CentOS/Ubuntu/Windows);
- 开通相关服务:云主机(CVM)、VPC、负载均衡(CLB/Load Balancer)、弹性伸缩(Auto Scaling)、云监控与RDS(如需)。
3. 网络与安全组(VPC)配置
- 在香港Region新建VPC,创建至少两个子网(子网A、子网B)用于跨可用区部署;
- 配置路由表并启用NAT网关(若应用需要出网);
- 创建安全组:允许负载均衡健康检查端口(例如80/443或自定义健康检查端口),允许SSH(仅管理网段/公司IP),允许应用端口访问数据库端口(来自子网内部)。
4. 制作基础镜像与启动脚本
- 在一台测试实例上安装必要运行环境(nginx/Apache、应用运行时、监控agent、日志上报);
- 写好cloud-init或用户数据脚本(user-data),实现开机自动:拉取代码、配置环境变量、注册到监控并创建/上报健康检查接口(如/health)。示例要点:设置日志路径、启动命令、优雅关闭处理(trap SIGTERM 以关闭进程并上报)。
5. 部署负载均衡(CLB)与健康检查
- 创建公网或内网负载均衡,根据是否需要外网访问选择类型;
- 配置监听器(80/443),后端端口与健康检查路径(建议使用HTTP /health,超时和间隔设置合理,如间隔10s,连续3次失败判定下线);
- 将临时测试实例加入后端池,确认流量能正常转发并且健康检查通过。
6. 配置弹性伸缩组与启动配置
- 创建“启动模板/配置”:指定镜像、实例规格、密钥、用户数据脚本、所属子网与安全组;
- 建立弹性伸缩组(ASG):设置最小/期望/最大实例数(例如 min=2, desired=2, max=10),选择跨两个子网以保证可用区冗余;
- 将负载均衡后端组绑定到ASG,这样ASG新建实例会自动加入LB并接收健康检查。
7. 设置伸缩策略与策略类型
- CPU/内存阈值策略:如CPU平均>65% 持续5分钟则扩容+1;CPU<30% 持续10分钟则缩容-1;配置冷却时间(cooldown)避免抖动;
- 按需/计划策略:业务高峰时段预置扩容(通过时间调度),特殊事件可手动触发;
- 如果支持自定义指标,可使用QPS或队列长度作为触发器(需先将指标上报到云监控)。
8. 日志、监控与告警设置
- 在启动脚本中部署云监控Agent并上报重要指标:CPU、内存、请求延时、错误率;
- 配置告警规则:ASG扩容失败、健康检查大量失败、负载均衡后端全部离线等发送通知(邮件/短信/钉钉);
- 日志集中:将应用日志推送到日志服务(或ELK/OSS),便于定位扩容后实例异常。
9. 灰度/滚动发布与状态检查
- 使用镜像版本或启动脚本中拉取特定版本的方式控制发布;
- 先在一台实例上验证新版本,再通过ASG调整期望实例数为0->逐步替换或使用蓝绿策略(创建新ASG并切换LB);
- 健康检查+日志验证新实例稳定后再缩容或切换流量。
10. 测试扩容与压力验证
- 使用ab/siege/jMeter在测试环境施压,观察ASG是否按策略扩容,记录扩容延迟与冷却策略是否合理;
- 验证会话保持(若需要):开启负载均衡会话粘性或使用分布式session(Redis)避免粘性失效导致问题。
11. 生产注意事项与成本控制
- 数据库需独立部署RDS并考虑读写分离、连接池优化;纵向或横向扩展数据库时注意事务与复制延迟;
- 成本控制:设置合理max实例数、使用按需+预留实例组合、监控空闲资源;启用实例自动回收策略以避免长期低利用。
12. 常见问题问答
问:京东云弹性伸缩新实例注册到负载均衡失败,如何排查?
答:检查启动脚本是否正确执行(查看云主机控制台user-data日志)、安全组是否允许LB健康检查端口、镜像是否包含健康检查接口、实例是否在正确子网并有出网权限。
13. 常见问题问答
问:如何避免扩容时出现短时间内流量激增导致故障?
答:设置合理的冷却时间与扩容步长(一次扩容不要过多),使用分阶段扩容或基于更稳定指标(如响应时间或队列长度)触发,并使用预热与流量限流机制。
14. 常见问题问答
问:异地容灾(跨区域)是否必要,以及在香港Region如何考虑?
答:若对可用性要求极高建议配置跨Region容灾(例如香港+内地或海外其他Region),同步数据使用灾备库或异步复制;同时注意DNS切换与数据一致性策略。
来源:如何在京东云香港服务器实现高可用部署与自动扩容方案