REL01-BP06 确保在当前限额与最大使用量之间存在足够的差距,以便应对失效转移 - 可靠性支柱

REL01-BP06 确保在当前限额与最大使用量之间存在足够的差距,以便应对失效转移

当资源出现故障或无法访问时,该资源可能仍会被计入限额,直到成功终止资源。确认您的限额涵盖出现故障或无法访问的资源及其替换资源的重叠部分。在计算此差距时,应考虑网络故障、可用区故障或区域故障等使用案例。

期望结果:在当前服务阈值内可以覆盖资源或资源可访问性方面的或大或小的故障。在资源规划中已考虑到可用区故障、网络故障或甚至是区域故障。

常见反模式:

  • 根据当前需求设置服务限额,而不考虑失效转移场景。

  • 在计算服务的峰值限额时不考虑静态稳定性原则。

  • 在计算每个区域所需的总限额时,不考虑可能无法访问资源的情况。

  • 不考虑某些服务的 AWS 服务故障隔离边界及其可能的异常使用模式。

建立此最佳实践的好处:当服务中断事件影响应用程序可用性时,您可以借助云实施策略来缓解影响或从这些事件中恢复。此类策略通常包括创建额外资源来替换出现故障或无法访问的资源。您的限额策略会适应这些失效转移条件,并且不会由于服务限制耗尽而导致额外的降级。

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

实施指导

在评估限额限制时,请考虑由于某些降级而可能发生的失效转移情况。应考虑以下类型的失效转移情况:

  • VPC 中断或无法访问。

  • 子网无法访问。

  • 可用区已显著降级,导致影响许多资源的可访问性。

  • 系统阻止或更改了各种网络路由或入口点和出口点。

  • 区域已显著降级,导致影响许多资源的可访问性。

  • 有多个资源,但并非所有资源都受到区域或可用区故障的影响。

如上所列的故障可能是启动失效转移事件的触发器。因为业务影响可能会有很大差异,每种情况和每个客户的失效转移决策都是独特的。但是,当从操作上决定失效转移应用程序或服务时,必须在事件发生之前解决失效转移位置中资源的容量规划及其相关限额。

检查每个服务的服务限额,要考虑到可能会发生高于正常峰值的情况。这些峰值可能与由于网络或权限而可以访问但仍处于活动状态的资源有关。未终止的活动资源仍将计入服务限额限制。

实施步骤

  • 确认您的服务限额与最高使用量之间有足够的差距,以便适应失效转移或失去可访问性。

  • 根据您的部署模式、可用性要求和使用量增长情况确定服务限额。

  • 根据需要请求增加限额。预计完成限额提高请求所需的时间。

  • 确定可靠性要求(也称为“X 个 9”)。

  • 构建故障场景(例如组件、可用区或区域缺失)。

  • 确定部署方法(例如金丝雀部署、蓝/绿部署、红/黑部署或滚动部署)。

  • 在当前限制中包含适当的缓冲区(例如 15%)。

  • 在适当情况下包括静态稳定性(可用区和区域)的计算。

  • 预计使用量增长(例如监控使用量趋势)。

  • 考虑静态稳定性对最关键工作负载的影响。评估所有区域和可用区中适应静态稳定系统的资源。

  • 考虑使用按需容量预留,以便在发生任何失效转移之前安排容量。在最关键的业务计划期间,这是一种有用的策略,可以在失效转移期间获得正确数量和类型的资源时降低潜在的风险。

资源

相关最佳实践:

相关文档:

相关视频:

相关工具: