亚马逊AWS官方博客

新增功能 – 机器学习支持的 EC2 预测性扩展

当我回顾 AWS 的历史,思考哪些功能的发布真正体现了云的动态性和按需性这一根本性质,两次发布浮现在我的脑海里:2006 年 Amazon EC2 的发布和 2009 年 CloudWatch 指标、Auto Scaling 和 Elastic Load Balancing 的同时发布。第一次发布使用户可以借助强大的计算能力;第二次发布则让用户可以快速根据需求变化进行调整。从那时以来我们为这些服务增加了许多的功能,但对我而言,这些服务仍然是中心,仍然是根本!

新推出预测性扩展功能
今天,我们浓重推出预测性扩展功能,让 Auto Scaling 变得更为强大。借助您实际使用 EC2 时收集的数据,加上我们自己观测的数十亿数据点,我们使用经过充分训练的机器学习模型来预测您的预期流量(以及 EC2 使用量),包括每日和每周的使用模式。模型至少需要一天的历史数据才能开始预测;然后将每隔 24 小时重新评估以作出未来 48 小时的预测。

我们已尽最大努力让它真正方便易用。您只需一次点击即可启用此功能,然后使用三个步骤的向导来选择您希望观察和扩展的资源。您可以为您的 EC2 实例配置一些热机时间,您还可以在超棒的可视界面中查看实际使用量和预测使用量。 预测进程会生成一份扩展计划,此计划可以驱动一组或多组自动扩展的 EC2 实例。

新的扩展计划生效后,您将可以在每日和每周的高峰时间来临前主动扩展。这将提高网站或企业的总体用户体验,此外还可以帮助避免过度预置,从而降低您的 EC2 费用。

下面详细了解……

预测性扩展功能操作
第一步是打开 Auto Scaling 控制台并单击 开始使用

我可以通过三种方式来选择要观察并进行预测性扩展的资源:

我会选择一个 EC2 Auto Scaling 组(未显示),然后分配我的组名称,勾选一个扩展策略,然后选中 Enable predictive scaling (启用预测性扩展)和 Enable dynamic scaling (启用动态扩展)选项:

从以上屏幕中可以看出,我可以使用预测性扩展、动态扩展或预测性扩展和动态扩展。预测性扩展的原理是预测负载并计划最低容量;动态扩展则会使用目标跟踪将指定的 CloudWatch 指标调整为特定的目标值。这两个模式都非常好用,因为预测性扩展已经设置了计划的最低容量。

我还可以对预测性扩展进行微调,但默认值非常适合入门使用:

我可以预测三个预选指标中的一个 [位于 General settings(通用设置)中]:

也可以使用自定义指标:

我可以选择只进行预测但不实际进行扩展:

我可以设置一个缓冲时间,以便新启动您的实例可以热机,做好在预测时间处理流量的准备:

再点击几次后,扩展计划将会创建,学习/预测过程开始! 我将返回控制台,可以看到 CPU 利用率(我所选择的指标)和实例数量的预测值:

我可以查看将会实施预测结果的扩展操作:

我还可以查看 Auto Scaling 组的 CloudWatch 指标:

这就是您需要进行的所有操作!

对于预测性扩展需要注意以下几点:

时间 — 一旦完成初步预测并制定了扩展计划,则将会每天更新计划并作出未来 2 天的预测。

成本 — 您可以免费使用预测性扩展功能,甚至可以降低您的 AWS 费用。

资源 — 我们目前支持 EC2 实例,并且计划在未来支持其他 AWS 资源类型。

适用范围 — 预测性扩展非常适合定期会出现流量高峰的网站和应用程序。但它不适合用于处理非周期性或无法预测的负载突增性情。

长期基线 — 预测性扩展根据历史需求来维持最低容量;这确保了指标中的任何缺口不会导致意外缩减容量。

现已推出
预测性扩展功能现已推出,您现在就可以在下列区域使用:美国东部(弗吉尼亚北部)美国东部(俄亥俄)美国西部(俄勒冈)欧洲(爱尔兰)亚太地区(新加坡)

 

 

本篇作者

Jeff Barr

AWS 首席布道师; 2004年开始发布博客,此后便笔耕不辍。