共用方式為


快速入門:使用 Azure Resource Manager (ARM) 範本設定 Azure 網路監看員 NSG 流量記錄

在本快速入門中,您會了解如何使用 Azure Resource Manager (ARM) 範本和 Azure PowerShell 啟用 NSG 流量記錄。 如需詳細資訊,請參閱什麼是 Azure Resource Manager?NSG 流量記錄概觀

Azure Resource Manager 範本是一個 JavaScript 物件標記法 (JSON) 檔案,會定義專案的基礎結構和設定。 範本使用宣告式語法。 您可以描述預期的部署,而不需要撰寫程式設計命令順序來建立部署。

首先我們會概述 NSG flow 記錄物件的屬性。 我們將提供範例範本。 然後,我們會使用本機 Azure PowerShell 執行個體來部署範本。

如果您的環境符合必要條件,而且您很熟悉 ARM 範本,請選取 [部署至 Azure] 按鈕。 範本會在 Azure 入口網站中開啟。

將 Resource Manager 範本部署至 Azure 的按鈕。

必要條件

具有有效訂用帳戶的 Azure 帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

檢閱範本

我們在本快速入門中使用的範本是來自 Azure 快速入門範本

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.9.1.41621",
      "templateHash": "14580725600461536175"
    }
  },
  "parameters": {
    "networkWatcherName": {
      "type": "string",
      "defaultValue": "[format('NetworkWatcher_{0}', parameters('location'))]",
      "metadata": {
        "description": "Name of the Network Watcher attached to your subscription. Format: NetworkWatcher_<region_name>"
      }
    },
    "flowLogName": {
      "type": "string",
      "defaultValue": "FlowLog1",
      "metadata": {
        "description": "Name of your Flow log resource"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Region where you resources are located"
      }
    },
    "existingNSG": {
      "type": "string",
      "metadata": {
        "description": "Resource ID of the target NSG"
      }
    },
    "retentionDays": {
      "type": "int",
      "defaultValue": 0,
      "maxValue": 365,
      "minValue": 0,
      "metadata": {
        "description": "Retention period in days. Default is zero which stands for permanent retention. Can be any Integer from 0 to 365"
      }
    },
    "flowLogsVersion": {
      "type": "int",
      "defaultValue": 2,
      "allowedValues": [
        1,
        2
      ],
      "metadata": {
        "description": "FlowLogs Version. Correct values are 1 or 2 (default)"
      }
    },
    "storageAccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_ZRS"
      ],
      "metadata": {
        "description": "Storage Account type"
      }
    }
  },
  "variables": {
    "storageAccountName": "[format('flowlogs{0}', uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageAccountType')]"
      },
      "kind": "StorageV2",
      "properties": {}
    },
    {
      "type": "Microsoft.Network/networkWatchers",
      "apiVersion": "2022-01-01",
      "name": "[parameters('networkWatcherName')]",
      "location": "[parameters('location')]",
      "properties": {}
    },
    {
      "type": "Microsoft.Network/networkWatchers/flowLogs",
      "apiVersion": "2022-01-01",
      "name": "[format('{0}/{1}', parameters('networkWatcherName'), parameters('flowLogName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "targetResourceId": "[parameters('existingNSG')]",
        "storageId": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
        "enabled": true,
        "retentionPolicy": {
          "days": "[parameters('retentionDays')]",
          "enabled": true
        },
        "format": {
          "type": "JSON",
          "version": "[parameters('flowLogsVersion')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
      ]
    }
  ]
}

範本中會定義下列資源:

上述範例中醒目提示的程式碼會顯示 NSG 流量記錄資源定義。

部署範本

本教學課程假設您具有現有的資源群組,以及可啟用流量記錄的 NSG。

您可以將本文中顯示的任何範例範本以 azuredeploy.json 的形式儲存在本機。 更新屬性值,使其指向您訂用帳戶中的有效資源。

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

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

注意

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

驗證部署

您有兩個選項可檢視部署是否成功:

如果部署發生問題,請查看使用 Azure Resource Manager 針對常見的 Azure 部署錯誤進行疑難排解

清除資源

您可以使用完整的部署模式來刪除 Azure 資源。 若要刪除流量記錄資源,請在完整模式中指定部署,而不包含您想要刪除的資源。 深入了解完整部署模式

您也可以在 Azure 入口網站中停用或刪除流程記錄:

  1. 在入口網站頂端的搜尋方塊中,輸入網路監看員。 從搜尋結果中,選取 [網路監看員]

  2. 在 [記錄] 底下,選取 [流量記錄]

  3. 在 [網路監看員 | 流量記錄],選取您要刪除之流量記錄的核取方塊。

  4. 選取 [停用] 或 [刪除]。 如需詳細資訊,請參閱 [停用流量記錄] 或 [刪除流量記錄]

在本快速入門中,您已了解如何使用 ARM 範本來啟用 NSG 流量記錄。 接下來,了解如何使用流量分析將 NSG 流量記錄視覺化: