Amazon Web Services ブログ

AWS Systems Manager Incident ManagerとAmazon CloudWatchの統合

こちらのブログ記事は、二部構成のうちの二つ目のブログ記事となり、引き続きAWS Systems Manager Incident Managerに関する内容をご紹介していきます。一つ目のブログ記事では、連絡先、エスカレーションプラン、対応プランの作成などの設定手順についてご紹介してきました。このブログ記事では、Incident ManagerとAmazon CloudWatchの統合及び、Incident Managerのコンポーネントを使ったインシデント管理についてご紹介していきます。また、インシデント後の分析方法についてもご紹介していきます。

多くのお客様は、AWS環境のモニタリングにAmazon CloudWatchを利用されています。Incident ManagerとAmazon CloudWatchの統合により、アラームが設定されたしきい値に達すると、インシデントを発生させることが出来ます。まずはアラームを作成しましょう。

  1. Amazon CloudWatchのページを開き、左側のメニューからAlarms(アラーム)を選択し、Create alarm(アラームの作成)をクリックしてください。

図1: アラームページ

 

  1. メトリクスと条件を設定するページに移動します。Select metric(メトリクスの選択)を選択し、モニタリング対象のメトリクス一覧を表示します。EC2から、Per-Instance Metrics(インスタンス別メトリクス)を選択しましょう。

図2: メトリクスの選択

 

  1. 一つ目のブログ記事で作成したEC2インスタンスを探し、CPUUtilizationメトリクスにチェックをいれ、Select metric(メトリクスの選択)をクリックしてください。Period(期間)には、カスタム値として、120秒を設定します。

図3: CPUUtilizationメトリクス

 

  1. CloudWatchアラームの条件を設定します。Conditions(条件)で、しきい値を85と設定し、Next(次へ)をクリックしてください。

図4: アラームの条件設定

 

  1. 次に、アラームがトリガーされたときの動作を設定します。Systems Manager action(Systems Managerアクション)で、Create incident(インシデントを作成)を選択します。Response Plan(レスポンスプラン)には、EC2HighCPUを設定し、Next(次へ)をクリックしてください。

図5: Systems Managerアクション

 

  1. アラーム名を入力し、Next(次へ)をクリックし、Create alarm(アラームの作成)をクリックしてください。

以上でインシデントのトリガーとなるCloudWatchアラームの設定は完了です。

 

Incident Managerでのインシデント管理

CPU使用率が高負荷な状態をシミュレーションするために、stressコマンドを利用します。EC2インスタンスに接続し、以下のコマンドを実行してstressコマンドのインストールをしましょう。

sudo amazon-linux-extras install epel -y

sudo yum install stress -y

次に以下のコマンドを実行して、EC2インスタンスに負荷をかけます。CPUに対して3並列で300秒間負荷をかけるといった内容になっております。

sudo stress --cpu 3 --timeout 300

CPU 使用率が 85% に達すると、Systems ManagerのIncident Managerページから新しいインシデントを確認出来ます。この時点で、一つ目のブログ記事の連絡先の追加セクションで作成したプライマリの担当者には、インシデントの通知するメッセージが届いています。チャットチャネルを作成している場合は、インシデントの通知がチャットチャネルに届きます。

図6: cpu-incident-1

 

担当者はインシデント対応を開始すると、インシデントに関連するメトリクスとRunbookを確認出来ます。今回はRunbook記載内容に従い、手動でインシデント対応を行うシナリオのため、各手順を実施後、Resume(再開)を選択しましょう。

図7: ec2-cpu-util-runbook

 

Runbookに記載された全ての手順を完了させて、インシデントの影響が軽減されたことを確認出来たら、Resolve incident(インシデントを解決)を選択しましょう。Timeline(タイムライン)タブには、インシデントに関連するイベントが表示されます。

図8: タイムラインタブ

 

インシデント後の分析

インシデント後に分析を行うことは、インシデント対応プロセスの学習、改善に役立ちます。問題について考え、根本原因を特定し、その問題がどのようにして防ぐことが出来たかを評価し、明確なフォローアップアクションを割り当てることでチームは成長していきます。根本原因の分析は、適切な質問をして、仮説を慎重に整理していくことが必要です。インシデントに関わるチームが複数の場合、各チームが自チームのサービスだけに目を向けるのではなく、インシデント後の分析結果を利用してチーム間での調整を行うことをおすすめします。

Incident Managerには、インシデント後の分析をドキュメント化する機能があります。インシデント解決後、図8のように画面上部のバナーにCreate analysis(分析を作成)ボタンが表示されます。

図9: 分析を作成

 

Template(テンプレート)で、AWSIncidents-PostIncidentAnalysisTemplateを選択し、Create(作成)をクリックしてください。

インシデント後の分析では、インシデントの検出、診断、緩和に関する質問に回答していきます。分析を作成することは、チームにとって非常に価値があることです。何がうまくいったのか、何がインシデントの防止や緩和につながるのかを理解することに役立ちます。

図10: インシデント後の分析

 

Incident ManagerはAWS Systems Manager OpsCenterとも統合されており、インシデントの追跡、インシデント後のアクション項目の確認を一元的に行えます。また、Jira Service DeskServiceNowなどのインシデント管理ツールとも連携出来ます。

図11: アクション項目

 

クリーンアップ

このウォークスルーで作成したリソースをクリーンアップしましょう。クリーアアップを行なわないと、課金が続いてしまうためご注意ください。まずはCloudWatchアアームを削除しましょう。このウォークスルーで作成したアラームを選択し、Actions(アクション)から削除を選択してください。次にEC2インスタンスを削除しましょう。このウォークスルーで作成したEC2インスタンスを選択し、Instance state(インスタンスの状態)からインスタンスを終了を選択してください。

連絡先、対応プラン、エスカレーションプランなどこのシリーズのPart1で作成したリソースを削除するには、Incident Managerのユーザガイドをご覧だください。

訳注:2021/05/31時点で、Incident Managerのユーザガイドに連絡先、対応プラン、エスカレーションプランの削除方法の記載がないため、以下の手順をご覧ください。

  • 連絡先の削除:連絡先のページから作成した連絡先を選択し、削除ボタンをクリックしてください。
  • エスカレーションプランの削除:エスカレーションプランのページから作成したエスカレーションプランを選択し、削除ボタンをクリックしてください。
  • 対応プランの削除:対応プランのページから作成した対応プランを選択し、削除ボタンをクリックしてください。

 

まとめ

このブログ記事では、Incident ManagerをCloudWatchと連携させ、インシデントに備える方法をご紹介してきました。インシデント管理を成功させるには、インシデント後の分析が重要です。Incident Managerのテンプレートとメカニズムを使った分析を行うことで、インシデント対応を成功させ、チームの成長につながります。Incident Managerの詳細については、AWS Systems Managerのユーザガイドをご覧ください。

 

著者について

Harshitha Putta

Harshitha Puttaは、シアトルに拠点を置く、AWSプロフェッショナルサービスのシニアクラウドインフラストラクチャーアーキテクトです。彼女は、AWSサービスを使い革新的なソリューションを構築して、お客様がビジネス目標を達成できるように尽力しています。家族や友人とはボードゲームやハイキングを楽しんでいます。

 


Guyu Ye

Guyu Yeは、テキサス州オースティンに拠点を置くAWSのクラウドアーキテクトです。彼女は、テクノロジーを通じてお客様の抱える複雑な問題をシンプルにするお手伝いを楽しんでいます。休日は、友人や家族との時間を過ごしたり、子犬のアルバートとハイキング、ヨガ、ランダムDIYプロジェクトに取り組むことが好きです。

 

翻訳はSA上野が担当しました。原文はコチラ