スタートガイド > 3. アラートを受け取って自動対応しよう > 3-8. アラートを受け取ったら、AWS CLIのコマンドを実行したい
3-8. アラートを受け取ったら、AWS CLIのコマンドを実行したい
アラートを受け取ったら、監視対象のサービスを復旧させるためのAWS CLIのコマンドを実行したいケースの実現例を示します。
1. 要件
1-1. 監視対象サービス
- アラートが発生したら、件名に
ERROR
を含むメールをOpsAidへ送信する
1-2. OpsAid
- 件名に
ERROR
を含むアラートを受信したら、AWS CLIコマンドを実行してEC2インスタンスの再起動を行う
2. OpsAidの登録内容
以下の内容で、OpsAid側のアラート受信準備を行います。
2-1. プロジェクト作成
1-1. プロジェクトを用意しように従って、アラートを受信するプロジェクトを作成します。 アラートを受信するプロジェクトが既に作成されている場合は、このセクションは飛ばして構いません。
プロジェクトのメールアドレスが発行されたら、メモを取っておきます。
2-2. ルール登録
アラートを受信するプロジェクトに、ルールを1件登録します。
ルールの条件には以下の内容を設定します。
マッチ条件
「キーワード条件で設定する」のタブを選択します
- キーワード条件
- 「件名」に「ERROR」が「含まれる」
件名に ERROR
を含むアラートを受信したら、このルールを適用します。
アクション設定
- AWS CLI
- コマンド名: 実行するコマンドを区別するための名称
例) インスタンスの再起動 - 実行するコマンド: EC2インスタンスを再起動するコマンドとインスタンスID
例) aws ec2 reboot-instances --instance-ids i-aabbccddeeff
インスタンスIDは、AWS管理コンソール等で確認します。 - 認証情報: 直接入力
- AWSリージョン: EC2インスタンスが登録されているAWSリージョン
例) アジアパシフィック(東京) - Access Key ID: インスタンス再起動のロールを持つユーザーのAccess Key ID
AWS管理コンソールのIAMで、ユーザーの作成/ロールの割当/Access Key IDの生成・確認ができます。 - Secret Access Key: Access Key IDに対応するSecret Access Key
Access Key ID生成時に取得したSecret Access Keyを設定します。Secret Access Keyを後から確認することは出来ないので、分からない場合は新しくAccess Key IDを生成する必要があります。
- コマンド名: 実行するコマンドを区別するための名称
このルールが適用されたら、設定されたAWS CLIコマンドを実行します。複数登録されている場合は、上から順に実行されます。実行結果は、起票されたインスタンスの対応履歴に記録されます。
インシデント設定
-
条件にマッチした場合に作成するインシデントの設定
- ステータス: 完了
その他の項目は任意で設定します。
3. アラート受信時の動き
上記のルールをプロジェクトに登録した状態で、監視対象サービスでアラートが発生すると、以下の流れでアラートの自動対応が行われます。
- 監視対象サービスから、プロジェクトのメールアドレスへ向けて、件名に
ERROR
を含むアラートを送信する - OpsAidでプロジェクトがアラートを受信する
- プロジェクトに登録されたルールに、アラートがマッチするかチェックする。アラートの件名に
ERROR
が含まれているので、作成したルールの実行条件にマッチする - ルールの実行条件にマッチしたので、自動でルールのアクションが実行され、登録されたAWS CLIコマンドが実行される
- ルールの検知条件にマッチしたので、自動でインシデントが起票される
- アクションの結果を受けて、ルールの実行結果が起票したインシデントに記録される
- 問題なく終了したら、インシデントのステータスが完了となる
以上で、OpsAidの自動対応が終了します。
以上の設定を行うことで、アラートを受け取ったら、監視対象のサービスを復旧させるためのAWS CLIのコマンドを実行したいケースの実現が可能です。
次は 3-9. アラートを受け取ったら、Gcloud CLIのコマンドを実行したい に進みます。