仮想ネットワーク フロー ログは、Azure 仮想ネットワークを通過する IP トラフィックに関する情報をログに記録できる Azure Network Watcher の機能です。 仮想ネットワーク フロー ログの詳細については、「 仮想ネットワーク フロー ログの概要」を参照してください。
この記事では、Azure portal、PowerShell、Azure CLI を使用して仮想ネットワーク フロー ログを作成、変更、有効化、無効化、または削除する方法について説明します。
[前提条件]
Insights プロバイダーを登録する
仮想ネットワークを通過するトラフィックを正常にログに記録するには、Microsoft.Insights プロバイダーを登録する必要があります。
Microsoft.Insights プロバイダーが登録されているかどうかわからない場合は、次の手順に従って、Azure portal でその状態を確認します。
ポータルの上部にある検索ボックスに、サブスクリプションを入力 します。 検索結果から [サブスクリプション] を選択します。
[サブスクリプション] で、プロバイダーを有効にする Azure サブスクリプションを選びます。
[ 設定] で、[ リソース プロバイダー] を選択します。
フィルター ボックスに 分析情報 を入力します。
表示されるプロバイダーの状態が [登録済み] であることを確認します。 状態が NotRegistered の場合は、 Microsoft.Insights プロバイダーを選択し、[ 登録] を選択します。
仮想ネットワークでトラフィックを正常にログに記録するには、Microsoft.Insights プロバイダーを登録する必要があります。
Microsoft.Insights プロバイダーが登録されているかどうかわからない場合は、Register-AzResourceProvider を使用して登録します。
# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace Microsoft.Insights
仮想ネットワークでトラフィックを正常にログに記録するには、Microsoft.Insights プロバイダーを登録する必要があります。
Microsoft.Insights プロバイダーが登録されているかどうかわからない場合は、az provider register を使用して登録します。
# Register Microsoft.Insights provider.
az provider register --namespace Microsoft.Insights
フロー ログの作成
仮想ネットワーク、サブネット、またはネットワーク インターフェイスのフロー ログを作成します。 このフロー ログは、Azure ストレージ アカウントに保存されます。
ポータルの上部にある検索ボックスに、「 network watcher」と入力します。 検索結果から Network Watcher を選択します。
[ ログ] で、[ フロー ログ] を選択します。
Network Watcher | フロー ログ で、+ 作成 または フロー ログの作成 の青いボタンを選択します。
[フロー ログの作成] の [基本] タブで、次の値を入力するか選びます。
設定 |
価値 |
プロジェクトの詳細 |
|
サブスクリプション |
仮想ネットワークを含む Azure サブスクリプションを選択します。 |
フロー ログの種類 |
[ 仮想ネットワーク] を選択し、[ + ターゲット リソースの選択] を選択します。 使用可能なオプションは、 仮想ネットワーク、 サブネット、 ネットワーク インターフェイスです。 ログに記録するリソースを選択し、[選択内容の確認] を選択 します。 |
フロー ログ名 |
フロー ログの名前を入力するか、既定の名前のままにします。 Azure portal では、既定の名前として {ResourceName}-{ResourceGroupName}-flowlog が使用されます。 |
インスタンスの詳細 |
|
サブスクリプション |
ストレージ アカウントを含む Azure サブスクリプションを選択します。 |
ストレージ アカウント |
フロー ログを保存するストレージ アカウントを選択します。 新しいストレージ アカウントを作成するには、[ 新しいストレージ アカウントの作成] を選択します。 |
保有期間 (日) |
ログのリテンション期間を日数で入力します。 このオプションは、 Standard 汎用 v2 ストレージ アカウントでのみ使用できます。 フロー ログ データを無期限に保持するには、 0 を入力します (手動で削除するまで)。 価格については、 Azure Storage の価格に関するページを参照してください。 |
Important
NIC、サブネット、および仮想ネットワーク レベルで仮想ネットワーク フロー ログを構成する場合、有効化設定は次の順序に従います:NIC > サブネット > 仮想ネットワーク。
注意事項
仮想ネットワーク フロー ログは、ブロックを追加することで、1 分間隔でブロック BLOB に取り込まれます。 インジェストの進行中は、BLOB コンテンツの編集、上書き、削除など、BLOB のブロック構造を変更する操作は実行しないでください。 これらの操作により、その特定の時間の BLOB に対して後続のすべてのフロー ログ書き込み操作が失敗する可能性があります。
トラフィック分析を有効にするには、[ 次へ: 分析 ] ボタンを選択するか、[ 分析 ] タブを選択します。次の値を入力または選択します。
設定 |
価値 |
トラフィック分析を有効にする |
フロー ログのトラフィック分析を有効にするには、このチェック ボックスをオンにします。 |
トラフィック分析の処理間隔 |
必要な処理間隔を選択します。使用可能なオプションは 1 時間ごと 、 10 分ごとです。 既定の処理間隔は 1 時間ごとです。 詳細については、「 トラフィック分析」を参照してください。 |
サブスクリプション |
Log Analytics ワークスペースの Azure サブスクリプションを選択します。 |
Log Analytics ワークスペース |
Log Analytics ワークスペースを選択します。 既定では、Azure portal は DefaultWorkspace-{SubscriptionID}-{Region} Log Analytics ワークスペースを defaultresourcegroup-{Region} リソース グループに作成します。 |
[ 確認と作成] を選択します。
設定を確認し、[ 作成] を選択します。
New-AzNetworkWatcherFlowLog コマンドレットを使用して、仮想ネットワーク フロー ログを作成します。
トラフィック分析なしで仮想ネットワーク フロー ログを有効にする
# Place the virtual network configuration into a variable.
$vnet = Get-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup'
# Place the storage account configuration into a variable.
$storageAccount = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Create a VNet flow log.
New-AzNetworkWatcherFlowLog -Enabled $true -Name 'myVNetFlowLog' -NetworkWatcherName 'NetworkWatcher_eastus' -ResourceGroupName 'NetworkWatcherRG' -StorageId $storageAccount.Id -TargetResourceId $vnet.Id -FormatVersion 2
仮想ネットワーク フロー ログとトラフィック分析を有効にする
# Place the virtual network configuration into a variable.
$vnet = Get-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup'
# Place the storage account configuration into a variable.
$storageAccount = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Create a traffic analytics workspace and place its configuration into a variable.
$workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'EastUS'
# Create a VNet flow log.
New-AzNetworkWatcherFlowLog -Enabled $true -Name 'myVNetFlowLog' -NetworkWatcherName 'NetworkWatcher_eastus' -ResourceGroupName 'NetworkWatcherRG' -StorageId $storageAccount.Id -TargetResourceId $vnet.Id -FormatVersion 2 -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId -TrafficAnalyticsInterval 10
az network watcher flow-log create コマンドを使用して、仮想ネットワーク フロー ログを作成します。
トラフィック分析なしで仮想ネットワーク フロー ログを有効にする
# Create a VNet flow log.
az network watcher flow-log create --___location 'eastus' --resource-group 'myResourceGroup' --name 'myVNetFlowLog' --vnet 'myVNet' --storage-account 'myStorageAccount'
# Create a VNet flow log (storage account is in a different resource group from the virtual network).
az network watcher flow-log create --___location 'eastus' --resource-group 'myResourceGroup' --name 'myVNetFlowLog' --vnet 'myVNet' --storage-account '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/StorageRG/providers/Microsoft.Storage/storageAccounts/myStorageAccount'
仮想ネットワーク フロー ログとトラフィック分析を有効にする
# Create a traffic analytics workspace.
az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup' --___location 'eastus'
# Create a VNet flow log.
az network watcher flow-log create --___location 'eastus' --name 'myVNetFlowLog' --resource-group 'myResourceGroup' --vnet 'myVNet' --storage-account 'myStorageAccount' --traffic-analytics true --workspace 'myWorkspace' --interval 10
# Create a traffic analytics workspace.
az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup' --___location 'eastus'
# Create a VNet flow log (storage account and traffic analytics workspace are in different resource groups from the virtual network).
az network watcher flow-log create --___location 'eastus' --name 'myVNetFlowLog' --resource-group 'myResourceGroup' --vnet 'myVNet' --storage-account '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/StorageRG/providers/Microsoft.Storage/storageAccounts/myStorageAccount' --traffic-analytics true --workspace '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/WorkspaceRG/providers/Microsoft.OperationalInsights/workspaces/myWorkspace' --interval 10
Important
ストレージ アカウントが別のサブスクリプションにある場合、ログに記録しているリソース (仮想ネットワーク、サブネット、またはネットワーク インターフェイス) とストレージ アカウントは、同じ Microsoft Entra テナントに関連付けられている必要があります。 各サブスクリプションに使用するアカウントには 、必要なアクセス許可が必要です。
注意事項
トラフィック分析では、Log Analytics ワークスペースと同じリソース グループ内に データ収集規則 (DCR) リソースと データ収集エンドポイント (DCE) リソースが作成および管理され、先頭に NWTA
が付いています。 これらのリソースに対して何らかの操作を実行すると、トラフィック分析が期待どおりに機能しない可能性があります。
トラフィック分析を有効または無効にする
フロー ログのトラフィック分析を有効にして、フロー ログ データを分析します。 トラフィック分析は、仮想ネットワークのトラフィック パターンに関する分析情報を提供します。 フロー ログのトラフィック分析はいつでも有効または無効にすることができます。
注
トラフィック分析を有効または無効にするだけでなく、他のフロー ログ設定を変更することもできます。
フロー ログのトラフィック分析を有効にするには、次の手順に従います。
ポータルの上部にある検索ボックスに、「 network watcher」と入力します。 検索結果から Network Watcher を選択します。
[ ログ] で、[ フロー ログ] を選択します。
Network Watcher で |フロー ログで、トラフィック分析を有効にするフロー ログを選択します。
フロー ログの設定の [トラフィック分析] で、[トラフィック分析を有効にする] チェック ボックスをオンにします。
次の値を入力または選択します。
設定 |
価値 |
サブスクリプション |
Log Analytics ワークスペースの Azure サブスクリプションを選択します。 |
Log Analytics ワークスペース |
Log Analytics ワークスペースを選択します。 既定では、Azure portal は DefaultWorkspace-{SubscriptionID}-{Region} Log Analytics ワークスペースを defaultresourcegroup-{Region} リソース グループに作成します。 |
トラフィック記録の間隔 |
必要な処理間隔を選択します。使用可能なオプションは 1 時間ごと 、 10 分ごとです。 既定の処理間隔は 1 時間ごとです。 詳細については、「 トラフィック分析」を参照してください。 |
[ 保存] を 選択して変更を適用します。
フロー ログのトラフィック分析を無効にするには、前の手順 1 から 3 を実行し、[ トラフィック分析を有効にする ] チェックボックスをオフにして 、[保存] を選択します。
フロー ログ リソースでトラフィック分析を有効にするには、 Set-AzNetworkWatcherFlowLog コマンドレットを 使用します。
# Place the virtual network configuration into a variable.
$vnet = Get-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup'
# Place the storage account configuration into a variable.
$storageAccount = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Place the workspace configuration into a variable.
$workspace = Get-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup'
# Update the VNet flow log.
Set-AzNetworkWatcherFlowLog -Enabled $true -Name 'myVNetFlowLog' -NetworkWatcherName 'NetworkWatcher_eastus' -ResourceGroupName 'NetworkWatcherRG' -StorageId $storageAccount.Id -TargetResourceId $vnet.Id -FormatVersion 2 -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId -TrafficAnalyticsInterval 10
フロー ログ リソースでトラフィック分析を無効にし、仮想ネットワーク フロー ログを生成してストレージ アカウントに保存し続けるには、 Set-AzNetworkWatcherFlowLog コマンドレットを使用します。
# Place the virtual network configuration into a variable.
$vnet = Get-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup'
# Place the storage account configuration into a variable.
$storageAccount = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Update the VNet flow log.
Set-AzNetworkWatcherFlowLog -Enabled $true -Name 'myVNetFlowLog' -NetworkWatcherName 'NetworkWatcher_eastus' -ResourceGroupName 'NetworkWatcherRG' -StorageId $storageAccount.Id -TargetResourceId $vnet.Id -FormatVersion 2
フロー ログ リソースでトラフィック分析を有効にするには、 az network watcher flow-log update コマンドを 使用します。
# Update the VNet flow log.
az network watcher flow-log update --___location 'eastus' --name 'myVNetFlowLog' --resource-group 'myResourceGroup' --vnet 'myVNet' --storage-account 'myStorageAccount' --traffic-analytics true --workspace 'myWorkspace' --interval 10
フロー ログ リソースでトラフィック分析を無効にし、仮想ネットワーク フロー ログの生成とストレージ アカウントへの保存を続行するには、 az network watcher flow-log update コマンドを使用します。
# Update the VNet flow log.
az network watcher flow-log update --___location 'eastus' --name 'myVNetFlowLog' --resource-group 'myResourceGroup' --vnet 'myVNet' --storage-account 'myStorageAccount' --traffic-analytics false
注意事項
トラフィック分析では、Log Analytics ワークスペースと同じリソース グループ内に データ収集規則 (DCR) リソースと データ収集エンドポイント (DCE) リソースが作成および管理され、先頭に NWTA
が付いています。 これらのリソースに対して何らかの操作を実行すると、トラフィック分析が期待どおりに機能しない可能性があります。
すべてのフロー ログを一覧表示する
サブスクリプションまたはサブスクリプションのグループ (Azure portal) 内のすべてのフロー ログを一覧表示できます。 リージョン内のすべてのフロー ログを一覧表示することもできます。
ポータルの上部にある検索ボックスに、「 network watcher」と入力します。 検索結果から Network Watcher を選択します。
[ ログ] で、[ フロー ログ] を選択します。
[ サブスクリプションと等しい] フィルターを選択して、1 つ以上のサブスクリプションを選択します。
Location equals などの他のフィルターを適用して、リージョン内のすべてのフロー ログを一覧表示できます。
Get-AzNetworkWatcherFlowLog コマンドレットを使用して、サブスクリプション内の特定のリージョンのすべてのフロー ログ リソースを一覧表示します。
# Get all flow logs in East US region.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table
az network watcher flow-log list コマンドを使用して、サブスクリプション内の特定のリージョンのすべてのフロー ログ リソースを一覧表示します。
# Get all flow logs in East US region.
az network watcher flow-log list --___location 'eastus' --out table
フロー ログ リソースの詳細を表示する
フロー ログの詳細を表示できます。
ポータルの上部にある検索ボックスに、「 network watcher」と入力します。 検索結果から Network Watcher を選択します。
[ ログ] で、[ フロー ログ] を選択します。
Network Watcher で |フロー ログで、表示するフロー ログを選択します。
フロー ログの設定では、フロー ログ リソースの設定を表示できます。
変更を加えずに設定ページを閉じるには、[ キャンセル] を 選択します。
Get-AzNetworkWatcherFlowLog コマンドレットを使用して、フロー ログ リソースの詳細を確認します。
# Get the flow log details.
Get-AzNetworkWatcherFlowLog -NetworkWatcherName 'NetworkWatcher_eastus' -ResourceGroupName 'NetworkWatcherRG' -Name 'myVNetFlowLog'
az network watcher flow-log show を使用して、フロー ログ リソースの詳細を表示します。
# Get the flow log details.
az network watcher flow-log show --name 'myVNetFlowLog' --resource-group 'NetworkWatcherRG' --___location 'eastus'
フロー ログをダウンロードする
フロー ログのデータは、フロー ログを保存したストレージ アカウントからダウンロードできます。
ポータルの上部にある検索ボックスに、「ストレージ アカウント」と入力します。 検索結果から ストレージ アカウント を選択します。
ログの格納に使用したストレージ アカウントを選択します。
[ データ ストレージ] で、[コンテナー] を選択 します。
insights-logs-flowlogflowevent コンテナーを選択します。
insights-logs-flowlogflowevent で、ダウンロードするPT1H.json
ファイルが表示されるまでフォルダー階層に移動します。 仮想ネットワーク フロー ログ ファイルは、次のパスになります。
https://{storageAccountName}.blob.core.windows.net/insights-logs-flowlogflowevent/flowLogResourceID=/{subscriptionID}_NETWORKWATCHERRG/NETWORKWATCHER_{Region}_{ResourceName}-{ResourceGroupName}-FLOWLOGS/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
ファイルの右側にある省略記号 PT1H.json
を選択し、[ダウンロード] を選択します。
ストレージ アカウントから仮想ネットワーク フロー ログをダウンロードするには、 Get-AzStorageBlobContent コマンドレットを使用します。 詳細については、「 BLOB のダウンロード」を参照してください。
仮想ネットワーク フロー ログは、次のパスでストレージ アカウントに保存されます。
https://{storageAccountName}.blob.core.windows.net/insights-logs-flowlogflowevent/flowLogResourceID=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_{Region}/FLOWLOGS/{FlowlogResourceName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
ストレージ アカウントから仮想ネットワーク フロー ログをダウンロードするには、 az storage blob download コマンドを使用します。 詳細については、「 BLOB のダウンロード」を参照してください。
仮想ネットワーク フロー ログは、次のパスでストレージ アカウントに保存されます。
https://{storageAccountName}.blob.core.windows.net/insights-logs-flowlogflowevent/flowLogResourceID=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_{Region}/FLOWLOGS/{FlowlogResourceName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
フロー ログの構造については、「 仮想ネットワーク フロー ログのログ形式」を参照してください。
フロー ログを無効にする
仮想ネットワーク フロー ログを削除せずに一時的に無効にできます。 フロー ログを無効にすると、関連付けられている仮想ネットワークのフロー ログが停止します。 ただし、フロー ログ リソースは、そのすべての設定および関連付けと共に残ります。 いつでも再び有効にして、構成された仮想ネットワークのフロー ログを再開することができます。
ポータルの上部にある検索ボックスに、「 network watcher」と入力します。 検索結果から Network Watcher を選択します。
[ ログ] で、[ フロー ログ] を選択します。
Network Watcher で |フロー ログで、無効にするフロー ログのチェック ボックスをオンにします。
[無効] を選択します。
注
フロー ログに対してトラフィック分析が有効になっている場合は、フロー ログを無効にする前にトラフィック分析を無効にする必要があります。 トラフィック分析を無効にするには、「 トラフィック分析を有効または無効にする」を参照してください。
フロー ログを無効にするには 、Set-AzNetworkWatcherFlowLog コマンドレットを使用します。
# Place the virtual network configuration into a variable.
$vnet = Get-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup'
# Place the storage account configuration into a variable.
$storageAccount = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Disable the VNet flow log.
Set-AzNetworkWatcherFlowLog -Enabled $false -Name 'myVNetFlowLog' -NetworkWatcherName 'NetworkWatcher_eastus' -ResourceGroupName 'NetworkWatcherRG' -StorageId $storageAccount.Id -TargetResourceId $vnet.Id
注
トラフィック分析を有効にしてフロー ログを無効にする場合は、フロー ログを無効にする前に、同じコマンドでトラフィック分析を無効にするか、最初に無効にする必要があります。
az network watcher flow-log update コマンドを使用して、フロー ログを無効にします。
# Update the VNet flow log.
az network watcher flow-log update --enabled false --___location 'eastus' --name 'myVNetFlowLog' --resource-group 'myResourceGroup' --vnet 'myVNet' --storage-account 'myStorageAccount'
注
トラフィック分析を有効にしてフロー ログを無効にする場合は、フロー ログを無効にする前に、同じコマンドでトラフィック分析を無効にするか、最初に無効にする必要があります。
フロー ログを削除する
仮想ネットワーク フロー ログを完全に削除できます。 フロー ログを削除すると、その設定と関連付けがすべて削除されます。 同じリソースに対してフロー ログを再度開始するには、新しいフロー ログを作成する必要があります。
ポータルの上部にある検索ボックスに、「 network watcher」と入力します。 検索結果から Network Watcher を選択します。
[ ログ] で、[ フロー ログ] を選択します。
Network Watcher で |フロー ログで、削除するフロー ログのチェック ボックスをオンにします。
[ 削除] を選択します。
注
フロー ログを削除しても、ストレージ アカウントからフロー ログ データは削除されません。 ストレージ アカウントに格納されているフロー ログ データは、構成されているアイテム保持ポリシーに従うか、手動で削除されるまでストレージ アカウントに保存されます。
関連コンテンツ