這很重要
網路安全性群組 (NSG) 流程記錄將於 2027 年 9 月 30 日淘汰。 2025 年 6 月 30 日之後,您將無法再建立新的 NSG 流程記錄。 建議您 移轉 至 虛擬網路流程記錄,以解決 NSG 流程記錄的限制。 退役日期之後,針對 NSG 流程記錄資源的流量分析將不再受支援,並且訂用帳戶中的現有 NSG 流程記錄資源將被刪除。 不過,現有的 NSG 流程記錄記錄不會從 Azure 儲存體中刪除,而且會繼續遵循其設定的保留原則。 如需詳細資訊,請參閱官方公告。
網路安全組流量記錄是 Azure 網路監看員的一項功能,可讓您記錄流經網路安全組的 IP 流量相關信息。 如需網路安全組流量記錄的詳細資訊,請參閱 NSG 流量記錄概觀。
在本文中,您將瞭解如何使用 Azure 入口網站、PowerShell 和 Azure CLI 來建立、變更、啟用、停用或刪除網路安全組流程記錄。
先決條件
註冊數據洞察提供商
您必須註冊 Microsoft.Insights 提供者,才能成功記錄流經虛擬網路的流量。 如果您不確定是否已註冊 Microsoft.Insights 提供者,請遵循下列步驟在 Azure 入口網站中檢查其狀態:
在入口網站頂端的搜尋方塊中,輸入訂用帳戶。 從搜尋結果,選取 [訂用帳戶]。
在訂用帳戶中,選取您想要啟用提供者的 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 記憶體帳戶中。
在入口網站頂端的搜尋方塊中,輸入網路監看員。 從搜尋結果中,選取 [網路監看員]。
在 [記錄] 底下,選取 [流量記錄]。
在 [網路監看員 | 流量記錄] 中,選取 [+ 建立] 或 [建立流量記錄] 藍色按鈕。
在 [建立流量記錄] 的 [基本資料] 索引標籤上,輸入或選取下列值:
| 設定 |
價值觀 |
|
專案詳細資料 |
|
| 訂閱 |
選取您要記錄的網路安全性群組所屬的 Azure 訂用帳戶。 |
| 流量記錄類型 |
選取 [網路安全性群組],然後選取 [+ 選取目標資源]。 選取您要流量記錄的網路安全性群組,然後選取 [確認選取項目]。 |
| 流量記錄名稱 |
輸入流量記錄的名稱,或保留預設名稱。 Azure 入口網站會使用 {ResourceName}-{ResourceGroupName}-flowlog 作為流量記錄的預設名稱。
myNSG-myResourceGroup-flowlog 是本文中使用的預設名稱。 |
|
執行個體詳細資料 |
|
| 訂閱 |
選取儲存體帳戶的 Azure 訂用帳戶。 |
| 儲存體帳戶 |
選取您要儲存流程日誌的儲存體帳戶。 若要建立新的儲存體帳戶,請選取 [建立新的儲存體帳戶]。 |
| 保留 (天數) |
輸入日誌的保留時間(此選項僅適用於標準一般用途 v2 儲存體帳戶)。 如果您要永遠保留儲存體帳戶中的流量記錄資料 (直到您從儲存體帳戶手動刪除資料為止),請輸入 0。 如需價格的詳細資訊,請參閱 Azure 儲存體價格。 |
若要啟用流量分析,請選取 [下一步:分析] 按鈕,或選取 [分析] 索引標籤。輸入或選取下列值:
| 設定 |
價值觀 |
| 流量記錄版本 |
選取網路安全性群組流量記錄的版本,可用的選項包括:第 1 版和第 2 版。 預設版本為第 2 版。 如需詳細資訊,請參閱網路安全性群組的流量記錄。 |
| 啟用流量分析 |
選取核取方塊,為您的流量記錄啟用流量分析。 |
| 流量分析處理間隔 |
選取您偏好的處理間隔,可用的選項如下:[每 1 小時] 和 [每 10 分鐘]。 預設處理間隔是每一小時一次。 如需詳細資訊,請參閱流量分析。 |
| 訂閱 |
選取 Log Analytics 工作區的 Azure 訂用帳戶。 |
| Log Analytics 工作區 |
選取 Log Analytics 工作區。 根據預設,Azure 入口網站會在 defaultresourcegroup-{Region} 資源群組中建立 DefaultWorkspace-{SubscriptionID}-{Region} Log Analytics 工作區。 |
選擇 檢閱 + 創建。
檢閱設定,然後選取 [建立]。
使用 New-AzNetworkWatcherFlowLog Cmdlet 來建立流程記錄。 網路監看員預設資源群組 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 命令來建立虛擬網路流程記錄。 網路監看員預設資源群組 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'
如果記憶體帳戶位於與網路安全組不同的資源群組中,請使用記憶體帳戶的資源識別碼,而不是其名稱:
# 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'
如果記憶體帳戶位於與網路安全組不同的資源群組中,請使用記憶體帳戶的資源識別元,而不是其名稱。
備註
如果儲存體帳戶位於不同的訂用帳戶,網路安全性群組和儲存體帳戶必須與相同的 Microsoft Entra 租戶相關聯。 為每個訂用帳戶所使用的帳戶必須具有必要的權限。
這很重要
記憶體帳戶不能有網路規則,只能將網路存取限制為隻Microsoft服務或特定虛擬網路。
啟用或停用流量分析
啟用流量記錄的流量分析,以分析流量記錄資料。 流量分析可讓您深入了解虛擬網路的流量模式。 您可以隨時啟用或停用流日志的分析功能。
備註
除了啟用或停用使用分析之外,您也可以變更其他流量記錄設定。
若要啟用流量記錄的流量分析,請遵循下列步驟:
在入口網站頂端的搜尋方塊中,輸入網路監看員。 從搜尋結果中,選取 [網路監看員]。
在 [記錄] 底下,選取 [流量記錄]。
在 [網路監看員 | 流量記錄] 中,選取您要啟用流量分析的流量記錄。
在 [流量記錄設定] 的 [流量分析] 下,勾選 [啟用流量分析] 核取方塊。
輸入或選取下列值:
| 設定 |
價值觀 |
| 訂閱 |
選取 Log Analytics 工作區的 Azure 訂用帳戶。 |
| Log Analytics 工作區 |
選取 Log Analytics 工作區。 根據預設,Azure 入口網站會在 defaultresourcegroup-{Region} 資源群組中建立 DefaultWorkspace-{SubscriptionID}-{Region} Log Analytics 工作區。 |
| 流量記錄間隔 |
選取您偏好的處理間隔,可用的選項如下:[每 1 小時] 和 [每 10 分鐘]。 預設處理間隔是每一小時一次。 如需詳細資訊,請參閱流量分析。 |
選取儲存以套用變更。
若要停用流量記錄的流量分析,請採取先前的步驟 1-3,然後取消勾選 [啟用流量分析] 核取方塊,然後選取 [儲存]。
若要在流量記錄資源上啟用流量分析,請使用 Set-AzNetworkWatcherFlowLog cmdlet。
# 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 Cmdlet:
# 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 入口網站)。 您也可以列出區域中的所有流量記錄。
在入口網站頂端的搜尋方塊中,輸入網路監看員。 從搜尋結果中,選取 [網路監看員]。
在 [記錄] 底下,選取 [流量記錄]。
選取 [訂用帳戶等於] 篩選條件,選擇一或多個訂用帳戶。 您可以套用其他篩選,例如 位置等於 列出區域中的所有流程記錄。
使用 Get-AzNetworkWatcherFlowLog Cmdlet 列出您訂用帳戶中特定區域中的所有流量記錄資源:
# Get all flow logs in East US region.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table Name
備註
若要使用 -Location 參數與 Get-AzNetworkWatcherFlowLog Cmdlet,則需要 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
檢視流量記錄資源的詳細資料
您可以檢視流程記錄檔的詳細數據。
在入口網站頂端的搜尋方塊中,輸入網路監看員。 從搜尋結果中,選取 [網路監看員]。
在 [記錄] 底下,選取 [流量記錄]。
在 [網路監看員 | 流量記錄],選取您要查看的流量記錄。
在 [流量記錄設定] 中,您可以檢視流量記錄資源的設定。
選取 [取消] 關閉設定頁面,而不進行變更。
使用 Get-AzNetworkWatcherFlowLog Cmdlet 來查看流量記錄資源的詳細數據:
# Get the details of a flow log.
Get-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'
備註
若要使用 -Location 參數與 Get-AzNetworkWatcherFlowLog Cmdlet,則需要 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 Cmdlet。 如需詳細資訊,請參閱 下載 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 流量記錄的記錄格式。
停用流量記錄
您可以暫時停用流程記錄,而不刪除它。 停用流量記錄會停止相關網路安全性群組的流量記錄。 然而,流量記錄資源會保留其所有設定和關聯。 您可以隨時重新啟用,繼續進行已設定的網路安全性群組的流量記錄。
在入口網站頂端的搜尋方塊中,輸入網路監看員。 從搜尋結果中,選取 [網路監看員]。
在 [記錄] 底下,選取 [流量記錄]。
在 [網路監看員 | 流量記錄],選取您所要停用流量記錄的核取方塊。
選取「停用」。
使用 Set-AzNetworkWatcherFlowLog Cmdlet 來停用流程記錄:
# 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
備註
如果已針對流量記錄啟用流量分析,則必須先停用流量分析,才能停用流量記錄。 若要停用流量分析,請參閱啟用或停用流量分析。
刪除流量記錄
您可以永久刪除虛擬網路流量記錄。 刪除流量記錄也會刪除其所有設定和關聯。 若要針對相同的資源再次開始流程記錄,您必須為其建立新的流程記錄。
在入口網站頂端的搜尋方塊中,輸入網路監看員。 從搜尋結果中,選取 [網路監看員]。
在 [記錄] 底下,選取 [流量記錄]。
在 [網路監看員 | 流量記錄],選取您要刪除之流量記錄的核取方塊。
選擇 刪除。
備註
刪除流量記錄不會從儲存體帳戶刪除流量記錄資料。 儲存在記憶體帳戶中的流量記錄數據會遵循設定的保留原則,或保留儲存在記憶體帳戶中,直到手動刪除為止。
相關內容