OPS07-BP03 ランブックを使用して手順を実行する
ランブックは、特定の成果を達成するための文書化されたプロセスです。ランブックは一連のステップから成り、それをたどることでプロセスを完了できます。ランブックは、飛行機の黎明期から運用に使用されてきました。クラウド運用では、ランブックを使用してリスクを削減し、望ましい成果を達成します。端的に言えば、ランブックはタスクを完了するためのチェックリストです。
ランブックは、ワークロードの運用に不可欠な部分です。新しいチームメンバーのオンボーディングからメジャーリリースのデプロイまで、ランブックはユーザーに関係なく、一定の成果をもたらすように成文化されたプロセスです。ランブックの更新は変更管理プロセスの重要な要素であるため、ランブックは一元的な場所で公開し、プロセスの進化に合わせて更新する必要があります。また、エラー処理、ツール、アクセス許可、例外、問題発生時のエスカレーションに関するガイダンスを含める必要があります。
組織が成熟してきたら、ランブックの自動化を始めましょう。短期的、かつ頻繁に使用されるランブックから始めます。スクリプト言語を使用して、ステップを自動化するか、ステップを実行しやすくします。最初のいくつかのランブックを自動化したら、より複雑なランブックを自動化するために時間を費やします。やがて、ほとんどのランブックが何らかの方法で自動化されるはずです。
期待される成果: チームには、ワークロードのタスクを実行するためのステップバイステップのガイド集があります。ランブックには、期待される成果、必要なツールとアクセス許可、エラー処理に関する指示が含まれています。一元的な場所 (バージョン管理システム) に保管され、頻繁に更新されています。例えば、ランブックは、アプリケーションアラーム、運用上の問題、計画されたライフサイクルイベントの発生時に、重要なアカウントの AWS Health イベントをモニタリング、通知、対応するための機能をチームに提供します。
一般的なアンチパターン:
-
プロセスの各ステップの完了を記憶に頼る。
-
チェックリストなしで変更を手動でデプロイする。
-
異なるチームメンバーが同じプロセスを実行する際に、手順や結果が異なる。
-
システムの変更や自動化に伴い、ランブックの同期ができなくなる。
このベストプラクティスを活用するメリット:
-
手動タスクのエラー率を削減します。
-
運用が一貫した方法で実行されます。
-
新しいチームメンバーがタスクをすぐに実行できます。
-
ランブックの自動化により、労力を軽減できます。
このベストプラクティスを活用しない場合のリスクレベル: 中
実装のガイダンス
ランブックは、組織の成熟度に応じていくつかの形態をとります。少なくとも、ステップバイステップのテキスト文書で構成されている必要があります。期待される成果が明示されている必要があります。必要な特殊なアクセス許可やツールを明確に文書化します。問題発生時に、エラー処理とエスカレーションに関する詳細なガイダンスを提供します。ランブックの所有者をリストアップし、一元的な場所で公開します。ランブックが文書化されたら、チームの別のメンバーに使用してもらい、検証します。手順の進化につれて、変更管理プロセスに従ってランブックを更新します。
組織が成熟するにつれて、テキストのランブックは自動化されるはずです。AWS Systems Manager Automations などのサービスを使用すると、ワークロードに対してフラットなテキストを自動化に変換できます。これらの自動化はイベントに反応して実行でき、ワークロードを保守する運用上の負担が軽減されます。AWSSystems Manager Automation は、ローコードのビジュアルデザインエクスペリエンスも提供し、自動化ランブックをより簡単に作成できます。
お客様事例
AnyCompany Retail は、ソフトウェアのデプロイ時にデータベーススキーマの更新を行う必要があります。クラウド運用チームはデータベース管理チームと協力して、これらの変更を手動でデプロイするためのランブックを作成しました。ランブックには、プロセスの各ステップがチェックリスト形式で記載されました。問題発生時のエラー処理のセクションも含まれています。このランブックは、他のランブックと共に社内 Wiki で公開されました。クラウド運用チームは、将来のスプリントでランブックを自動化する予定です。
実装手順
既存のドキュメントリポジトリがない場合、バージョン管理リポジトリは、ランブックライブラリの構築を始める場所として最適です。ランブックは Markdown を使用して作成できます。ランブック作成を始める際に使用できるサンプルのランブックテンプレートを提供しています。
# Runbook Title ## Runbook Info | Runbook ID | Description | Tools Used | Special Permissions | Runbook Author | Last Updated | Escalation POC | |-------|-------|-------|-------|-------|-------|-------| | RUN001 | What is this runbook for? What is the desired outcome? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name | ## Steps 1. Step one 2. Step two
-
既存のドキュメントリポジトリや Wiki がない場合は、バージョン管理システムに新しいバージョン管理リポジトリを作成します。
-
ランブックがないプロセスを特定します。理想的なプロセスは、半定期的に実施され、ステップ数が少なく、失敗の影響が少ないプロセスです。
-
ドキュメントリポジトリに、テンプレートを使用して新しいドラフト Markdown ドキュメントを作成します。[ランブック情報] にある必須フィールドに [ランブックのタイトル] を入力します。
-
最初のステップから開始して、ランブックのステップ部分を入力します。
-
ランブックをチームメンバーに渡します。ランブックを使用してもらい、ステップを検証します。不足しているものや明確化が必要なものがあれば、ランブックを更新します。
-
ランブックを社内ドキュメントストアに公開します。公開したら、チームや他の関係者に伝えましょう。
-
経時的に、ランブックのライブラリが構築されます ライブラリが大きくなったら、ランブックを自動化する作業を開始します。
実装計画に必要な工数レベル: 低 ランブックの最低基準は、ステップバイステップのテキストガイドです。ランブックの自動化は、実装の手間を増やす可能性があります。
リソース
関連するベストプラクティス:
関連ドキュメント:
関連動画:
関連する例:
関連サービス: