クラウド エンジニアブログ

AWS Systems Manager Incident Manager で実現するインシデント対応

2025年9月30日掲載

はじめに

ソニービズネットワークス 開発本部の池田です。

システム運用において、インシデント発生時の迅速な対応は事業継続性を左右する重要な要素です。
しかし、多くの組織では手動での連絡、属人的な対応手順、情報の散在といった課題に直面しています。深夜や休日のインシデントでは、適切な担当者への連絡すら困難な場合があります。

AWS Systems Manager Incident Managerは、こうした課題を解決し、インシデント対応を自動化・標準化するマネージドサービスです。CloudWatchアラームやその他の監視システムと連携し、インシデント発生から解決まで一貫したワークフローを提供します。

今回は、AWS Incident Managerの概要や実際の設定手順についてご紹介させていただきます。

AWS Incident Managerとは

AWS Systems Manager Incident Managerは、インシデント対応プロセス全体を自動化するサービスです。Systems Managerファミリーの一部として、
運用管理の包括的なソリューションを提供します。

主な特徴として、事前定義された対応計画(Response Plan)に基づく自動インシデント作成、階層化されたエスカレーション機能、
そしてSlackやMicrosoft Teamsとの連携によるリアルタイムコミュニケーションがあります。これにより、人的ミスを減らし、対応時間を大幅に短縮できます。

従来の手動対応では、アラート検知から担当者への連絡まで数十分かかることも珍しくありませんでした。Incident Managerを活用することで、この時間を数分以内に短縮し、さらに対応手順の標準化により品質の向上も実現できます。

代表機能の詳細解説

Response Plan(対応計画)

Response Planは、インシデントタイプごとに事前定義された対応手順のテンプレートです。重要度レベル、エンゲージメント、実行すべき自動化アクションなどを設定できます。

例えば、Webサイトの応答時間悪化を検知した場合のResponse Planでは、以下のような設定が可能です:

  • 重要度:High
  • 初期対応者:Webチーム
  • 自動アクション:Systems Manager Automationを通じたAuto Scalingグループのスケールアウト
  • エスカレーション:15分以内に応答がない場合、マネージャーに通知

この仕組みにより、インシデントの性質に応じた適切な対応を自動的に開始できます。

Contact(連絡先管理)

Contactは、オンコール体制を管理する機能です。個人やチームの連絡先情報、対応可能時間、エスカレーション階層を定義できます。
SMS、音声通話、メール、Slackなど複数の通知チャネルを組み合わせることで、確実な連絡を実現します。

特に重要なのは、段階的エスカレーション機能です。初期対応者が一定時間内に応答しない場合、自動的に上位者や代替担当者に通知がエスカレーションされます。これにより、深夜や休日でも適切な対応者を確保できます。

Engagement(関係者招集)

Engagementは、「どの担当者やチームを、どの順番で、どの方法で呼び出すか」を定義する仕組みです。実際には、対応プランの中でコンタクトやエスカレーションプランを紐づけます。

これにより、情報の散在を防ぎ、すべての関係者が同じ情報を共有しながら協力して問題解決に取り組めます。また、対応履歴も自動的に記録されるため、事後の振り返りや改善活動にも活用できます。

実践的な活用例

実際の運用では、CloudWatchアラームとの連携が最も一般的なパターンです。例えば、EC2インスタンスのCPU使用率が90%を超えた場合の対応フロー
は以下のようになります:

  1. CloudWatchアラームが発火
  2. Incident Managerが自動的にインシデントを作成
  3. 事前定義されたResponse Planに基づき、インフラチームに通知
  4. Slackに専用チャネルが作成され、関係者が招集
  5. 必要に応じて自動スケーリングやインスタンス再起動を実行
  6. 15分以内に解決しない場合、マネージャーにエスカレーション

このような自動化により、一般的に初期対応時間を大幅に短縮できます。

また、AWS Lambda、Systems Manager Automation、EventBridgeとの連携により、より高度な自動修復も可能です。
例えば、データベース接続エラーを検知した際に、自動的に接続プールをリセットし、それでも解決しない場合にのみ人的対応を要求するといった段階的な対応も実現できます。

やってみた

今回は、EC2インスタンスのCPU使用率が90%を超えた場合に、SSMドキュメントを実行してEC2を再起動し、一次対応を行いメール通知も行うという内容で検証してみました。CloudWatchアラームは事前に設定をしております。

対応プラン、エスカレーションプラン、コンタクトの作成

まず、コンタクトの作成を行います。
コンタクトはインシデントが起きた際に誰に連絡するかを設定する箇所となります。
今回は検証となりますので、私自身のメールアドレスを設定しております。

コンタクトの作成

次にエスカレーションプランを作成します。
ここでは、インシデント発生時に先ほど作成したコンタクトや今回は設定しておりませんが、オンコールスケジュールを基に、段階的に対応者を拡大していく設定です。例えば、初期対応者が一定時間内に応答しない場合、自動的に上位者や代替担当者に通知をエスカレーションするといった設定です。
今回は、先ほど作成したコンタクトを選択しております。

エスカレーションプランの作成

上記完了後、対応プランを作成します。
対応プランは、インシデント発生時に何を準備する必要があるかを定義するプランです。
エンゲージメントには、エスカレーションプランで作成したプランを付けております。
ランブックは、後で設定するのでここでは空にしております。

対応プランの作成

対応プラン、エンゲージメントの設定

Lambdaの作成(EC2再起動)

次は、インシデントが起きた際にEC2を再起動を行うためのLambdaを作成します。
ソースコードは下記です。

EC2を再起動を行うためのLambdaの作成

SSMドキュメントの作成

Lambdaの作成完了後にSSMドキュメントの作成をしていきます。
ドキュメントの内容は、インシデント発生のインスタンスIDを取得して、Lambdaを呼び出すといった内容になります。

SSMドキュメントの作成

SSMドキュメント作成後、対応プランに作成したSSMドキュメントを紐づけます。

検証

下記コマンドを打ちサーバにストレスをかけます。

sudo dnf install -y stress-ng
sudo stress-ng --cpu "$(nproc)" --cpu-load 90 --timeout 10m --metrics-brief

コマンド実行後を数分でCloudWatchにアラームが出力されています。

CloudWatchにアラームが出力

そして、Incident Managerを確認すると、インシデントが発行されており、概要やタイムラインイベント、診断等が見れました。

Incident Manager

メールでの通知も確認することができました。

メールでの通知

まとめ

AWS Systems Manager Incident Managerは、インシデント対応の自動化と標準化を通じて、運用効率の大幅な向上を実現します。手動対応による遅
延やミスを削減し、組織全体の可用性向上に貢献するのに有用なツールです。

クラウドの活用が当たり前になった今、Incident Manager のような自動化ツールをうまく使えるかどうかが、他社との差につながります。
きちんとした導入計画を立てて、段階的に取り入れていけば、組織全体のインシデント対応力を大きく高めることができます。
気になった方はぜひ利用してみてください。

このコラムに関連する製品

  • AWS運用支援サービス

    手軽に運用できるツールから
    24時間365日有人監視まで3つのサービスで
    AWSの運用を支援

    詳細はこちら

  • AWS運用管理・自動化ツール「クラウドポータル」

    「はじめてでも運用できる」
    「もっと使いこなせる」
    独自開発ツール

    詳細はこちら

  • 運用内製化支援~セキュリティ改善サービス

    ベストプラクティスに沿った改善案を提案し、運用の内製化を支援します。


    詳細はこちら

関連コラム

このコラムに関連する
導入事例

このコラムに関連する
セミナーアーカイブ動画

AWSコスト最適化 ~実例からその手法を学ぼう!~

SHARE
シェアシェア ポストポスト
AWSコスト最適化 ~実例からその手法を学ぼう!~
SHARE
ポスト シェア