Azure PowerShell を使用して仮想ネットワーク フロー ログを作成、変更、有効化、無効化、または削除する
仮想ネットワーク フロー ログは、Azure 仮想ネットワークを通過する IP トラフィックに関する情報をログに記録できる Azure Network Watcher の機能です。 仮想ネットワーク フロー ログの詳細については、仮想ネットワーク フロー ログの概要に関するページを参照してください。
この記事では、Azure PowerShell を使用して仮想ネットワーク フロー ログを作成、変更、有効化、無効化、または削除する方法について説明します。 Azure portal または Azure CLI を使用して仮想ネットワーク フロー ログを管理する方法について説明します。
前提条件
アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
Insights プロバイダー。 詳細については、「Insights プロバイダーを登録する」を参照してください。
仮想ネットワーク。 仮想ネットワークを作成する必要がある場合は、「PowerShell を使用して仮想ネットワークを作成する」を参照してください。
Azure ストレージ アカウント。 ストレージ アカウントを作成する必要がある場合は、PowerShell を使用したストレージ アカウントの作成に関するページを参照してください。
Azure Cloud Shell またはローカルにインストールされている Azure PowerShell の PowerShell 環境。 Azure Cloud Shell での PowerShell の使用の詳細については、「Azure Cloud Shell クイックスタート - PowerShell」を参照してください。
- PowerShell をローカルにインストールして使用することを選択する場合、この記事では Azure PowerShell バージョン 7.4.0 以降が必要になります。 インストールされているバージョンを確認するには、
Get-InstalledModule -Name Az
を実行します。 アップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。Connect-AzAccount
を実行して Azure にサインインします。
- PowerShell をローカルにインストールして使用することを選択する場合、この記事では Azure PowerShell バージョン 7.4.0 以降が必要になります。 インストールされているバージョンを確認するには、
Insights プロバイダーの登録
仮想ネットワーク内のトラフィックを正しくログに記録するには、Microsoft.Insights プロバイダーが登録されている必要があります。 Microsoft.Insights プロバイダーが登録されているかどうか不明な場合は、Register-AzResourceProvider を使用して登録します。
# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace Microsoft.Insights
仮想ネットワーク フロー ログを有効にする
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
仮想ネットワーク フロー ログとトラフィック分析を有効にする
New-AzOperationalInsightsWorkspace を使用してトラフィック分析ワークスペースを作成し、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 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
仮想ネットワーク フロー ログ リソースを表示する
Get-AzNetworkWatcherFlowLog を使用して、フロー ログ リソースの詳細を表示します。
# Get the flow log details.
Get-AzNetworkWatcherFlowLog -NetworkWatcherName NetworkWatcher_eastus -ResourceGroupName NetworkWatcherRG -Name myVNetFlowLog
フローのログをダウンロードする
ストレージ アカウントから仮想ネットワーク フロー ログをダウンロードするには、Get-AzStorageBlobContent コマンドレットを使用します。
仮想ネットワーク フロー ログは、次のパスでストレージ アカウントに保存されます。
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 の概要」を参照してください。
フロー ログ リソースでトラフィック分析を無効にする
フロー ログ リソースのトラフィック分析を無効にし、引き続き 仮想ネットワーク フロー ログを生成してストレージ アカウントに保存するには、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
仮想ネットワーク フローのログを無効にする
仮想ネットワーク フロー ログを削除せずに無効にして、後で再度有効にできるようにするには、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
仮想ネットワーク フロー ログ リソースを削除する
仮想ネットワーク フロー ログ リソースを削除するには、Remove-AzNetworkWatcherFlowLog を使用します。
# Delete the VNet flow log.
Remove-AzNetworkWatcherFlowLog -Name myVNetFlowLog -NetworkWatcherName NetworkWatcher_eastus -ResourceGroupName NetworkWatcherRG
関連するコンテンツ
- トラフィック分析については、トラフィック分析に関するページを参照してください。
- Azure 組み込みポリシーを使用してトラフィック分析を監査または有効にする方法については、「Azure Policy を使用してトラフィック分析を管理する」を参照してください。