快速入门:使用 Bicep 文件配置 Azure 网络观察程序 NSG 流日志
本快速入门介绍如何使用 Bicep 文件启用 NSG 流日志。
Bicep 是一种特定于域的语言 (DSL),使用声明性语法来部署 Azure 资源。 它提供简明的语法、可靠的类型安全性以及对代码重用的支持。 Bicep 会针对你的 Azure 基础结构即代码解决方案提供最佳创作体验。
先决条件
具有活动订阅的 Azure 帐户。 如果没有 Azure 订阅,请在开始之前创建一个试用版订阅。
若要部署 Bicep 文件,请安装 Azure CLI 或 PowerShell。
在本地安装 Azure CLI 以运行命令。
使用 az login 命令登录到 Azure。
查阅 Bicep 文件
本快速入门使用 Azure 快速入门模板中的 创建 NSG 流日志 Bicep 模板。
@description('Name of the Network Watcher attached to your subscription. Format: NetworkWatcher_<region_name>')
param networkWatcherName string = 'NetworkWatcher_${location}'
@description('Name of your Flow log resource')
param flowLogName string = 'FlowLog1'
@description('Region where you resources are located')
param location string = resourceGroup().location
@description('Resource ID of the target NSG')
param existingNSG string
@description('Retention period in days. Default is zero which stands for permanent retention. Can be any Integer from 0 to 365')
@minValue(0)
@maxValue(365)
param retentionDays int = 0
@description('FlowLogs Version. Correct values are 1 or 2 (default)')
@allowed([
1
2
])
param flowLogsVersion int = 2
@description('Storage Account type')
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_ZRS'
])
param storageAccountType string = 'Standard_LRS'
var storageAccountName = 'flowlogs${uniqueString(resourceGroup().id)}'
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
name: storageAccountName
location: location
sku: {
name: storageAccountType
}
kind: 'StorageV2'
properties: {}
}
resource networkWatcher 'Microsoft.Network/networkWatchers@2022-01-01' = {
name: networkWatcherName
location: location
properties: {}
}
resource flowLog 'Microsoft.Network/networkWatchers/flowLogs@2022-01-01' = {
name: '${networkWatcherName}/${flowLogName}'
location: location
properties: {
targetResourceId: existingNSG
storageId: storageAccount.id
enabled: true
retentionPolicy: {
days: retentionDays
enabled: true
}
format: {
type: 'JSON'
version: flowLogsVersion
}
}
}
Bicep 文件中定义了以下资源:
- Microsoft.Storage/storageAccounts
- Microsoft.Network networkWatchers
- Microsoft.Network networkWatchers/flowLogs
前面的示例中突出显示的代码显示了 NSG 流日志资源定义。
部署 Bicep 文件
本快速入门假设你有一个可以启用流日志记录的网络安全组。
将该 Bicep 文件另存为本地计算机上的 main.bicep。
使用 Azure CLI 或 Azure PowerShell 来部署该 Bicep 文件。
az group create --name exampleRG --location chinaeast az deployment group create --resource-group exampleRG --template-file main.bicep
系统会提示输入现有网络安全组的资源 ID。 网络安全组资源 ID 的语法为:
"/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkSecurityGroups/<network-security-group-name>"
部署完成后,应会看到一条指出部署成功的消息。
验证部署
可通过两个选项来查看部署是否成功:
- 你的控制台显示
ProvisioningState
为Succeeded
。 - 转到 NSG 流日志门户页确认所做的更改。
如果部署出现问题,请参阅排查使用 Azure 资源管理器时的常见 Azure 部署错误。
清理资源
可以使用完整部署模式删除 Azure 资源。 若要删除流日志资源,请在完整模式下指定部署,而不包含要删除的资源。 详细了解完整部署模式。
还可以在 Azure 门户中禁用 NSG 流日志:
登录 Azure 门户。
在门户顶部的搜索框中,输入“网络观察程序”。 在搜索结果中,选择“网络观察程序”。
在“日志”下,选择“流日志”。
在流日志列表中,选择要禁用的流日志。
选择禁用。
相关内容
若要了解如何直观地显示 NSG 流日志数据,请参阅: