AWS WAFの可視化とモニタリング(CloudWatch統合)を初心者向けに解説
生徒
「先生、AWS WAFで攻撃を防御できるのはわかりますが、それを画面で確認したり、攻撃の傾向をモニタリングすることはできますか?」
先生
「はい、AWS WAFはCloudWatch(クラウドウォッチ)と統合することで、可視化やモニタリングができます。ダッシュボードで攻撃数やブロック数をグラフ表示したり、アラームを設定して異常を検知することも可能です。」
生徒
「なるほど!ただ防御するだけじゃなくて、見える化して監視できるんですね。」
先生
「その通りです。では、AWS WAFとCloudWatchを組み合わせた可視化とモニタリングの基本を学んでいきましょう。」
1. AWS WAFとCloudWatchの関係
AWS WAF(ウェブ アプリケーション ファイアウォール)は、WebアプリケーションをSQLインジェクションやクロスサイトスクリプティングなどの攻撃から守る仕組みです。CloudWatch(クラウドウォッチ)は、AWS全体のリソースを監視するサービスで、メトリクスやログを収集し、可視化やアラート通知を行えます。
WAFの動作をCloudWatchに送ることで、ブロック数や許可数などをグラフ化でき、運用者が攻撃の状況をひと目で把握できるようになります。
2. 可視化できる主なメトリクス
CloudWatchと統合すると、AWS WAFから以下のようなメトリクスが収集されます。
- AllowedRequests:許可されたリクエスト数
- BlockedRequests:ブロックされたリクエスト数
- CountedRequests:カウントモードで記録されたリクエスト数
- CaptchaRequests:CAPTCHA(キャプチャ)に応答したリクエスト数
- RuleEvaluations:どのルールが判定に使われたか
これらを折れ線グラフや棒グラフにすることで、どの時間帯に攻撃が集中しているのか、どのルールが頻繁に使われているのかがひと目でわかります。
3. 可視化の手順
AWS WAFのメトリクスをCloudWatchに統合する手順は次の通りです。
- AWSマネジメントコンソールでWAFのWeb ACL(ウェブ アクセス コントロール リスト)を開く
- 「メトリクス」タブを確認し、CloudWatchに送信されているか確認
- CloudWatchコンソールに移動してダッシュボードを作成
- グラフウィジェットを追加し、WAFのメトリクス(BlockedRequestsなど)を選択
- 保存してダッシュボード化する
これで、リアルタイムに攻撃数を可視化するダッシュボードが作成されます。
4. アラームによるモニタリング
CloudWatchの強力な機能のひとつがアラーム設定です。例えば、「1分間に100件以上ブロックされたら通知する」といったルールを作成できます。
通知はSNS(エスエヌエス、Simple Notification Service)を使ってメールやチャットに送ることができ、異常をすぐに検知できます。これにより、攻撃が急増したときに即座に対応できる体制を整えることができます。
5. ダッシュボード活用のメリット
CloudWatchダッシュボードを活用するメリットは次の通りです。
- 攻撃状況をひと目で把握できる
- 時間ごとの傾向を見てルール改善に活かせる
- 異常検知を自動化できる
- 他のAWSリソース(EC2やS3など)の監視とあわせて統合管理できる
単なる防御から一歩進んで、「見える化」「予防」「早期対応」ができるようになります。
6. 初心者がまず行うべきこと
最初は、BlockedRequestsを可視化するグラフを1つ作り、毎日の推移を確認することから始めましょう。その上で、異常な増加があればアラームを設定し、通知を受け取れるようにすれば、運用の第一歩として十分です。
慣れてきたら、特定のルール単位のメトリクスを確認したり、ダッシュボードを複数作成して、攻撃パターンごとに分けて可視化するのがおすすめです。