REL07-BP02 在检测到对工作负载的破坏时获取资源
如果可用性受到影响,在必要时被动扩展资源,从而还原工作负载的可用性。
首先,您必须配置运行状况检查和关于此类检查的标准,表示在什么时候可用性会因缺少资源而受到影响。然后,通知适当的人员手动扩展资源,或启动自动化以对其进行自动扩展。
可以为您的工作负载手动调整规模(例如,通过 AWS 管理控制台 或 AWS CLI 更改 Auto Scaling 组中 EC2 实例的数量,或者修改 DynamoDB 表的吞吐量来实现)。但是,应尽可能使用自动化(请参阅获取或扩展资源时使用自动化)。
期望结果:在检测到故障或客户体验下降时,启动扩展活动(自动或手动)以恢复可用性。
在未建立这种最佳实践的情况下暴露的风险等级:中等
实施指导
对工作负载中的所有组件实施可观测性和监控,以监控客户体验并检测故障。定义扩展所需资源的手动或自动程序。有关更多信息,请参阅 REL11-BP01 监控工作负载的所有组件以检测故障。
实施步骤
-
定义扩展所需资源的手动或自动程序。
-
扩展程序取决于工作负载中不同组件的设计方式。
-
扩展程序还因所使用的底层技术而异。
-
使用 AWS Auto Scaling 的组件可以使用扩展计划来配置一组用于扩展资源的指令。如果使用 AWS CloudFormation 或为 AWS 资源添加标签,您可以根据应用程序为不同的资源集设置扩展计划。Auto Scaling 提供了针对每个资源自定义的扩展策略建议。创建扩展计划后,Auto Scaling 结合了动态扩展和预测式扩缩方法来支持扩展策略。有关更多详细信息,请参阅扩展计划的工作原理。
-
Amazon EC2 Auto Scaling 会验证您是否拥有适量的 Amazon EC2 实例,可处理您的应用程序负载。您可创建 EC2 实例的集合,称为 Auto Scaling 组。您可以指定每个 Auto Scaling 组中的最小和最大实例数,Amazon EC2 Auto Scaling 会确保您的组永远不会低于或超过这些限制。有关更多详细信息,请参阅什么是 Amazon EC2 Auto Scaling?
-
Amazon DynamoDB 自动扩缩使用 Application Auto Scaling 服务,代表您动态调整预置的吞吐能力,以响应实际的流量模式。这将使表或全局二级索引提高预置读取和写入容量,从而在不节流的情况下应对流量突增。有关更多详细信息,请参阅使用 DynamoDB 自动扩缩自动管理吞吐容量。
-
-
资源
相关最佳实践:
相关文档: