使用自定义指标的高级预测性扩展策略 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用自定义指标的高级预测性扩展策略

在预测性扩展策略中,您可以使用预定义指标或自定义指标。当预定义指标(CPU、网络 I/O 和 Application Load Balancer 请求计数)未充分描述应用程序负载时,自定义指标非常有用。

使用自定义指标创建预测性扩展策略时,您可以指定由提供的其他 CloudWatch 指标 Amazon,也可以指定自己定义和发布的指标。您还可以使用公制数学来汇总现有指标并将其转换为 Amazon 不会自动跟踪的新时间序列。例如,通过计算新的总和或平均值来组合数据中的值时,该操作称为执行聚合。生成的数据称为聚合

以下部分包含了有关如何为构造策略的 JSON 结构的最佳实践和示例。

最佳实践

以下最佳实践可帮助您更有效地使用自定义指标:

  • 对于负载指标规范,最有用的指标是作为一个整体表示 Auto Scaling 组负载的指标,而不管该组的容量如何。

  • 对于扩展指标规范,要扩展的最有用指标是每个实例的平均吞吐量或利用率指标。

  • 扩展指标必须与容量成反比。也就是说,如果 Auto Scaling 组中的实例数量增加,则扩展指标应该减少大致相同的比例。为确保预测性扩展按预期采取行动,负载指标和扩展指标还必须彼此之间密切关联。

  • 目标利用率必须与扩展指标的类型匹配。对于使用 CPU 利用率的策略配置,这是目标百分比。对于使用吞吐量(例如请求数或消息数)的策略配置,这是在任何一分钟间隔内每个实例的目标请求数或目标消息数。

  • 如果未遵循这些建议,那么时间序列的预测未来值可能会不正确。要验证数据是否正确,您可以在 Amazon EC2 Auto Scaling 控制台中查看预测值。或者,在创建预测性扩展策略后,检查调用 GetPredictiveScalingForecastAPI 返回的LoadForecastCapacityForecast对象。

  • 我们强烈建议您在仅预测模式下配置预测式扩展,以便在预测式扩展开始主动扩展容量之前对预测进行评估。

先决条件

要将自定义指标添加到预测性扩缩策略,您必须具有 cloudwatch:GetMetricData 权限。

要指定自己的指标而不是 Amazon 提供的指标,必须先将指标发布到 CloudWatch。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的发布自定义指标

如果发布自己的指标,请确保以至少五分钟的频率发布数据点。Amazon EC2 Auto Scaling 会 CloudWatch 根据所需的周期长度从中检索数据点。例如,负载指标规范使用每小时指标来衡量应用程序的负载。 CloudWatch 使用您发布的指标数据,通过将所有数据点与每个一小时内的时间戳聚合在一起,为任何一小时的时间段提供单个数据值。

限制

  • 您可以在一个指标规范中查询最多 10 个指标的数据点。

  • 为满足此限制,一个表达式算作一个指标。