こんにちは、Aireです。
今回はAzure Network Watcherに含まれるNSGフローログの使い方を紹介します。
NSGフローログを使用することで、NSGを通過するフローがログとしてAzureリソースに記録され、ログを可視化・分析することができます。
前提条件
NSGフローログを作成する上で必要なリソースを記載します。
- NSG:NSGフローログでは、指定したNSGを通過するネットワークトラフィックをログとして記録します。
- Insightsプロバイダ:NSGフローログを記録するためには、サブスクリプションにMicrosoft.insightsが登録されている必要があります。(デフォルトの設定はRegistered(登録済み)ですが、もしNSGフローログの記録が行われない場合は、対象のサブスクリプションに移動し、[設定]-[リソースプロバイダー]で本設定を確認してください)
- Network Watcherリソースグループ:作成したNSGフローログは、本リソースグループに割り当てられます。
- ストレージアカウント:NSGフローログのデータを格納します。
- 場所:NSGと同じリージョンに存在する必要があります。
- パフォーマンス:Standardのみサポートされています。
- アクセスキー:アクセスキーをストレージアカウントに変更すると、NSGフローログの動作が停止します。(その場合はNSGフローログを一旦無効にして、再度有効にしてください)
NSGフローログを作成する
サービス検索欄で「Network Watcher」を検索・選択後、[NSGフローログ]に移動し、[作成]をクリックします。
NSGフローログの作成画面に移動したら、[基本]タブで以下の設定を行います。
項目 | 説明 |
---|---|
NSGの選択 | 選択したNSGを介して、IPトラフィックの情報を収集します。 |
ストレージアカウント | データの送信先となるストレージアカウントを選択します。(NSGフローログの作成後に変更可能) |
リテンション期間(日数) | データの保持期間(0〜365)を指定します。0を指定した場合は、データを永続的に保持します。(NSGフローログの作成後に変更可能) |
[構成]タブで以下の設定を行います。
項目 | 説明 |
---|---|
フローログのバージョン | バージョン1と2があります。バージョン間で保持する情報に若干の差異があります。バージョン2はバージョン1を拡張したものなので基本的にはバージョン2で良いです。(NSGフローログの作成後に変更可能) |
Traffic Analyticsを有効にする | NSGフローログおよびAzureリソースのデータを基に分析と視覚化を行います。追加の従量課金が発生します。(NSGフローログの作成後に変更可能) |
設定値を確認し、[作成]をクリックします。
NSGフローログを可視化する
NSGフローログを作成したらデータを分析し、可視化を行います。Microsoft LearnのNSGフローのログ記録の概要では、以下の方法が紹介されています。
- Azure Traffic Analytics:NSGフローログを分析・可視化するAzureのネイティブサービスです。
- Power BI:Microsoft社が提供するBIツールです。
- Elastic Stack:Elastic社が提供する、データの収集や加工、集計、分析を行えるツール群です。
- Grafana:データベースの可視化やアラートの設定を行えるOSSです。
- Graylog:ログの収集や管理、可視化が可能なOSSです。
Azure Traffic Analytics以外の方法は上記ページにチュートリアルが掲載されているので、ここではAzure Traffic Analyticsを活用してデータを視覚化する手順を記載します。
- NSGフローログを作成する際、または作成した後のフローログ設定画面で以下の設定を行います。
項目 | 説明 |
---|---|
Traffic Analyticsを有効にする | Azure Traffic Analyticsを使用するのでチェックを入れます。 |
トラフィック分析の処理間隔 | Traffic Analyticsによって、1時間ごとまたは10分ごとに、ストレージアカウントからNSGフローログを収集、処理します。 |
Log Analyticsワークスペース | Traffic Analyticsは未加工のNSGフローログにアクセスします。分析で使用される集計済みのインデックス付きデータをLog Analyticsワークスペースに格納します。 |
- Network Watcherの画面に戻り、[トラフィック分析]を選択すると分析結果が表示されます。
Traffic Analyticsで可視化したNSGフローログを確認する
Traffic Analyticsを有効にすることで可視化されたNSGフローログの情報を記載します。
トラフィックの可視化
指定期間に該当する受信/送信フローの総数が表示されます。図中のフローをクリックすると、ログの検索画面に移動し、特定のログを確認できます。
環境
リージョンや仮想ネットワーク、サブネット、NSGの概要が表示されます。具体的には、Traffic Analyticsが有効なNSGやリージョンの数、アクティブなフローログがある仮想ネットワークやサブネットの数が分かります。それぞれの[表示]ボタンをクリックすると、該当するNSGや仮想ネットワークなど詳細情報を確認できます。
トラフィックの分布
フロー数の多い上位20件のIP(仮想マシン)やサブネット、VNet、VMSS(仮想マシンスケールセット)が表示されます。[すべて表示]をクリックすると、詳細情報を確認できます。
NSGヒット
NSGおよびNSGルールの分析結果として、トラフィックの多いNSGやルールを確認できます。[すべて表示]をクリックすると、詳細情報を確認できます。例えば、インターネットへのアウトバウンド通信を許可した回数(=トラフィックがNSGのAllowInternetOutBoundルールにヒットした回数)などが分かります。
アプリケーションポート
フロー数の多い上位のポート/プロトコルが表示されます。[すべて表示]をクリックすると、詳細情報を確認できます。例えば、許可または悪意のあるものとしてブロックされたtelnet(宛先ポート:23)のフロー数などが分かります。
ネットワークアプリケーションリソース
フロー数の多い上位のゲートウェイやロードバランサーが表示されます。[すべて表示]をクリックすると、詳細情報を確認できます。
補足
Traffic Analyticsで使用するデータの保有期間を長くする
NSGフローログを可視化するためにTraffic Analyticsを使用する場合、分析用のデータはLog Analyticsワークスペースに保管されますが、Log Analyticsワークスペース上のデータの保有期間は、デフォルトでは30日です。
データをより長い期間保有したい場合は、Log Analyticsワークスペースのデータ保有期間を変更してください。
なお、Traffic Analyticsを有効にするとLog Analyticsワークスペース内に「AzureNetworkAnalytics_CL」テーブルが作成されるので、Log Analyticsワークスペース内の全てのデータではなく、Traffic Analytics用のデータの保有期間のみを設定したい場合は、当該テーブルのデータ保有期間を設定するようにしてください。
Log Analyticsワークスペースのデータ保有期間の設定方法は、以下の記事を参考にしてください。
NSGフローログの料金
NSGフローログを使用する際は以下の利用料が発生します。(2023年11月時点)
課金項目 | 利用料金 | 毎月の無料利用枠 |
---|---|---|
フローログの収集量 | 74.803 [円/GB] | 最初の5 GB |
Traffic Analytics | 523.618 [円/GB] ※処理間隔が10分ごとの場合 344.092 [円/GB] ※処理間隔が1時間ごとの場合 | – |
最新情報は以下の公式サイトを確認してください。
以上、ここまで。