0Pricing
Cloud & IT Cert Prep · 课时

计划扩展与预测性扩展

通过计划操作为已知的流量高峰预热容量,并使用预测性扩展自动预测负载。

计划扩展与预测性扩展 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

响应式扩缩容的局限性

动态扩缩容策略(目标跟踪和阶梯扩缩容)是响应式的——只有在指标已经突破阈值后才会响应。对于业务时间高峰、月末批处理或黑色星期五促销等已知且可预测的流量模式,响应式扩缩容速度太慢,因为实例启动和预热需要数分钟。计划扩缩容和预测性扩缩容通过在负载到来之前主动调整容量来解决这一问题。

计划扩缩容操作

计划扩缩容操作会在特定日期和时间,或按照定期的 cron 计划,更改 ASG 的最小容量、最大容量或期望容量。当您确切知道负载何时会增加时,这种方式非常理想——例如在计划中的营销活动前预热,或在夜间流量最低时缩容以节省成本。计划操作会在指定时间覆盖当前的期望容量。

aws autoscaling put-scheduled-update-group-action \
  --auto-scaling-group-name 'MyAppASG' \
  --scheduled-action-name 'MorningScaleUp' \
  --recurrence '0 7 * * MON-FRI' \
  --min-size 4 \
  --desired-capacity 8 \
  --max-size 20

定期操作的 Cron 语法

计划操作使用Unix cron 格式:minute hour day-of-month month day-of-week。所有时间均为UTC。常见模式包括用于扩容的 0 8 * * 1-5(UTC 时间工作日每天早上 08:00)和用于缩容的 0 20 * * *(每天晚上 20:00)。您可以在同一个 ASG 上创建多个计划操作,例如每天分别创建一个扩容操作和一个缩容操作。

# Scale down every night at 22:00 UTC
aws autoscaling put-scheduled-update-group-action \
  --auto-scaling-group-name 'MyAppASG' \
  --scheduled-action-name 'NightScaleDown' \
  --recurrence '0 22 * * *' \
  --min-size 2 \
  --desired-capacity 2 \
  --max-size 20

一次性计划操作与重复计划操作

计划操作可以是一次性的(在特定开始时间执行一次),也可以是重复性的(按照 cron 计划执行)。对于产品发布这类已知的未来事件,一次性操作非常合适。重复性操作则适用于每天或每周的流量周期等规律模式。您还可以为重复操作设置开始时间和结束时间,以便在指定日期范围内自动启用和停用计划。

# One-time scale-up for a product launch event
aws autoscaling put-scheduled-update-group-action \
  --auto-scaling-group-name 'MyAppASG' \
  --scheduled-action-name 'ProductLaunchScaleUp' \
  --start-time '2026-07-15T14:00:00Z' \
  --min-size 10 \
  --desired-capacity 20 \
  --max-size 50

与动态策略的交互

计划操作和动态扩缩容策略可以共存。计划操作会在预定时间设置新的基准容量。之后,动态策略(目标跟踪或分步扩缩容)会继续在更新后的最小值和最大值范围内调整容量。例如:早上的计划操作将 min=4、desired=8;白天负载增加时,目标跟踪会将容量扩容到 15;晚上的计划操作随后将 min=2、desired=2 重置。

Predictive Scaling 简介

Predictive Scaling 使用机器学习分析 CloudWatch 指标中的历史负载模式,并预测未来的容量需求。它会在预测的负载到来之前主动安排扩容操作,通常会提前 5 到 60 分钟。Predictive Scaling 最适合具有重复性日流量或周流量周期的工作负载。随着收集到更多数据,它会持续更新预测结果。

启用 Predictive Scaling

您可以通过将 PredictiveScaling 策略附加到 ASG 来启用 Predictive Scaling。您需要指定指标对:一个负载指标(驱动扩缩容的指标,例如 CPU 或 ALB 请求数)和一个扩缩容指标(您在每个实例上跟踪的指标)。AWS 随后会预测负载指标,并计算保持扩缩容指标达到目标值所需的实例数量。

aws autoscaling put-scaling-policy \
  --auto-scaling-group-name 'MyAppASG' \
  --policy-name 'PredictiveScalingPolicy' \
  --policy-type PredictiveScaling \
  --predictive-scaling-configuration '{
    'MetricSpecifications': [{
      'TargetValue': 40.0,
      'PredefinedMetricPairSpecification': {
        'PredefinedMetricPairType': 'ASGCPUUtilization'
      }
    }],
    'Mode': 'ForecastAndScale'
  }'

Predictive Scaling 模式

Predictive Scaling 有两种模式:ForecastOnly 只生成预测结果,不实际更改容量,适合在提交自动扩缩容之前查看预测结果;ForecastAndScale 既生成预测结果,也自动应用容量更改。建议先使用 ForecastOnly 运行几周以验证准确性,然后再切换到 ForecastAndScale。AWS 要求至少有24 小时的指标数据,才能生成第一个预测结果。

缓冲时间与最大容量缓冲

Predictive Scaling 会提前执行扩容操作,但您可以配置 SchedulingBufferTime,以便更早地预热实例。将 SchedulingBufferTime 设置为 5 分钟,表示在预测结果判断需要容量之前 5 分钟添加容量。您还可以设置 MaxCapacityBuffer,允许 ASG 按百分比超出预测需求进行扩容,从而通过额外容量缓冲来应对预测不准确的情况。

组合使用 Predictive Scaling 与目标跟踪

对于具有变化性但可预测的工作负载,推荐的模式是将两者结合使用:Predictive Scaling 通过预先配置容量来处理预期的周期性负载,而目标跟踪扩缩容则处理超出预测结果的意外峰值。两者结合可以同时提供主动和被动的保障。ASG 会在两种策略的扩容建议中安全地采用更保守的建议。

何时选择不同的扩缩容类型

当流量峰值完全可预测且您知道确切时间(例如事件驱动或营业时间模式)时,请使用计划扩缩容。当模式会重复出现但确切时间可能变化时,请使用Predictive Scaling,机器学习会自动学习模式。请将目标跟踪作为始终启用的动态安全保障,用于应对意外负载。对于完全随机的负载,仅依靠目标跟踪或分步扩缩容即可。SAA-C03 考试经常要求您选择运营效率最高的方法;对于重复性的周期工作负载,Predictive Scaling 通常是最佳选择。

快速检查

测试您对本课程中 AWS Solutions Architect(SAA-C03)相关概念的理解。

课程回顾

在本课程中,您学习了:计划扩缩容使用 cron 表达式在已知时间更改 ASG 容量,适合可预测的事件或重复性的营业时间模式;Predictive Scaling 使用历史 CloudWatch 数据进行机器学习,在负载到来之前主动扩容;组合使用Predictive Scaling + 目标跟踪可以同时提供主动和被动保障,从而实现最具韧性的扩缩容策略。接下来,我们将学习 Instance Refresh 和生命周期挂钩,了解如何进行受控部署。

常见问题解答

「计划扩展与预测性扩展」课时是免费的吗?

是的 — 「计划扩展与预测性扩展」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「计划扩展与预测性扩展」这节课中我会学到什么?

通过计划操作为已知的流量高峰预热容量,并使用预测性扩展自动预测负载。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「计划扩展与预测性扩展」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 启动模板与 ASG 配置
  2. 扩展策略:目标跟踪与分步扩展
  3. 计划扩展与预测性扩展
  4. 实例刷新与生命周期钩子
← 返回 Cloud & IT Cert Prep