Azure PowerShell を使用して VNet フロー ログを作成、変更、有効化、無効化、または削除する

仮想ネットワーク フロー ログは、Azure 仮想ネットワークを通過する IP トラフィックに関する情報をログに記録できる Azure Network Watcher の機能です。 仮想ネットワーク フロー ログの詳細については、仮想ネットワーク フロー ログの概要に関するページを参照してください。

この記事では、Azure PowerShell を使用して VNet フロー ログを作成、変更、有効化、無効化、または削除する方法について説明します。 Azure portal または Azure CLI を使用して VNet フロー ログを管理する方法について説明します。

重要

VNet フロー ログ機能は現在、プレビュー段階です。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードに使用することは推奨されません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

前提条件

Insights プロバイダーの登録

仮想ネットワーク内のトラフィックを正しくログに記録するには、Microsoft.Insights プロバイダーが登録されている必要があります。 Microsoft.Insights プロバイダーが登録されているかどうか不明な場合は、Register-AzResourceProvider を使用して登録します。

# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace Microsoft.Insights

VNet フロー ログを有効にする

New-AzNetworkWatcherFlowLog を使用して VNet フロー ログを作成します。

# 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

VNet フロー ログとトラフィック分析を有効にする

New-AzOperationalInsightsWorkspace を使用してトラフィック分析ワークスペースを作成し、New-AzNetworkWatcherFlowLog を使用して、それを使用する VNet フロー ログを作成します。

# 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 -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId -TrafficAnalyticsInterval 10

リージョン内のすべてのフロー ログを一覧表示する

Get-AzNetworkWatcherFlowLog を使用して、サブスクリプション内の特定のリージョン内のすべてのフロー ログ リソースを一覧表示します。

# Get all flow logs in East US region.
Get-AzNetworkWatcherFlowLog -NetworkWatcherName NetworkWatcher_eastus -ResourceGroupName NetworkWatcherRG | format-table Name

VNet フロー ログ リソースを表示する

Get-AzNetworkWatcherFlowLog を使用して、フロー ログ リソースの詳細を表示します。

# Get the flow log details.
Get-AzNetworkWatcherFlowLog -NetworkWatcherName NetworkWatcher_eastus -ResourceGroupName NetworkWatcherRG -Name myVNetFlowLog

フローのログをダウンロードする

ストレージ アカウントから VNet フロー ログをダウンロードするには、Get-AzStorageBlobContent コマンドレットを使用します。

VNet フロー ログ ファイルは、次のパスでストレージ アカウントに保存されます。

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

Note

Azure Storage Explorer を使用して、ストレージ アカウント コンテナーから VNet フロー ログ ファイルをダウンロードすることもできます。 Storage Explorer は、Azure Storage データにアクセスして操作するために便利に使用できるスタンドアロン アプリです。 詳細については、「Storage Explorer の概要」を参照してください。

フロー ログ リソースでトラフィック分析を無効にする

フロー ログ リソースのトラフィック分析を無効にし、引き続き VNet フロー ログを生成してストレージ アカウントに保存するには、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 mynwstorageaccount -ResourceGroupName Storage

# Update the VNet flow log.
Set-AzNetworkWatcherFlowLog -Enabled $true -Name myVNetFlowLog -NetworkWatcherName NetworkWatcher_eastus -ResourceGroupName NetworkWatcherRG -StorageId $storageAccount.Id -TargetResourceId $vnet.Id

VNet フロー ログを無効にする

VNet フロー ログを削除せずに無効にして、後で再度有効にできるようにするには、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 mynwstorageaccount -ResourceGroupName Storage

# Disable the VNet flow log.
Set-AzNetworkWatcherFlowLog -Enabled $false -Name myVNetFlowLog -NetworkWatcherName NetworkWatcher_eastus -ResourceGroupName NetworkWatcherRG -StorageId $storageAccount.Id -TargetResourceId $vnet.Id

VNet フロー ログ リソースを削除する

VNet フロー ログ リソースを削除するには、Remove-AzNetworkWatcherFlowLog を使用します。

# Delete the VNet flow log.
Remove-AzNetworkWatcherFlowLog -Name myVNetFlowLog -NetworkWatcherName NetworkWatcher_eastus -ResourceGroupName NetworkWatcherRG