重要
2027 年 9 月 30 日に、ネットワーク セキュリティ グループ (NSG) フロー ログは廃止されます。 この提供終了の一環として、2025 年 6 月 30 日以降新しい NSG フロー ログを作成できなくなります。 NSG フロー ログの制限を克服するために、仮想ネットワーク フロー ログに移行することをお勧めします。 提供終了日を過ぎると、NSG フロー ログで有効になっているトラフィック分析はサポートされなくなり、サブスクリプション内の既存の NSG フロー ログ リソースが削除されます。 ただし、NSG フロー ログ のレコードは削除されないため、それぞれの保持ポリシーに従い続けます。 詳細については、公式告知を参照してください。
ネットワーク セキュリティ グループのフロー ログは、ネットワーク セキュリティ グループを通過する IP トラフィックに関する情報をログに記録できる Azure Network Watcher の機能です。 ネットワーク セキュリティ グループのフロー ログの詳細については、「NSG フロー ログの概要を参照してください。
この記事では、Azure portal、PowerShell、Azure CLI を使用して、ネットワーク セキュリティ グループ フロー ログを作成、変更、有効化、無効化、または削除する方法について説明します。
[前提条件]
Insights プロバイダーを登録する
仮想ネットワークを通過するトラフィックを正しくログに記録するために、Microsoft.Insights プロバイダーが登録されている必要があります。
Microsoft.Insights プロバイダーが登録されているかどうか不明な場合は、次の手順に従って Azure portal でその状態を確認します。
ポータルの上部にある検索ボックスに、「サブスクリプション」と入力します。 検索結果で [サブスクリプション] を選択します。
[サブスクリプション] で、プロバイダーを有効にする Azure サブスクリプションを選びます。
[設定] で、[リソース プロバイダー] を選択します。
フィルター ボックスに「insight」と入力します。
表示されるプロバイダーの状態が [登録済み] になっていることを確認します。 状態が 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 を使用します。 この記事で使用する既定の名前は、myNSG-myResourceGroup-flowlog です。 |
インスタンスの詳細 |
|
サブスクリプション |
ストレージ アカウントの Azure サブスクリプションを選択します。 |
ストレージ アカウント |
フロー ログを保存するストレージ アカウントを選択します。 新しいストレージ アカウントを作成する場合は、[新しいストレージ アカウントの作成] を選択します。 |
保有期間 (日) |
ログのリテンション期間を入力します (このオプションは、Standard 汎用 v2 ストレージ アカウントでのみ使用できます)。 (フロー ログ データをストレージ アカウントから手動で削除するまで) ストレージ アカウントにデータを無期限に保持する場合は、「0」を入力します。 価格の詳細については、「Azure Storage の価格」をご覧ください。 |
トラフィック分析を有効にするには、[次へ: 分析] ボタンを選択するか、[分析] タブを選択します。次の値を入力または選択します。
設定 |
価値 |
フロー ログのバージョン |
ネットワーク セキュリティ グループ フロー ログのバージョンを選択します。使用可能なオプションは、[バージョン 1] と [バージョン 2] です。 既定のバージョンはバージョン 2 です。 詳細については、「ネットワーク セキュリティ グループのフローのログ記録」を参照してください。 |
トラフィック分析を有効にする |
フロー ログのトラフィック分析を有効にするには、このチェック ボックスをオンにします。 |
トラフィック分析の処理間隔 |
必要な処理間隔を選択します。使用可能なオプションは、[1 時間ごと] と [10 分ごと] です。 既定の処理間隔は 1 時間ごとです。 詳細については、トラフィック分析に関する記事を参照してください。 |
サブスクリプション |
Log Analytics ワークスペースの Azure サブスクリプションを選択します。 |
Log Analytics ワークスペース |
Log Analytics ワークスペースを選択します。 Azure portal では、defaultresourcegroup-{Region} リソース グループに DefaultWorkspace-{SubscriptionID}-{Region} Log Analytics ワークスペースが既定で作成されます。 |
[Review + create](レビュー + 作成) を選択します。
設定を確認し、 [作成] を選択します。
New-AzNetworkWatcherFlowLog コマンドレットを使用してフロー ログを作成します。 フロー ログは、Network Watcher の既定のリソース グループ NetworkWatcherRG に作成されます。
トラフィック分析なしで NSG フロー ログを有効にする:
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account configuration into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Create a version 1 NSG flow log.
New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true
トラフィック分析を使用して NSG フロー ログを有効にする:
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account configuration into a variable.
$sa = 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 version 1 NSG flow log.
New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId
az network watcher flow-log create コマンドを使用して、仮想ネットワーク フロー ログを作成します。 フロー ログは、Network Watcher の既定のリソース グループ NetworkWatcherRG に作成されます。
トラフィック分析なしで NSG フロー ログを有効にする:
# Create a version 1 NSG flow log.
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --location 'eastus'
ストレージ アカウントがネットワーク セキュリティ グループとは異なるリソース グループにある場合は、ストレージ アカウントの名前ではなくリソース ID を使用します。
# Create a version 1 NSG flow log (the storage account is in a different resource group from the network security group).
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/StorageRG/providers/Microsoft.Storage/storageAccounts/myStorageAccount' --location 'eastus'
トラフィック分析を使用して NSG フロー ログを有効にする:
# Create a traffic analytics workspace.
az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup' --location 'eastus'
# Create a version 1 NSG flow log and enable traffic analytics for it.
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics true --workspace 'myWorkspace' --location 'eastus'
ストレージ アカウントがネットワーク セキュリティ グループとは異なるリソース グループにある場合は、ストレージ アカウントの名前ではなくリソース ID を使用します。
注
ストレージ アカウントが別のサブスクリプションにある場合は、ネットワーク セキュリティ グループとストレージ アカウントを同じ Microsoft Entra テナントに関連付ける必要があります。 各サブスクリプションで使用するアカウントは、必要なアクセス許可を持っている必要があります。
重要
ストレージ アカウントには、Microsoft サービスまたは特定の仮想ネットワークのみにネットワーク アクセスを制限するネットワーク 規則を含めてはなりません。
トラフィック分析を有効または無効にする
フロー ログのトラフィック分析を有効にして、フロー ログ データを分析します。 トラフィック分析は、仮想ネットワークのトラフィック パターンに関する分析情報を提供します。 フロー ログのトラフィック分析はいつでも有効または無効にすることができます。
注
トラフィック分析を有効または無効にするだけでなく、他のフロー ログ設定を変更することもできます。
フロー ログのトラフィック分析を有効にするには、次の手順に従います。
ポータルの上部にある検索ボックスに、「network watcher」と入力します。 検索結果から [Network Watcher] を選択します。
[ログ] の下の [フロー ログ] を選択します。
[Network Watcher | フロー ログ] で、トラフィック分析を有効にするフロー ログを選択します。
[フロー ログの設定] の [トラフィック分析] で、[トラフィック分析を有効にする] チェックボックスをオンにします。
次の値を入力または選択します。
設定 |
価値 |
サブスクリプション |
Log Analytics ワークスペースの Azure サブスクリプションを選択します。 |
Log Analytics ワークスペース |
Log Analytics ワークスペースを選択します。 Azure portal では、defaultresourcegroup-{Region} リソース グループに DefaultWorkspace-{SubscriptionID}-{Region} Log Analytics ワークスペースが既定で作成されます。 |
トラフィック ログの間隔 |
必要な処理間隔を選択します。使用可能なオプションは、[1 時間ごと] と [10 分ごと] です。 既定の処理間隔は 1 時間ごとです。 詳細については、トラフィック分析に関する記事を参照してください。 |
[保存] を選択して変更を適用します。
フロー ログのトラフィック分析を無効にするには、前の手順 1 から 3 を実行し、[トラフィック分析を有効にする] チェックボックスをオフにして、[保存] を選択します。
フロー ログ リソースでトラフィック分析を有効にするには、 Set-AzNetworkWatcherFlowLog コマンドレットを使用します。
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Place the workspace configuration into a variable.
$workspace = Get-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup'
# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $true -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId -FormatVersion 2
フロー ログ リソースでトラフィック分析を無効にし、フロー ログの生成とストレージ アカウントへの保存を続行するには、 Set-AzNetworkWatcherFlowLog コマンドレットを使用します。
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account configuration into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $true -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -FormatVersion 2
フロー ログ リソースでトラフィック分析を有効にするには、 az network watcher flow-log update コマンドを 使用します。
# Update the NSG flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics true --workspace 'myWorkspace' --log-version '2'
フロー ログ リソースでトラフィック分析を無効にし、フロー ログの生成とストレージ アカウントへの保存を続行するには、 az network watcher flow-log update コマンドを使用します。
# Update the NSG flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics false --log-version '2'
すべてのフロー ログを一覧表示する
サブスクリプションまたはサブスクリプションのグループ (Azure portal) 内のすべてのフロー ログを一覧表示できます。 リージョン内のすべてのフロー ログを一覧表示することもできます。
ポータルの上部にある検索ボックスに、「network watcher」と入力します。 検索結果から [Network Watcher] を選択します。
[ログ] の下の [フロー ログ] を選択します。
フィルター「Subscription equals」を選択して、1 つ以上のサブスクリプションを選びます。
Location equals などの他のフィルターを適用して、リージョン内のすべてのフロー ログを一覧表示できます。
Get-AzNetworkWatcherFlowLog コマンドレットを使用して、サブスクリプション内の特定のリージョンのすべてのフロー ログ リソースを一覧表示します。
# Get all flow logs in East US region.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table Name
注
-Location
コマンドレットで Get-AzNetworkWatcherFlowLog
パラメーターを使用するには、NetworkWatcherRG リソース グループに追加の閲覧者アクセス許可が必要です。
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 details of a flow log.
Get-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'
注
-Location
コマンドレットで Get-AzNetworkWatcherFlowLog
パラメーターを使用するには、NetworkWatcherRG リソース グループに追加の閲覧者アクセス許可が必要です。
az network watcher flow-log show コマンドを使用して、フロー ログ リソースの詳細を表示します。
# Get the details of a flow log.
az network watcher flow-log show --name 'myFlowLog' --resource-group 'NetworkWatcherRG' --location 'eastus'
フロー ログをダウンロードする
フロー ログのデータは、フロー ログを保存したストレージ アカウントからダウンロードできます。
ポータルの上部にある検索ボックスに、「ストレージ アカウント」と入力します。 検索結果から [ストレージ アカウント] を選択します。
ログの格納に使用したストレージ アカウントを選択します。
[データ ストレージ] で、[コンテナー] を選択します。
insights-logs-networksecuritygroupflowevent コンテナーを選択します。
insights-logs-networksecuritygroupflowevent で、ダウンロードするPT1H.json
ファイルが表示されるまでフォルダー階層を移動します。 NSG フロー ログ ファイルは、次のパスに従います。
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
ファイルの右側にある省略記号 PT1H.json
を選んでから、[ダウンロード] を選びます。
ストレージ アカウントから仮想ネットワーク フロー ログをダウンロードするには、 Get-AzStorageBlobContent コマンドレットを使用します。 詳細については、「 BLOB のダウンロード」を参照してください。
ストレージ アカウントに保存される NSG フロー ログ ファイルは、次のパスに従います。
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
ストレージ アカウントから仮想ネットワーク フロー ログをダウンロードするには、az storage blob download コマンドを使用します。 詳細については、「 BLOB のダウンロード」を参照してください。
ストレージ アカウントに保存される NSG フロー ログ ファイルは、次のパスに従います。
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
フロー ログの構造については、NSG フロー ログのログ形式に関するページを参照してください。
フロー ログを無効にする
フロー ログは、削除せずに一時的に無効にすることができます。 フロー ログを無効にすると、関連付けられているネットワーク セキュリティ グループのフロー ログが停止します。 ただし、フロー ログ リソースは、そのすべての設定および関連付けと共に残ります。 いつでも再び有効にして、構成されたネットワーク セキュリティ グループのフロー ログを再開することができます。
ポータルの上部にある検索ボックスに、「network watcher」と入力します。 検索結果から [Network Watcher] を選択します。
[ログ] の下の [フロー ログ] を選択します。
[Network Watcher | フロー ログ] で、無効にするフロー ログのチェックボックスをオンにします。
無効にするを選択します。
フロー ログを無効にするには、 Set-AzNetworkWatcherFlowLog コマンドレットを使用します。
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $false -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id
az network watcher flow-log update コマンドを使用してフロー ログを無効にします。
# Disable the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --enabled false
注
フロー ログに対してトラフィック分析が有効になっている場合は、フロー ログを無効にする前にそれを無効にする必要があります。 トラフィック分析を無効にするには、「トラフィック分析を有効または無効にする」を参照してください。
フロー ログを削除する
仮想ネットワーク フロー ログを完全に削除できます。 フロー ログを削除すると、その設定と関連付けがすべて削除されます。 同じリソースに対してフロー ログを再度開始するには、新しいフロー ログを作成する必要があります。
ポータルの上部にある検索ボックスに、「network watcher」と入力します。 検索結果から [Network Watcher] を選択します。
[ログ] の下の [フロー ログ] を選択します。
[Network Watcher | フロー ログ] で、削除するフロー ログのチェックボックスをオンにします。
を選択して、を削除します。
フロー ログ リソースを削除するには、 Remove-AzNetworkWatcherFlowLog コマンドレットを使用します。
# Delete the flow log.
Remove-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'
注
フロー ログを削除しても、ストレージ アカウントからフロー ログ データは削除されません。 ストレージ アカウントに格納されているフロー ログ データは、構成されたアイテム保持ポリシーに従うか、手動で削除されるまでストレージ アカウントに保存されます。
関連コンテンツ