Network WatcherのTraffic Analyticsが何だか良さげ

どうも。株式会社エクシードでPoCなどを行っている鶴見です。

いきなりですが、Azure Network Watcherに進展です。
Network Watcherとは何ぞや？という方は私が以前書いた記事を見ていただければと思います。

[Azure Network Watcherの超概要](https://qiita.com/j-tsurumi/items/7c8ed0314df53dcd2611)

話を戻しますとAzure Network Watcherに中々イカした新機能が追加されました。
先日Network Watcherに関する記事を書いてすぐに機能更新があるとは思いませんでした。。
それが以下になります。

https://azure.microsoft.com/en-us/blog/traffic-analytics-in-preview/

**トラフィック分析機能です。**

この機能をざっくりとまとめると
　-NSGのフローログを分析してパフォーマンスの最適化情報やセキュリティの推奨事項、ネットワークのアクティビティの監査等を行う。
　-クラウドのネットワークアクティビティの可視化、ネットワークのセキュリティ向上、アプリケーションのパフォーマンス向上等に役立てる。

今回はどんな感じの機能なのか、どう実装すればいいのかってあたりを書いていきます。

## 実際の画面

ドキュメントにも記載されているのでわざわざ載せる必要もないのですが、実際のメインページは以下になります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/181154/f3a82584-56b6-a921-c690-19ec9fad7f56.png)
画像が小さくて見づらいですが、何となくかなり情報が載ってそうですね。
トラフィックの情報を分析して切り口を変えて、色々と表示している印象です。

例えばどの種類の通信が一番行われているかという「頻度が最大の会話」の「詳細情報」を選択すると以下の様により詳細な情報を得ることが出来ます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/181154/f657e406-4326-076d-20d0-ada0a6feb9c5.png)
10.0.17.4は私の仮想マシンのプライベートIPですが対向が国で表示されているのが少し歯がゆいですね。
ページ下部の「もっと見る」を選択するとLog Analyticsのログ検索画面に遷移し、ソースとなったログ情報を見ることが出来ます。

さらにメインページ上部の「悪意のあるフロー」を選択すると、分析基盤側で判断した悪意のある可能性があるIPからのフローのログデータを見ることが出来ます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/181154/4ca7ffc5-5a2f-f627-9aa2-54f9a4ad5728.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/181154/d3b2550c-37ac-edd1-9435-291a11196e9f.png)

ちゃんとどのIPが怪しいかまで書いてくれてますね。ありがたい。
Log Analyticsのログアラート機能を使用して上記をトリガーにアラートを発行すると監視もできますね。

また**Geoマップビュー**なる機能もあり、どこら辺の地域との通信を行っているのかといった情報をグラフィカルに表示してくれます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/181154/fea653e5-f91f-b1a5-bc7e-4db8c71365f6.png)

## 実装方法

ではここからはどのようにこの機能を実装すればいいかを書き連ねていきます。
事前の注意として公開されたばかりの機能が故に使用できるリージョンが限られています。
現状提供されているリージョンは米国中西部、米国東部、米国東部2、米国中北部、米国中南部、米国中央、米国西部、米国西部2、ヨーロッパ西部、ヨーロッパ北部、英国西部、英国南部、オーストラリア東部、オーストラリア東南部です。

また分析機能を有効に数rためにはLog Analyticsのワークスペースも用意する必要があるのですが、そちらに関しても米国中西部、米国東部、ヨーロッパ西部、オーストラリア東南部、英国南部のいずれかのリージョンにあるもののみが使用できるそうです。

私は検証のために米国中西部に環境を作りました。日本リージョンが対応していないのが残念です。

### Network Watcherの有効化

Network Watcherの機能を使用するためにはまず、Network Watcherを有効化する必要があります。
Network Watcherの概要ページから有効化作業は可能です。
有効化は使用するリージョンのみに対して行っても、全リージョン一括でやっても構いません。
一括で行う場合は以下の画像の赤線部分から可能です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/181154/1eec5d55-f26c-423b-d3d0-0cf804d44216.png)

### NSGフローログおよびトラフィック分析の有効化

分析のデータソースとなるNSGフローログの有効化およびトラフィック分析は同一の画面から行うことが出来ます。
Network Watcherのメニューから「NSGフローログ」を選択し、有効化したNSGを選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/181154/5c5bd99c-4cdc-642b-6207-4805675fcf71.png)

その後、構成画面にてフローログの収集先であるストレージアカウントおよび分析基盤とするワークスペースを選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/181154/525e2fda-0470-6909-ca67-ac420ad26e05.png)
画像に書かれていますが、ストレージアカウントとワークスペースは同一リージョンを選択しないと、データの転送のたびにネットワーク課金が発生するのでご注意ください。
最後に保存を選択すれば以上になります！
簡単に2ステップで実装が可能です！


## 終わりに

個人的には上記の機能もいい感じなのですが、**NSGのフローログをLog Analyticsに直接送り込める**のが大変魅力でした。
※生ログではなく多少カスタムした形で送られてしまうのが残念ですが、、、

以前Qiitaの方に書かさせていただきましたが、今までNSGのフローログをLog Analyticsに送り込むには
データコレクターAPIを使用して、ユーザー側で色々と構成する必要がありました。

[Azure NSGフローログをLog Analyticsに保管する](https://qiita.com/j-tsurumi/items/f111c6bde652d3e48996)

しかし今回の機能更新によってポータルから直接ワークスペースを指定できるようになったので、手間が省けて楽です。

まだ私自身もあまり触れていないので、ざっくりとした内容になりましたので、いずれもう少し更新していければと思います。

ではでは。

## 参考ページ

・[MSの公式ドキュメント](https://docs.microsoft.com/ja-jp/azure/network-watcher/traffic-analytics)
・[MSのアナウンスページ](https://azure.microsoft.com/en-us/blog/traffic-analytics-in-preview/)