この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
PagerDutyとは
PagerDuty とは、インシデント管理SaaSサービスです。
様々なツールと連携し、アラートのグループ化や優先順位付け、また通知のルール化などといった機能を提供します。
通知としては、メールやSMS、カスタムアクションなども用意されているので非常に使い勝手が良いです。
やってみた
本記事では、AWS Security Hub を統合してみます。
CFnのテンプレートの準備
まず、下記サイトよりCFnのテンプレートをダウンロードします。
PagerDuty の設定
サービスの作成
統合先のサービスを作成します。PagerDuty のコンソールのServicesのService Directoryから作成します。
入力項目はデフォルトのままで作成します。
Integration Keyの発行
続いて、PagerDuty のコンソールからIntegration Keyを発行します。Automation の Event rules を開き、新しい RuleSet を作成します。
アラート集約時にインシデントが作成されるように、Edit Ruleから先ほど作成したサービスを指定し、保存します。
そして、ページに表示されているIntegration Keyをメモしておきます。
CFnスタックの作成
では、準備が整いましたので、スタックを作成します。先ほどダウンロードしたCFnのテンプレートをアップします。
作成時に、PagerDutyEventsEndpointとEventPatternParameterが求められるので、EventPatternParameterにはSecurity Hubの統合ルール、PagerDutyEventsEndpointには下記のように先ほどメモしたIntegration Keyを埋め込みます。
PagerDutyEventsEndpoint
https://events.pagerduty.com/x-ere/[YOUR_INTEGRATION_KEY_HERE]
例: Inspctor High Mediumのみ統合
{
"detail-type": ["Security Hub Findings - Imported"],
"source": ["aws.securityhub"],
"detail": {
"findings": {
"ProductArn": ["arn:aws:securityhub:ap-northeast-1::product/aws/inspector"],
"Workflow": {
"Status": ["NEW"]
},
"Severity": {
"Label": ["HIGH", "MEDIUM"]
}
}
}
}
通知の確認
最後に、PagerDutyに統合されたかの確認を行います。
私の場合は、Inspctorのアラートの統合を行なっておりますので、Inpectorを実行し、アラートを発生させます。
PagerDutyのコンソールにインシデントの作成、メールの通知が行われていれば問題なく動作しています。
最後に
PagerDutyでは、他にも様々なツールとの連携が容易に行えます。通知のルール化も非常に魅力的なので、近いうちに触ってみたいです。