Dela via


Snabbstart: Konfigurera NSG-flödesloggar för Azure Network Watcher med hjälp av en ARM-mall (Azure Resource Manager)

I den här snabbstarten får du lära dig hur du aktiverar NSG-flödesloggar med hjälp av en ARM-mall (Azure Resource Manager) och Azure PowerShell. Mer information finns i Översikt över Azure Resource Manager- och NSG-flödesloggar.

En Azure Resource Manager-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för projektet. Mallen använder deklarativ syntax. Du beskriver den avsedda distributionen utan att skriva sekvensen med programmeringskommandon för att skapa distributionen.

Vi börjar med en översikt över egenskaperna för NSG-flödesloggobjektet. Vi tillhandahåller exempelmallar. Sedan använder vi en lokal Azure PowerShell-instans för att distribuera mallen.

Om din miljö uppfyller förhandskraven och du är van att använda ARM-mallar väljer du knappen Distribuera till Azure. Mallen öppnas i Azure-portalen.

Knapp för att distribuera Resource Manager-mallen till Azure.

Förutsättningar

Ett Azure-konto med en aktiv prenumeration. Om du inte har ett konto kan du skapa ett kostnadsfritt konto innan du börjar.

Granska mallen

Den mall som vi använder i den här snabbstarten kommer från Azure-snabbstartsmallar.

{
  "$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'))]"
      ]
    }
  ]
}

Följande resurser definieras i mallen:

Den markerade koden i föregående exempel visar en resursdefinition för NSG-flödesloggar.

Distribuera mallen

Den här självstudien förutsätter att du har en befintlig resursgrupp och en NSG som du kan aktivera flödesloggning på.

Du kan spara någon av de exempelmallar som visas lokalt i den här artikeln som azuredeploy.json. Uppdatera egenskapsvärdena så att de pekar på giltiga resurser i din prenumeration.

Om du vill distribuera mallen kör du följande kommando i Azure PowerShell:

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

Kommentar

Dessa kommandon distribuerar en resurs till resursgruppen NetworkWatcherRG och inte till den resursgrupp som innehåller nätverkssäkerhetsgruppen.

Verifiera distributionen

Du har två alternativ för att se om distributionen lyckades:

  • PowerShell-konsolen visas ProvisioningState som Succeeded.
  • Gå till portalsidan för NSG-flödesloggar för att bekräfta dina ändringar.

Om det uppstod problem med distributionen kan du läsa Felsöka vanliga Azure-distributionsfel med Azure Resource Manager.

Rensa resurser

Du kan ta bort Azure-resurser med hjälp av fullständigt distributionsläge. Om du vill ta bort en flödesloggresurs anger du en distribution i fullständigt läge utan att inkludera den resurs som du vill ta bort. Läs mer om fullständigt distributionsläge.

Du kan också inaktivera eller ta bort en flödeslogg i Azure-portalen:

  1. I sökrutan överst i portalen anger du network watcher. Välj Network Watcher i sökresultatet.

  2. Under Loggar väljer du Flödesloggar.

  3. I Network Watcher | Flödesloggar, markera kryssrutan för flödesloggen som du vill ta bort.

  4. Välj Inaktivera eller Ta bort. Mer information finns i Inaktivera en flödeslogg eller Ta bort en flödeslogg.

I den här snabbstarten har du lärt dig hur du aktiverar NSG-flödesloggar med hjälp av en ARM-mall. Lär dig sedan hur du visualiserar NSG-flödesdata med hjälp av trafikanalys: