COST09-BP03 动态供应资源
资源按计划预置。这种预置可以基于需求(例如通过自动扩展来实现),也可以基于时间(需求可以预测,基于时间提供资源)。这些方法可以尽可能减少超额预置或预置不足的情况。
未建立这种最佳实践的情况下暴露的风险等级: 低
实施指导
您可以使用 AWS Auto Scaling
基于需求的供应: 利用云的弹性来供应资源以满足不断变化的需求。利用 API 或服务功能,以编程方式动态改变架构中云资源的数量。这使您能够在架构中扩展组件,并在需求高峰期间自动增加资源数量以保持性能,也可以在需求量降低时减少容量以降低成本。
AWS Auto Scaling
Auto Scaling 提供自动资源发现功能,以帮助您在工作负载中找到可以配置的资源,它具有内置的扩展策略来优化性能、成本或者在两者之间取得平衡,并提供预测性扩展来协助应对定期出现的峰值。
Auto Scaling 可以实施手动、计划或基于需求的扩展。您还可以使用来自 Amazon CloudWatch
当构建基于需求的方法时,请注意两个重要事项。首先,了解您必须以多快的速度预置新资源。其次,了解供应和需求之间的差额将发生变化。您必须准备好应对需求变化的速度,并准备好应对资源故障。
ELB
基于时间的供应: 基于时间的方法可以协调资源容量以满足可预测或时间明确定义的需求。此方法通常不依赖资源的利用水平。基于时间的方法可以确保资源在需要的特定时间可用,并且提供时不会因启动流程和系统或一致性检查而发生延迟。使用基于时间的方法,您可以在繁忙时段提供额外的资源或增加容量。
您可以使用计划的 Auto Scaling 来实施基于时间的方法。工作负载可以在定义的时间按计划扩展或缩减(例如办公时间开始时),从而确保用户就位或需求出现时资源可用。
您还可以利用 AWS API 和 SDK
您可以使用 API 来扩展环境中的资源大小(纵向扩展)。例如,可以通过更改实例大小或分类纵向扩展生产工作负载。这可以通过停止和启动实例,以及选择不同的实例大小或分类来实现。这种技巧也可以应用于其他资源,如 Amazon Elastic Block Store(Amazon EBS)弹性卷,您可以在使用时对其进行修改以增加大小、调整性能(IOPS)或更改卷类型。
当构建基于时间的方法时,请注意两个重要事项。首先,使用模式的一致性如何? 其次,如果模式发生更改会产生什么影响? 您可以通过两种方式提高预测的准确性:监控工作负载和使用商业智能。如果您发现使用模式发生重大更改,可以调整时间,以确保提供覆盖范围。
实施步骤
-
配置基于时间的调度: 对于可预测的需求变化,基于时间的扩展可以及时提供正确的资源量。如果资源创建和配置的速度不够快,无法响应需求变化,也可使用这种方法。根据工作负载分析,使用 AWS Auto Scaling 配置计划扩缩。
-
配置 Auto Scaling: 要根据活动工作负载指标配置扩展,请使用 Amazon Auto Scaling。使用分析并配置 Auto Scaling 以在正确的资源级别上触发,并确保工作负载在所需的时间内扩展。
资源
相关文档: