本快速入门介绍如何使用 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 流日志数据,请参阅: