はじめに
Network WatcherではNSGフローログを取得することが可能です。NSGフローログはトラフィックに関する情報をログに保存できます。
ログは1分間隔に収集されストレージアカウント、Log Analyticsに保存されます。
保存されたログはLog Analyticsなどで分析することができます。
-
NSG フロー ログの管理 - Azure PowerShell - Azure Network Watcher | Microsoft Learn
Azure PowerShell を使用して Azure Network Watcher の NSG フロー ログを作成、変更、無効化、または削除する方法について説明します。
docs.microsoft.com
前提条件
今回は分析のために、Traffic Analyticsを利用するためユーザーに所有者、共同作成者、閲覧者、ネットワーク共同作成者のいずれかのロールをサブスクリプションに割り当てます。
-
トラフィック分析の FAQ - Azure Network Watcher | Microsoft Learn
Azure Network Watcher のトラフィック分析についてよく寄せられる質問 (FAQ) への回答を示しました。
docs.microsoft.com
ストレージアカウント
ストレージアカウントは汎用v1、v2がサポートされています。違いは、保持機能の有無になります。
v2では最長1年間で自動削除するかしないか設定が行えます。v1では保持機能が利用できないためログは増え続けます。
特段、v2で良いような気がします。
ログバージョン
フローログにはバージョンがあります。
v1、v2です。v2はv1が拡張されたものです。極端なストレージアカウントの利用制限が無ければv2で良いと思います。
解析方法
ログの分析方法には以下のような方法があります。
- Traffic Analytics
- PowerBI
- Splunk、Grafana、Stealthwatchなど
今回はAzureで利用できる、Traffic Analyticsを紹介します。
事前にLog Analyticsを用意しておくとよいと思います(利用できるまでに時間がかかるため)
NSGフローログの設定
設定をさほど難しいものではありません。
NSGフローログから作成します。
NSGを先約して保存するストレージアカウントを設定(ない場合は新規作成)します。
ストレージのバージョンはv2です。
同じ名前でNSGを作成していると訳が分からなくなるので注意が必要です。
フローログのバージョンは2を選択しています。
取得できる内容が多いためです。
Traffic Analyticsを有効にし、Log Analyticsワークスペースを選択します。
以上で設定は完了です。
Traffic Analyticsを確認
30分程度余裕をみてTraffic Analyticsを確認します。
見れないときは1時間以上かかる可能性もあります。
Traffic Analyticsではトラフィックを分析して表示してくれます。
環境についても表示してくれます。
これらも視覚的に表示してくれます。
下記はデプロイされているAzureリージョンのマップ表示です。
トラフィックの分布を確認できます。
下記ではNSGフローログを有効にしているのが一つなので、このように一つだけ表示れます。
NSGヒットがグラフに表示されます。どのルールが適用されてる、通信の可否が行われているかが分かります。
処理したアプリケーションのポートを確認できます。
下記では443(https)が占めていることが分かります。
その他にもゲートウェイやロードバランサーといったものからも情報を取得することができます。
まとめ
Azure全体の通信のフローを日常的に分析して問題になっている場所はないか確認するにはとても良いツールだと思います。また、セキュリティの問題点なども確認することができると思います。
様々なアプリケーションが乱立して、どのように動作しているかは運用する場合はなかなか状況をつかめません。このように可視化されることで効率的に運用が行えると思います。