讲解腾讯云国际弹性伸缩启动配置、伸缩组、容量范围、指标策略、冷却时间、CLB 健康检查和缩容边界。
腾讯云国际弹性伸缩不是简单设置“CPU 高就加机器”。一个可用的伸缩方案至少包含启动配置、伸缩组、最小与最大容量、扩缩容策略、冷却时间、健康检查和负载均衡。应用如果把会话或文件只保存在本机,即使实例数量自动增加,业务也未必能正确承接流量。
默认配置:在腾讯云国际中文控制台“弹性伸缩 → 伸缩组”创建组,先准备已验收镜像与启动配置,选择多个可用区并关联现有 CLB。最小容量保证一台故障后仍能服务,最大容量受预算、配额和数据库连接限制。伸缩会创建和销毁 CVM;实例、磁盘、CLB、监控和流量会收费,本机数据会随缩容丢失。

配置前先判断应用能否横向扩展
- 用户会话可存入 Redis、数据库或由负载均衡保持合理会话;
- 上传文件进入 COS 等共享存储,而不是只写入单台 CVM;
- 应用配置和版本可由镜像、用户数据或发布系统稳定恢复;
- 实例退出前可以停止接收新请求并完成连接排空;
- 数据库和外部 API 能承受扩容后的并发连接。
核心对象怎样配合
| 对象 | 职责 | 容易忽略的问题 |
|---|---|---|
| 启动配置 | 定义镜像、规格、磁盘、密钥和安全组 | 更新配置不等于自动替换现有实例 |
| 伸缩组 | 定义网络、容量范围和实例集合 | 子网容量与可用区库存不足会阻止扩容 |
| 伸缩策略 | 按指标、时间或计划调整容量 | 单点瞬时指标容易频繁抖动 |
| 冷却时间 | 给新容量生效和指标恢复留出时间 | 过短会重复扩容,过长会延迟响应 |
| 健康检查 | 判断实例能否继续服务 | 只检查端口可能看不到业务依赖故障 |
最小、期望和最大容量怎么定
最小容量应覆盖一台实例故障或一个可用区异常时的基础服务需求;期望容量是正常状态下维持的实例数;最大容量要同时受预算、子网 IP、CLB 后端规模以及数据库承载能力约束。
生产环境不要把最小容量设为零后期待突发请求能立即被处理。实例创建、初始化、应用启动和健康检查都需要时间,低延迟业务需要保留基础容量。
指标与冷却时间如何选择
CPU 适合计算密集型应用,但对队列消费、连接数或内存瓶颈未必敏感。更可靠的策略会结合请求量、队列长度、响应延迟和业务错误率。扩容阈值可以偏积极,缩容应更谨慎,并使用更长观察窗口,避免刚创建的实例又被立即回收。
上线前完成一次真实演练
- 用固定版本启动配置创建测试实例;
- 验证用户数据、依赖下载和应用启动时间;
- 确认实例通过 CLB 健康检查后才进入流量;
- 模拟指标触发扩容,并检查数据库连接和日志;
- 模拟缩容,确认连接排空、任务迁移和本地数据边界;
- 记录从触发到可用的总时长,反推阈值和基础容量。
边界条件
弹性伸缩提高的是容量调整能力,不会自动让有状态应用变成高可用。启动配置、镜像、地域库存、配额、子网地址和依赖服务任何一项不可用,都可能导致伸缩活动失败。
启动配置必须可重复
镜像、启动脚本、安全组、登录方式和角色要在独立实例验证。脚本不能保存长期密钥或执行一次性数据库迁移。会话放共享缓存,上传放对象存储,任务进可重试队列;否则新节点不一致,缩容还会丢数据。
操作顺序
- 创建启动配置,核对镜像、机型、系统盘、安全组和登录方式。
- 创建伸缩组,选择 VPC、可用区、最小、期望与最大容量。
- 关联 CLB,设置能代表应用可用性的健康端口和路径。
- 创建监控策略并设置冷却时间,避免实例未就绪又连续触发。
阻塞分支
- 无法创建:检查配额、可用区库存、镜像与规格兼容。
- 实例立即移出:查 CLB 端口、安全组、启动时间和健康响应。
- 不扩容:看活动记录、最大容量和指标是否达到阈值。
- 频繁扩缩:增加合理冷却并排除定时任务尖峰,先查下游瓶颈。
验收回退
用逐步测试流量触发扩容,确认新 CVM 进入 CLB 健康状态、版本一致且无本地会话依赖。手动移出一台,验证系统补容;缩容前验证连接排空和任务重试。保存旧启动配置与容量值。异常时暂停策略,切回旧配置并恢复期望容量,旧节点在新组稳定前不释放。
缩容必须有连接排空
被选中缩容的 CVM 应先停止接收新请求,等待现有连接和后台任务结束,再释放实例。上传、WebSocket 和长任务要设置可接受的排空时间与重试。若 CLB 健康检查刚失败就立即销毁节点,现场日志可能丢失;应先集中日志并保留伸缩活动记录。生产缩容前还要证明本地盘不是唯一数据副本。

