Поделиться через


Управление журналами потоков NSG с помощью шаблона Azure Resource Manager

Внимание

30 сентября 2027 г. журналы потоков безопасности сети (NSG) будут прекращены. В рамках этого выхода на пенсию вы больше не сможете создавать новые журналы потоков NSG с 30 июня 2025 года. Мы рекомендуем перенести журналы потоков виртуальной сети, которые преодолевают ограничения журналов потоков NSG. После выхода на пенсию аналитика трафика, включенная с помощью журналов потоков NSG, больше не будет поддерживаться, а существующие ресурсы журналов потоков NSG в подписках будут удалены. Однако записи журналов потоков NSG не будут удалены и будут продолжать следовать соответствующим политикам хранения. Дополнительные сведения см. в официальном объявлении.

Ведение журнала потоков группы безопасности сети — это функция Azure Наблюдатель за сетями, которая позволяет записывать сведения о IP-трафике, проходящим через группу безопасности сети. Дополнительные сведения о ведении журнала потоков группы безопасности сети см. в обзоре журналов потоков NSG.

В этой статье вы узнаете, как управлять журналами потоков NSG программным способом с помощью шаблона Azure Resource Manager и Azure PowerShell. Вы можете узнать, как управлять журналом потоков NSG с помощью портал Azure, PowerShell, Azure CLI или REST API.

Шаблон 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"
         }
      }
    }
  }

Чтобы создать ресурс Microsoft.Network/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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
      "storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
      "enabled": true,
      "flowAnalyticsConfiguration": {},
      "retentionPolicy": {},
      "format": {}
    }

  }
  ]
}

Примечание.

  • targetResourceId — это идентификатор ресурса целевой группы безопасности сети.
  • storageId является идентификатором ресурса для целевой учетной записи хранения.

Пример 2

В примере 2 используется следующий шаблон, чтобы включить журналы потоков NSG (версия 2) с хранением 5 дней и аналитикой трафика с интервалом обработки в 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
        "storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
        "enabled": true,
        "flowAnalyticsConfiguration": {
          "networkWatcherFlowAnalyticsConfiguration": {
            "enabled": true,
            "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-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 должно отобразиться значения Succeeded. Кроме того, вы можете посетить страницу портала журналов потоков, чтобы подтвердить изменения. Если возникнут проблемы с развертыванием, см. статью Устранение распространенных ошибок развертывания в Azure с помощью Azure Resource Manager.

Удаление ресурса

Azure включает удаление ресурсов с помощью режима полного развертывания. Чтобы удалить ресурс журналов потоков, укажите развертывание в режиме завершения без включения ресурса, который требуется удалить. Дополнительные сведения см. в разделе "Полный режим развертывания".

Следующие шаги