OPS07-BP04 根据行动手册调查问题 - AWS Well-Architected Framework

OPS07-BP04 根据行动手册调查问题

行动手册是用于调查事件的分步指南。发生事件时,行动手册用于开展调查,以及确定影响的范围和根本原因。行动手册可用于从失败的部署到安全事件的各种场景。在许多情况下,行动手册可确定根本原因,而运行手册可用来缓解其带来的风险。行动手册是贵组织事件响应计划的必要组成部分。

出色的行动手册有几个主要特点。它逐步指导用户完成事件发现过程。由外而内地思考,用户应执行哪些步骤来诊断事件? 如果行动手册中需要特殊工具或提升的权限,请在行动手册中明确地定义。请制定沟通计划,以向利益相关者提供有关调查状态的最新信息,这是事件响应计划的一个重要组成部分。在无法确定根本原因的情况下,行动手册应制定上报计划。如果确定了根本原因,行动手册应指出介绍如何解决根本原因的运行手册。应集中存储并定期维护行动手册。如果行动手册用于特定提醒,请向团队提供关于提醒中的行动手册的提示。

随着组织日趋成熟,可自动实施行动手册。从包含低风险事件的行动手册开始实施。使用脚本自动执行发现步骤。确保有配套的运行手册来缓解常见根本原因带来的风险。

期望的结果: 您的组织有针对常见事件的行动手册。行动手册集中存储在一个位置,可供团队成员使用。行动手册经常进行更新。对于任何已知的根本原因,将制定配套的运行手册。

常见反模式:

  • 要调查事件,并没有标准方法。

  • 团队成员依靠肌肉记忆或对机构的了解,对失败的部署进行排查。

  • 新的团队成员将学习如何通过试错法来调查问题。

  • 调查问题的最佳实践无法在不同团队之间共享。

建立此最佳实践的好处:

  • 行动手册可帮助您减轻事件带来的影响。

  • 不同的团队成员可使用同一行动手册,以一致的方式确定根本原因。

  • 可以针对已知的根本原因制定运行手册,从而加快恢复速度。

  • 团队成员根据行动手册能够更快地开始行动。

  • 团队可以使用可重复的行动手册来扩展其流程。

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

实施指导

制定和使用行动手册的方式取决于组织的成熟度。如果您是初次使用云,请在中央文档存储库中以文本形式制定行动手册。随着组织日趋成熟,可以使用 Python 等脚本语言实现行动手册的半自动化。可以在 Jupyter notebook 中运行这些脚本来加快发现速度。先进的组织已针对可通过运行手册自动修正的常见问题,制定完全自动化的行动手册。

通过列出工作负载所发生的常见事件,开始制定行动手册。为风险较低且根本原因范围已缩小到几个问题的事件选择行动手册。在为较简单的场景制定行动手册后,可以着手处理风险较高的场景或根本原因尚不确定的场景。

随着贵组织日趋成熟,您的文本样式的行动手册应实现自动化。通过使用诸如 AWS Systems Manager Automations之类的服务,可以将纯文本转换为自动化代码。可以针对工作负载运行这些自动化代码,从而加快调查速度。可以激活这些自动化代码以响应事件,从而减少发现和解决事件所需的平均时间。

客户可以使用 AWS Systems Manager Incident Manager 来响应事件。此服务提供了单一界面对事件进行分类,在发现和缓解问题期间通知利益相关者,并在整个事件中进行协作。它使用 AWS Systems Manager Automations 加快检测和恢复的速度。

客户示例

生产事件影响了 AnyCompany Retail。随时待命的工程师根据行动手册调查了问题。随着他们逐步地解决问题,他们不断为行动手册中确定的关键利益相关者提供最新信息。工程师最终确定,根本原因是后端服务中出现竞态条件。根据运行手册,工程师重新启动了该服务,并使 AnyCompany Retail 重新联机。

实施步骤

如果您当前没有文档存储库,建议您为行动手册库创建版本控制存储库。您可以使用 Markdown 制定您的行动手册,该服务兼容大多数行动手册自动化系统。如果您从头开始制定行动手册,请使用以下行动手册示例模板。

# Playbook Title ## Playbook Info | Playbook ID | Description | Tools Used | Special Permissions | Playbook Author | Last Updated | Escalation POC | Stakeholders | Communication Plan | |-------|-------|-------|-------|-------|-------|-------|-------|-------| | RUN001 | What is this playbook for? What incident is it used for? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name | Stakeholder Name | How will updates be communicated during the investigation? | ## Steps 1.Step one 2.Step two
  1. 如果您当前没有文档存储库或 Wiki,请在版本控制系统中为行动手册创建一个新的版本控制存储库。

  2. 确定需要调查的一个常见问题。它应该是根本原因范围限于几个问题且解决方案风险较低的场景。

  3. 使用 Markdown 模板填写 Playbook Name(行动手册名称) 部分以及 Playbook Info(行动手册信息)下的字段。

  4. 填写问题排查步骤。尽可能清楚地知道要采取哪些行动,或者应调查哪些方面。

  5. 将行动手册提供给团队成员,让他们仔细阅读并加以验证。如果发现有遗漏之处或某些内容不清楚,请更新行动手册。

  6. 在文档存储库中发布您的行动手册,并告知您的团队和任何利益相关者。

  7. 随着您添加更多的行动手册,这个行动手册库将会不断扩大。在您拥有多个行动手册后,可以开始使用 AWS Systems Manager Automations 等工具自动执行它们,从而使自动化操作和行动手册保持同步。

实施计划的工作量级别: 低。行动手册应该是集中存储在一个位置的文本文档。对于更加成熟的组织,将转为自动实施行动手册。

资源

相关最佳实践:

相关文档:

相关视频:

相关示例:

相关服务: