クイックスタート: Bicep ファイルを使って Azure Network Watcher NSG フロー ログを構成する

このクイックスタートでは、Bicep ファイルを使って NSG フロー ログを有効にする方法について説明します。

Bicep は、宣言型の構文を使用して Azure リソースをデプロイするドメイン固有言語 (DSL) です。 簡潔な構文、信頼性の高いタイプ セーフ、およびコードの再利用のサポートが提供されます。 Bicep により、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 ファイルには、次のリソースが定義されています。

前のサンプルで強調表示されているコードは、NSG フロー ログのリソース定義を示しています。

Bicep ファイルをデプロイする

このクイックスタートでは、フロー ログの記録を有効にできるネットワーク セキュリティ グループがあることを前提としています。

  1. Bicep ファイルを main.bicep としてローカル コンピューターに保存します。

  2. Azure CLI または Azure PowerShell のどちらかを使用して Bicep ファイルをデプロイします。

    az group create --name exampleRG --location eastus
    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>"
    

デプロイが完了すると、デプロイが成功したことを示すメッセージが表示されます。

デプロイの検証

デプロイが成功したかどうかを確認するには、次の 2 つのオプションがあります。

デプロイに問題がある場合は、「Azure Resource Manager を使った一般的な Azure デプロイ エラーのトラブルシューティング」を参照してください。

リソースをクリーンアップする

完全デプロイ モードを使って Azure リソースを削除できます。 フロー ログ リソースを削除するには、削除するリソースを含めずに、完全モードでデプロイを指定します。 完全デプロイ モードの詳細をお読みください。

Azure portal で NSG フロー ログを無効にすることもできます。

  1. Azure portal にサインインします。

  2. ポータルの上部にある検索ボックスに、「network watcher」と入力します。 検索結果から [Network Watcher] を選択します。

  3. [ログ] の下の [フロー ログ] を選択します。

  4. フロー ログの一覧で、無効にするフロー ログを選びます。

  5. 無効にするを選択します。

NSG フロー ログのデータを視覚化する方法については、以下を参照してください。