PERF02-BP05 利用可用的资源弹性
云让您能够通过各种机制灵活地动态扩展和缩减资源,以便满足不断变化的需求。将这种弹性与计算相关指标相结合,工作负载可以自动响应更改,以使用所需的资源,并且仅使用所需的资源。
常见反模式:
-
为了涵盖可能的峰值而过度预置。
-
通过手动增加容量来对警报作出反应。
-
增加容量而不考虑预置时间。
-
在扩展事件之后,您将保留增加的容量,而不是缩减容量。
-
监控的指标不直接反映工作负载的真实需求。
建立此最佳实践的好处:需求可以固定、可变、遵循一种模式或突增。实现供需匹配能够尽可能降低工作负载的成本。监控、测试和配置工作负载弹性可优化性能、节省成本以及在使用需求变化时提高可靠性。尽管也可以通过手动方法实现此目标,但在更大规模上这么做是不切实际的。基于指标的自动化方法可确保资源在任何给定时间满足需求。
在未建立这种最佳实践的情况下暴露的风险等级:中等
实施指导
应使用基于指标的自动化来利用弹性,目标是让您拥有的资源供应与工作负载所需的资源需求相匹配。例如,您可以使用 Amazon CloudWatch 指标来监控资源
结合与计算相关的指标,工作负载可以自动响应这些变化,并利用一系列最优的资源来实现其目标。您还必须为预置时间和潜在的资源缺乏做好计划。
实例、容器和函数都能够作为服务的一项功能、以 Application Auto Scaling
验证您的指标是否可以根据所部署的工作负载类型来扩展或缩减弹性资源。例如,如果您正在部署一个视频转码应用程序,CPU 利用率预计为 100%,并且不应将此作为您的主要指标。或者,您也可以衡量等待缩放您的实例类型的转码作业的队列深度。
工作负载部署需要处理扩展事件和缩减事件。安全地缩减工作负载组件,与在需要时扩展资源同样重要。
创建扩缩事件的测试方案,以确认工作负载按预期方式运行。
实施步骤
-
利用历史数据来分析一段时间内工作负载的资源需求。提出特定问题,例如:
-
您的工作负载是否稳定并随着时间的推移以已知的速率增加?
-
您的工作负载是否按季节性、可重复的模式增加和减少?
-
您的工作负载是否会突增? 是否可以预测峰值?
-
-
尽可能利用监控服务和历史数据。
-
标记资源有助于进行监控。使用标签时,请参阅标记最佳实践。此外,标签可帮助您管理、识别和整理资源。
-
借助 AWS,您可以使用大量不同方法以实现供需匹配。成本优化支柱最佳实践(COST09-BP01 至 COST09-03)说明了如何使用以下方法计算成本:
-
创建缩减事件的测试方案,以确认工作负载按预期方式运行。
-
大多数非生产实例在不使用时都应该停止。
-
对于使用 Amazon Elastic Block Store(Amazon EBS)时的存储需求,充分利用基于卷的弹性。
-
对于 Amazon Elastic Compute Cloud(Amazon EC2)
,请考虑使用 Auto Scaling 组,此功能通过在需求激增时自动增加计算实例数,并在需求减少时减小容量,从而能够优化性能并降低成本。
资源
相关最佳实践:
相关文档:
相关视频:
相关示例: