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

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

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

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

可以为您的工作负载手动调整规模(例如,通过 AWS Management Console 或 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 自动扩缩自动管理吞吐容量

资源

相关最佳实践:

相关文档: