Rychlý start: Konfigurace protokolů toku NSG ve službě Azure Network Watcher pomocí šablony Azure Resource Manageru (ARM)

V tomto rychlém startu se dozvíte, jak povolit protokoly toku NSG pomocí šablony Azure Resource Manageru (ARM) a Azure PowerShellu. Další informace najdete v tématu Co je Azure Resource Manager? a přehled protokolů toku NSG.

Šablona Azure Resource Manageru je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. Tato šablona používá deklarativní syntaxi. Popíšete zamýšlené nasazení, aniž byste museli psát posloupnost programovacích příkazů pro vytvoření nasazení.

Začneme přehledem vlastností objektu protokolu toku NSG. Poskytujeme ukázkové šablony. Pak k nasazení šablony použijeme místní instanci Azure PowerShellu.

Pokud vaše prostředí splňuje požadavky a jste obeznámeni s používáním šablon ARM, vyberte tlačítko Nasazení do Azure. Šablona se otevře na webu Azure Portal.

Tlačítko pro nasazení šablony Resource Manageru do Azure

Požadavky

Účet Azure s aktivním předplatným. Pokud ho nemáte, vytvořte si bezplatný účet před tím, než začnete.

Kontrola šablony

Šablona, kterou používáme v tomto rychlém startu, je ze šablon Rychlého startu 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'))]"
      ]
    }
  ]
}

V šabloně jsou definovány následující prostředky:

Zvýrazněný kód v předchozí ukázce ukazuje definici prostředku toku NSG.

Nasazení šablony

V tomto kurzu se předpokládá, že máte existující skupinu prostředků a skupinu zabezpečení sítě, ke které můžete povolit protokolování toku.

Všechny ukázkové šablony, které jsou uvedené v tomto článku, můžete uložit místně jako azuredeploy.json. Aktualizujte hodnoty vlastností tak, aby odkazovali na platné prostředky ve vašem předplatném.

Šablonu nasadíte spuštěním následujícího příkazu v Azure PowerShellu:

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

Poznámka:

Tyto příkazy nasadí prostředek do skupiny prostředků NetworkWatcherRG , a ne do skupiny prostředků, která obsahuje skupinu zabezpečení sítě.

Ověření nasazení

Máte dvě možnosti, jak zjistit, jestli nasazení proběhlo úspěšně:

  • Konzola PowerShellu se zobrazí ProvisioningState jako Succeeded.
  • Přejděte na stránku portálu protokolů toku NSG a potvrďte provedené změny.

Pokud došlo k problémům s nasazením, přečtěte si téma Řešení běžných chyb nasazení Azure pomocí Azure Resource Manageru.

Vyčištění prostředků

Prostředky Azure můžete odstranit pomocí úplného režimu nasazení. Pokud chcete odstranit prostředek protokolu toku, zadejte nasazení v úplném režimu bez zahrnutí prostředku, který chcete odstranit. Přečtěte si další informace o úplném režimu nasazení.

Protokol toku můžete také zakázat nebo odstranit na webu Azure Portal:

  1. Do vyhledávacího pole v horní části portálu zadejte sledovací proces sítě. Ve výsledcích hledání vyberte Network Watcher .

  2. V části Protokoly vyberte Protokoly toku.

  3. Ve službě Network Watcher | Protokoly toku, zaškrtněte políčko protokolu toku, který chcete odstranit.

  4. Vyberte Zakázat nebo odstranit. Další informace najdete v tématu Zakázání protokolu toku nebo Odstranění protokolu toku.

V tomto rychlém startu jste zjistili, jak povolit protokoly toku NSG pomocí šablony ARM. Dále se dozvíte, jak vizualizovat data toku NSG pomocí analýzy provozu: