共用方式為


使用 Azure Resource Manager 範本管理 NSG 流量記錄

重要

網路安全性群組 (NSG) 流量記錄將於 2027 年 9 月 30 日淘汰。 經此淘汰後,自 2025 年 6 月 30 日起您將無法再建立新的 NSG 流量記錄。 建議您移轉虛擬網路流量記錄,以因應 NSG 流量記錄的限制。 過了淘汰日期之後,將不再支援啟用了 NSG 流量記錄的流量分析,且將會刪除您的訂用帳戶中現有的 NSG 流量記錄資源。 不過,NSG 流量記錄將不會刪除,且將繼續遵循其各自的保留原則。 如需詳細資訊,請參閱官方公告

網路安全性群組流量記錄是 Azure 網路監看員的一項功能,可讓您記錄流經網路安全性群組的 IP 流量相關資訊。 如需網路安全性群組流量記錄的詳細資訊,請參閱 NSG 流量記錄概觀

在本文中,您將了解如何使用 Azure Resource Manager 範本和 Azure PowerShell,以程式設計方式管理 NSG 流量記錄。 您可以了解如何使用 Azure 入口網站PowerShellAzure CLIREST API 管理 NSG 流量記錄。

Azure Resource Manager 範本是一個 JavaScript 物件標記法 (JSON) 檔案,會使用宣告式語法定義專案的基礎結構和設定。

必要條件

NSG 流量記錄物件

下列範例顯示包含所有參數的 NSG 流量記錄物件。 如需物件屬性的完整概觀,請參閱 NSG 流量記錄範本參考

{
  "name": "string",
  "type": "Microsoft.Network/networkWatchers/flowLogs",
  "location": "string",
  "apiVersion": "2022-07-01",
  "properties": {
    "targetResourceId": "string",
    "storageId": "string",
    "enabled": "boolean",
    "flowAnalyticsConfiguration": {
      "networkWatcherFlowAnalyticsConfiguration": {
         "enabled": "boolean",
         "workspaceResourceId": "string",
          "trafficAnalyticsInterval": "integer"
        },
        "retentionPolicy": {
           "days": "integer",
           "enabled": "boolean"
         },
        "format": {
           "type": "string",
           "version": "integer"
         }
      }
    }
  }

若要建立 networkWatchers/flowLogs 資源,請將上述 JSON 新增至範本的資源區段。

建立您自己的範本

若要深入了解如何使用 Azure Resource Manager 範本,請參閱:

下列範例提供完整的範本,以啟用 NSG 流量記錄。

範例 1

範例 1 使用傳遞最少參數的最簡單 ARM 範本版本。 下列範本會在目標網路安全性群組上啟用 NSG 流量記錄,並將其儲存在指定的儲存體帳戶中。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "apiProfile": "2019-09-01",
  "resources": [
 {
    "name": "myNSG-myresourcegroup-flowlog",
    "type": "Microsoft.Network/networkWatchers/FlowLogs/",
    "location": "eastus",
    "apiVersion": "2022-11-01",
    "properties": {
      "targetResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
      "storageId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
      "enabled": true,
      "flowAnalyticsConfiguration": {},
      "retentionPolicy": {},
      "format": {}
    }

  }
  ]
}

注意

  • targetResourceId 是目標網路安全性群組的資源識別碼。
  • storageId 是目的地儲存體帳戶的資源識別碼。

範例 2

範例 2 使用下列範本來啟用保留 5 天的 NSG 流量記錄 (第 2 版) 以及處理間隔 10 分鐘的流量分析。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "apiProfile": "2019-09-01",
  "resources": [
    {
      "name": "myNSG-myresourcegroup-flowlog",
      "type": "Microsoft.Network/networkWatchers/FlowLogs/",
      "location": "eastus",
      "apiVersion": "2022-11-01",
      "properties": {
        "targetResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
        "storageId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
        "enabled": true,
        "flowAnalyticsConfiguration": {
          "networkWatcherFlowAnalyticsConfiguration": {
            "enabled": true,
            "workspaceResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-abcdef01-2345-6789-0abc-def012345678-EUS",
            "trafficAnalyticsInterval": 10
          }
        },
        "retentionPolicy": {
          "days": 5,
          "enabled": true
        },
        "format": {
          "type": "JSON",
          "version": 2
        }
      }
    }
  ]
}

注意

  • targetResourceId 是目標網路安全性群組的資源識別碼。
  • storageId 是目的地儲存體帳戶的資源識別碼。
  • workspaceResourceId 是流量分析工作區的資源識別碼。

部署 Azure Resource Manager 範本

本教學課程假設您有現有的資源群組,以及可啟用流量記錄的網路安全性群組。 您可以在本機將上述範例範本儲存為 azuredeploy.json。 更新屬性值,使其指向您訂閱中的有效資源。

若要部署範本,請在 PowerShell 中執行下列命令。

$context = Get-AzSubscription -SubscriptionId <SubscriptionId>
Set-AzContext $context
New-AzResourceGroupDeployment -Name EnableFlowLog -ResourceGroupName NetworkWatcherRG `
    -TemplateFile "C:\MyTemplates\azuredeploy.json"

注意

上述命令會將資源部署到 NetworkWatcherRG 資源群組,而不是包含網路安全性群組的資源群組。

確認您的部署

有幾種方式可以檢查您的部署是否成功。 您的 PowerShell 主控台應該會將「ProvisioningState」顯示為「成功」。 此外,您可瀏覽流量記錄入口網站頁面以確認您的變更。 如果部署發生問題,請查看使用 Azure Resource Manager 針對常見的 Azure 部署錯誤進行疑難排解

刪除您的資源

Azure 可透過「完整」部署模式來刪除資源。 若要刪除流量記錄資源,請在「完整」模式中指定部署,而不包含您想要刪除的資源。 如需詳細資訊,請參閱完整部署模式

下一步