REL07-BP03 在检测到某个工作负载需要更多资源时获取资源 - AWS Well-Architected 框架

REL07-BP03 在检测到某个工作负载需要更多资源时获取资源

主动扩展资源来满足需求,避免影响可用性。

很多 AWS 服务会自动扩展资源来满足需求。如果使用 Amazon EC2 实例或 Amazon ECS 集群,您可以根据与工作负载需求对应的使用情况指标,配置这些实例或集群会在何时自动扩展。对于 Amazon EC2,可以使用平均 CPU 利用率、负载均衡器请求数量或网络带宽横向扩展(或横向缩减)EC2 实例。而对于 Amazon ECS,可以使用平均 CPU 利用率、负载均衡器请求数量和内存利用率横向扩展(或横向缩减)ECS 任务。在 AWS 上使用 Target Auto Scaling,Autoscaler 将扮演“家庭恒温器”的角色,增加或减少资源来保持指定的目标值(例如,70% CPU 利用率)。

Amazon EC2 Auto Scaling 还可以执行 Predictive Auto Scaling,该操作利用机器学习来分析每个资源的历史工作负载,并且定期预测未来两天的负载。

利特尔法则可帮助计算您需要多少计算实例(EC2 实例、并发 Lambda 函数,等等)。

L = λW

L = 实例数量(或系统中的平均并发值)

λ = 收到请求的平均速率(请求数量/秒)

W = 每个请求在系统中所花的平均时间(秒)

例如,假设每秒请求数为 100,若每个请求所需的处理时间为 0.5 秒,则需要 50 个实例才能满足需求。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

资源

相关文档: