CloudWatch Logsでメトリクスフィルターを作成し、アラームでメール通知させてみた

記事タイトルとURLをコピーする

技術5課の山﨑です。本日が東京での入社研修最終日です。 ディズニーシー行ったり、蒙古タンメン2日連続で行ったり、横浜中華街行ったり、初のアソシエイト試験受けたり楽しかったなー・・・ ということで、最近はSOAの勉強をしているのですが、CloudWatchに関する問題がSAAよりも多い印象を受けたので、ハンズオン学習で触ってみました

やってみたこと

  • CloudWatch Logsでロググループに対してメトリクスフィルターを作成
  • メトリクスフィルターに関するアラームを作成して、アラート条件に合致したらメール通知が来るようにする
  • アラート条件は東京リージョン以外のリージョンに5分間で1回以上アクセスした場合

いざ、ハンズオンへ

まずはCloudWatchのコンソール画面からロググループを開きます。

今回はCloudTrailから取得したログに対してメトリクスフィルターを作成していこうと思いますので、CloudTrailのロググループにチェックを入れて「メトリクスフィルターの作成」をクリック

 

フィルターパターンですが、今回は下記のように記載しています。「!」は否定を表しているのでawsRegionがap-northeast-1ではない場合、つまり東京リージョン以外にアクセスがあった場合にログを検出するようにしています。フィルターパターンが正常に動作しているかどうかは「パターンのテスト」でチェックできます。

{ ( $.awsRegion != ap-northeast-1 ) }

フィルターパターンの書き方については、AWSドキュメントがとても分かやすく書かれているのでご覧ください。 ↓↓ フィルターとパターンの構文

では、続けていきます。フィルター名・メトリクス名は分かりやすくawsRegion-is-not-ap-northeast-1としています。

 

フィルターを作成すると作成したフィルターの一覧画面に遷移するので、作成したフィルターでアラームの作成をクリック

アラートの条件については要件に合わせて変更してください。

通知に関しては、メトリクスのしきい値が1を超えてアラーム状態になった時に通知を受け取れるように設定します。 今回は新規でSNSトピックを作成します。Eメールアドレスに関しては通知してほしい宛先を記入します。既存のSNSトピックがある方はそちらを使用してください。

新規でトピックを作成すると、登録したメールアドレス宛にAWSから確認メールが届きますので、メールを開封してConfirm subscriptionをクリックしてください。下記のような画面になればOKです。

アラーム名はご自由に設定してください

 

あとはプレビュー画面だけですので、内容に問題がなければアラームの作成をクリックしてください。

左のメニューバーでは不足となっていますが、これは設定した期間の5分が経過しておらずログデータをまだ1度も取得していないため出ているだけなので、しばらくすればOKに変わります。

あとは、適当に東京リージョン以外のリージョンに行ったりきたりして5分くらい経過すると・・・ はい、アラームに変わります。

あとは登録したメールアドレスの受信箱を確認しにいくと・・・

やったね!上手くメール通知させることができました!! CloudWatchは他にもAutoScallingさせたりと様々な使い方があって面白そうなので、引き続き学習を進めていきたいと思います!