【ITニュース解説】AWS EventBridgeからPagerDutyのOnCallイベントを送信する
2025年09月03日に「Qiita」が公開したITニュース「AWS EventBridgeからPagerDutyのOnCallイベントを送信する」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
夜間バッチ処理失敗時にPagerDutyへ通知する設定を紹介。AWS EventBridgeを使用し、Step Functionsからアラートを送信。設定にはPagerDutyのAPI Key、Integration Key、Endpoint URLが必要。これにより、システムエンジニアは夜間でも迅速に異常を検知し対応可能になる。
ITニュース解説
この記事は、AWS(Amazon Web Services)のEventBridgeというサービスを使って、PagerDutyというインシデント管理ツールに、夜間バッチ処理の失敗を自動で通知する方法を解説している。システムエンジニアを目指す初心者に向けて、その内容をわかりやすく説明していく。
まず、この記事の背景にあるのは、システム運用における夜間バッチ処理の重要性だ。多くのシステムでは、日中の業務時間外に、大量のデータ処理やバックアップなどのバッチ処理を実行している。これらの処理が正常に完了しないと、翌日の業務に支障をきたす可能性があるため、迅速な対応が求められる。
そこで、バッチ処理の失敗を検知し、担当者に自動で通知する仕組みが重要になる。この記事では、そのための具体的な方法として、AWSのEventBridgeとPagerDutyを連携させる方法を紹介している。
AWS EventBridgeは、様々なAWSサービスやアプリケーションからのイベントを監視し、特定の条件に合致するイベントが発生した場合に、あらかじめ設定されたアクションを実行するサービスだ。一方、PagerDutyは、インシデント管理に特化したツールで、システム障害や異常を検知すると、担当者に電話、メール、SMSなどで通知し、対応状況を管理することができる。
この記事では、夜間バッチ処理が失敗した場合に、EventBridgeがそのイベントを検知し、PagerDutyに通知を送るように設定する方法を説明している。これにより、担当者は夜間でも迅速にバッチ処理の失敗に気づき、対応することができるようになる。
具体的な手順としては、まずPagerDuty側で必要な情報を取得する必要がある。具体的には、API Key、Integration Key、Endpoint URLという3つの情報だ。API Keyは、PagerDutyのAPIを利用するための認証情報、Integration Keyは、特定のサービス(今回の場合はEventBridge)からの通知を受け付けるためのキー、Endpoint URLは、PagerDutyのAPIのエンドポイント(URL)を示す。これらの情報は、PagerDutyの管理画面から確認することができる。
次に、AWS Step Functionsというサービスが登場する。Step Functionsは、複数のAWSサービスを組み合わせて、複雑なワークフローを定義し、実行することができるサービスだ。この記事では、夜間バッチ処理をStep Functionsで実行していることを前提としている。
Step Functionsで実行されるバッチ処理が失敗した場合、Step Functionsは失敗イベントを発行する。この失敗イベントをEventBridgeで捕捉し、PagerDutyに通知を送信するように設定する。
EventBridgeの設定は、まずイベントパターンを定義することから始まる。イベントパターンとは、EventBridgeがどのようなイベントを捕捉するかを定義するものだ。この記事では、Step Functionsからの失敗イベントを捕捉するために、特定のイベントソース(Step Functions)とイベントタイプ("Step Functions Execution Failed"など)を指定したイベントパターンを定義する。
次に、ターゲットを設定する。ターゲットとは、イベントパターンに合致するイベントが発生した場合に、EventBridgeが実行するアクションを定義するものだ。この記事では、PagerDutyに通知を送信するために、ターゲットとしてAWS Lambda関数を指定する。
Lambda関数は、サーバーレスでコードを実行できるサービスだ。EventBridgeから送信されたイベントデータを受け取り、PagerDutyのAPIを呼び出して、インシデントを発生させる処理を実装する。Lambda関数には、PagerDutyのAPI Key、Integration Key、Endpoint URLを設定する必要がある。
Lambda関数がPagerDutyのAPIを呼び出す際には、特定の形式のJSONデータを送信する必要がある。このJSONデータには、インシデントの概要、詳細な説明、発生日時などの情報を含めることができる。この記事では、バッチ処理の失敗に関する情報をJSONデータに含めることで、PagerDutyでインシデントの内容を把握しやすくしている。
最後に、EventBridgeのルールを有効化することで、設定が完了する。これにより、Step Functionsで実行される夜間バッチ処理が失敗した場合、EventBridgeがそのイベントを検知し、Lambda関数を呼び出してPagerDutyに通知が送信されるようになる。
この記事で紹介されている方法は、システム運用における自動化の一例であり、システムエンジニアにとって非常に重要な知識だ。EventBridgeやPagerDutyなどのツールを使いこなすことで、システムの安定稼働に貢献することができる。また、夜間や休日でも迅速な対応が可能になるため、担当者の負担軽減にもつながる。
システムエンジニアを目指す初心者は、この記事を参考に、実際にAWS環境でEventBridgeとPagerDutyを連携させる設定を試してみることをおすすめする。手を動かすことで、より深く理解を深めることができるだろう。