Hızlı Başlangıç: Azure Resource Manager (ARM) şablonu kullanarak Azure Ağ İzleyicisi NSG akış günlüklerini yapılandırma

Bu hızlı başlangıçta, Azure Resource Manager (ARM) şablonu ve Azure PowerShell kullanarak NSG akış günlüklerini etkinleştirmeyi öğreneceksiniz. Daha fazla bilgi için bkz . Azure Resource Manager nedir? ve NSG akış günlüklerine genel bakış.

Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.

NSG akış günlüğü nesnesinin özelliklerine genel bir bakışla başlayacağız. Örnek şablonlar sağlıyoruz. Ardından, şablonu dağıtmak için yerel bir Azure PowerShell örneği kullanırız.

Ortamınız önkoşulları karşılıyorsa ve ARM şablonlarını kullanma hakkında bilginiz varsa, Azure’a dağıtma düğmesini seçin. Şablon Azure portalında açılır.

Resource Manager şablonunu Azure'a dağıtma düğmesi.

Önkoşullar

Etkin aboneliği olan bir Azure hesabı. Aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Şablonu gözden geçirme

Bu hızlı başlangıçta kullandığımız şablon Azure Hızlı Başlangıç Şablonları'ndan alınmıştı.

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

Şablonda aşağıdaki kaynaklar tanımlanır:

Yukarıdaki örnekte vurgulanan kod, bir NSG akış günlükleri kaynak tanımını gösterir.

Şablonu dağıtma

Bu öğreticide, akış günlüğünü etkinleştirebileceğiniz mevcut bir kaynak grubunuz ve bir NSG'niz olduğu varsayılır.

Bu makalede gösterilen örnek şablonlardan herhangi birini yerel olarak azuredeploy.json olarak kaydedebilirsiniz. Özellik değerlerini, aboneliğinizdeki geçerli kaynaklara işaret eden şekilde güncelleştirin.

Şablonu dağıtmak için Azure PowerShell'de aşağıdaki komutu çalıştırın:

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

Not

Bu komutlar bir kaynağı ağ güvenlik grubunu içeren kaynak grubuna değil NetworkWatcherRG kaynak grubuna dağıtır.

Dağıtımı doğrulama

Dağıtımınızın başarılı olup olmadığını görmek için iki seçeneğiniz vardır:

Dağıtımla ilgili sorunlar varsa bkz . Azure Resource Manager ile ilgili yaygın Azure dağıtım hatalarını giderme.

Kaynakları temizleme

Tam dağıtım modunu kullanarak Azure kaynaklarını silebilirsiniz. Akış günlüğü kaynağını silmek için, silmek istediğiniz kaynağı eklemeden tam modda bir dağıtım belirtin. Tam dağıtım modu hakkında daha fazla bilgi edinin.

Ayrıca Azure portalında bir akış günlüğünü devre dışı bırakabilir veya silebilirsiniz:

  1. Portalın üst kısmındaki arama kutusuna ağ izleyicisi yazın. Arama sonuçlarında Ağ İzleyicisi seçin.

  2. Günlükler'in altında Akış günlükleri'ne tıklayın.

  3. Ağ İzleyicisi ' de | Akış günlükleri, silmek istediğiniz akış günlüğünün onay kutusunu seçin.

  4. Devre Dışı Bırak veya Sil'i seçin. Daha fazla bilgi için bkz . Akış günlüğünü devre dışı bırakma veya Akış günlüğünü silme.

Bu hızlı başlangıçta, ARM şablonu kullanarak NSG akış günlüklerini etkinleştirmeyi öğrendiniz. Ardından, trafik analizini kullanarak NSG akış verilerinizi görselleştirmeyi öğrenin: