Azure NSG フローログを取得・分析してみた
Azure の NSG フローログ、存在は把握していたのですがキチっと確認したことが無かったので見てみました。
環境・準備
下記の記事などを参考に、目的の NSG に対して「NSG フローログ」を有効にしました。
また、この NSG が割り当たっているサブネット上にある VM (Ubuntu) にて、「毎分 curl で外部の画像をダウンロードする」という定期的にネットワークを利用する動作を Cron で仕込んでいます。
フローログの確認
三日ほど放置した後 Blob ストレージ側を確認すると、insights-logs-networksecuritygroupflowevent
という Blob コンテナー配下にフォルダ階層が作られ、1 時間ごとにログファイルが出力されていることが確認できます。
Blob Storage のサイズ
3,4 日放置したところでは、Blob コンテナーのサイズは 10MB 弱程度でした。パケットそのものが入っているわけではなく、あくまで NSG を通った履歴のログであるため、いわゆるパケットのサイズは関係無いようです。
解析する
NSG フローログの実体は JSON ファイルですが、さすがに生データを見て分析するのは無理がありそうです。
そこで、今回は Power BI を使ってみました。その他の分析ツールとしてマイクロソフトの公式ドキュメントでは Grafana なども紹介されています。
Power BI をインストールして、上記の URL から Power BI テンプレート (Network Watcher Power BI フロー ログ テンプレート) をダウンロードして開きます。
手順に記載の通り、ログが格納されているストレージアカウント名、読み込むログ数、ストレージアカウントのアクセスキーを入力すれば自動的に読み込んでダッシュボードを表示してくれます。
時間ごとのトラフィック量や IP の分布、利用された通信ポートの割合などが確認できます。
テーブルを見ると分かるのですが、きちんとフローごとに時間を含めて記録されているので、特定の時間に絞った分析も可能になっています。
(ついでに) Azure ブックを触ってみた
ついでなのですが、Azure VM の Azure ブック (英語表記では Workbooks) も見てみました。Azure VM の左メニューから「ブック」を選択し、とりあえず見たいブックテンプレートを選べば OK です。
こんな感じで、Azure VM の「概要」ページよりもカスタマイズ性が高い感じでした。もちろん、ダッシュボード的に他のグラフや図表を追加することができますし、そのブックをテンプレートとして保存することもできます。詳しくは下記のドキュメントを参照してみてください。
まとめ
ということで、機能としては知っていたけどあまり活用したことが無かったものを触ってみました。
このあたり、定常運用の確認においては便利な機能だと思うので、ちょこちょこ採り入れていきたいですねー。
Discussion