IncidentManagerを試してみる


はじめに

2021/5にIncidentManagerなるサービスがAWSから発表されていました。

インシデント管理のサービスということで、触ってみた所感を書いてみようと思います。
(SSMのサービスの一種のようです。)

サービス概要

AWS上で運用しているサービスのインシデントを管理できるサービスです。

CloudWatch AlarmまたはEventBridgeイベントでアラートを上げることにより、IncidentManager上にインシデントとして起票できるようです。

インシデントが起票されたら、IncidentManagerは事前に設定しておいた「対応プラン」に基づいてアクションを実行します。ここで通知を行ったり、SSM RunBookを実行してリカバリアクションを行ったりします。

また、OpsCenterと統合されており、OpsCenter経由でJira Service DeskやServiceNowといったサードパーティのインシデント管理ツールとも同期できるようです。

イメージ

料金

1月当たり1対応プランにつき7USD
その他SMS,音声メッセージに課金あり

触ってみる

サービスに対するヘルスチェックが失敗した場合インシデントの起票を行い、通知を行う想定で作成します。

セッティング

4段階の設定があるようです。

  • 全般設定
    • IncidentManagerのデータをレプリケーションするリージョンを決定します。
  • 連絡先の詳細
    • インシデントが発生した場合の通知先の連絡先を登録します。SNSのサブスクリプションのようなイメージです。
  • エスカレーションプラン
    • インシデントが発生した場合の通知をどうするか設定します。ステージが定義できて「この人が承認するまで次の人には通知しない」といったこともできそうです。
  • 対応プラン
    • インシデントの対応を決定します。インシデントのメモ書きや(実行する場合)Runbookの設定、通知先の設定などが行えます。

対応プランを作成する

サービスに対する外形監視が失敗した場合を想定して対応プランを作成します。
「インシデントのデフォルト」項目から、インシデントのタイトル、影響度、詳細を記載できます。

その他上記で設定したエスカレーションプランやChatBotで通知を送ることが出来たり、インシデントが発生した際に実行するランブックを定義できたりします。

Alarmを作成する

Alarmから起票するように設定するには、Alarm作成画面の最下部にある「SystemsManagerアクション」から設定を行います。

インシデント起票

Alarmが異常状態に遷移すると、Incident Manager上から起票されることがわかります。

インシデントの概要を見ると、対応プランのメモ書きとCloudWatch のイベント情報が閲覧できます。

登録していたメールアドレスに通知が発報されることを確認しました。
当該インシデントを「解決」とすると、インシデントは解決済みに移動されます。

まとめ

Incident ManagerはSSMの機能の一つでCloudWatch AlarmかEventBridgeからインシデントを作成し、管理する機能でした。
これによりaws上で実行しているサービスのインシデント管理を行えるようになりました。
運用時のインシデント管理方法として候補に挙がるかなと思います。

番外:解決済みのインシデントの削除

マネコンから解決済みのインシデントは削除できませんでしたが、CLIから削除することができました。

aws ssm-incidents delete-incident-record --arn <Incident-record-arn>