REL07-BP02 在检测到对工作负载的破坏时获取资源 - 可靠性支柱

REL07-BP02 在检测到对工作负载的破坏时获取资源

如果可用性受到影响,在必要时被动扩展资源,从而还原工作负载的可用性。

首先,您必须配置运行状况检查和关于此类检查的标准,表示在什么时候可用性会因缺少资源而受到影响。然后,通知适当的人员手动扩展资源,或启动自动化以对其进行自动扩展。

可以根据工作负载手动调整资源规模(例如,通过 AWS Management Console 或 AWS CLI 更改自动扩缩组中 EC2 实例的数量,或者修改 DynamoDB 表的吞吐量)。但是,应尽量采用自动化技术(请参阅在获取或扩展资源时利用自动化)。

期望结果:在检测到故障或客户体验降级时,启动扩缩活动(自动或手动)来恢复可用性。

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

实施指导

对工作负载中的所有组件实施可观测性和监控,以监控客户体验并检测故障。定义用于扩展所需资源的手动或自动程序。有关更多信息,请参阅 REL11-BP01 监控工作负载的所有组件以检测故障

实施步骤

  • 定义扩展所需资源的手动或自动程序。

    • 扩缩程序取决于工作负载中不同组件的设计方式。

    • 扩缩程序还因所使用的底层技术而异。

      • 使用 AWS Auto Scaling 的组件可以使用扩缩计划来配置一组用于扩展资源的指令。如果使用 AWS CloudFormation 或向 AWS 资源添加标签,则可以根据应用程序为不同的资源集设置扩缩计划。Auto Scaling 提供了针对每个资源的定制扩展策略建议。创建扩缩计划后,Auto Scaling 结合了动态扩缩和预测性扩缩方法来支持扩缩策略。有关更多详细信息,请参阅 How scaling plans work

      • Amazon EC2 Auto Scaling 可验证您具有正确数量的 Amazon EC2 实例来处理应用程序负载。您可创建 EC2 实例的集合,称为自动扩缩组。您可以指定每个自动扩缩组中的最小和最大实例数,Amazon EC2 Auto Scaling 会确保您的组永远不会低于或超过这些限制。有关更多详细信息,请参阅 What is Amazon EC2 Auto Scaling?

      • Amazon DynamoDB Auto Scaling 会根据实际的流量模式,使用 Application Auto Scaling 服务代表您动态调整预置的吞吐容量。这样表或全局二级索引可以增加预置读取和写入容量处理突增流量,不会受到限制。有关更多详细信息,请参阅使用 DynamoDB Auto Scaling 自动管理吞吐能力

资源

相关最佳实践:

相关文档: