最近我介绍过 DynamoDB Auto Scaling,并演示了它如何使用多个 CloudWatch 警报来实现 DynamoDB 表的自动容量管理。此功能在后台使用了一种更为通用的 Application Auto Scaling 模型,我们计划以后逐渐在多项不同 AWS 服务中投入使用该模型。
这一新的 Auto Scaling 模型包括一项重要的新功能,我们称之为目标跟踪。在创建使用目标跟踪的 Auto Scaling 策略时,需要为特定 CloudWatch 指标选择一个目标值。然后,Auto Scaling 旋转相应的旋钮 (打个比方) 推动指标趋向于目标,同时调整相关的 CloudWatch 警报。比起使用初始步进扩展策略类型来手动设置范围和阈值而言,采用对应用程序有意义的任何指标驱动的单元来指定期望的目标,通常来说要更简单,也更为直接。不过,您可以结合使用目标跟踪和步进扩展来实现高级扩展策略。例如,您可以使用目标跟踪实现扩展操作,使用步进扩展实现缩减操作。
现在面向 EC2
现在我们为 EC2 Auto Scaling 增加了目标跟踪支持。您现在可以创建应用程序负载均衡器请求计数、CPU 负载、网络流量或自定义指标 (Request Count per Target 是新指标,也是在今天发布) 驱动的扩展策略:
这些指标都具有同一个重要的特性:添加额外的 EC2 实例会推动指标下降 (但不会改变总体负载),反之亦然。
要创建使用目标跟踪的 Auto Scaling 组,只需输入策略名称、选择一个指标,然后设置所需的目标值:
您可以选择禁用策略的缩减功能。如果禁用,您可以手动缩减,也可以使用独立的策略。您可以使用 AWS Management Console, AWS Command Line Interface (CLI),或 AWS SDKs 来创建目标跟踪策略。如果要使用目标跟踪,请注意以下事项:
只要每个目标引用不同的指标,您可以在单个 Auto Scaling 组中跟踪多个目标。扩展始终选择能推动实现最高容量的策略。
如果指标数据不足,则不会扩展。
Auto Scaling 会补偿指标快速、瞬时的波动,尽力将相应的容量波动减到最小。
您可以通过 Auto Scaling API 或 AWS Command Line Interface (CLI)为自定义指标设置目标跟踪。
大多数情况下,您应该选择根据基于 1 分钟频率 (也称为详细监控) 发布的指标进行扩展。根据基于 5 分钟的指标进行扩展,将导致响应时间变慢。
现已推出
这项新功能现已推出,您可以立即开始使用,无需额外费用。要了解更多信息,请阅读《Auto Scaling 用户指南》中的目标跟踪扩展。
本文转载自 AWS 技术博客。
原文链接:
https://amazonaws-china.com/cn/blogs/china/new-target-tracking-policies-for-ec2-auto-scaling-2/
评论