LoginSignup
1
0
記事投稿キャンペーン 「2024年!初アウトプットをしよう」

Terraform で Azure リソースの診断設定を投入する

Posted at

タイトルの通り、Terraform にて Azure リソースの診断設定を投入する方法を調べていたので、備忘として残しておこうと思います。

前提

  • 設定したいリソースは既にある (今回は Application Gateway を例にする)
  • 診断設定の送信先のストレージアカウントおよび Log Analytics Workspace も既にある

コード

以下、自分でも試してみたコードです。なお、<> で括られている箇所 (主に名称) については、それぞれ環境に合った文字列に書き換えてください。

data "azurerm_client_config" "current" {}

data "azurerm_resource_group" "rg" {
  name = "<resource_group_name>"
}

data "azurerm_application_gateway" "AppGw01" {
  name = "<application_gateway_name>"
  resource_group_name = data.azurerm_resource_group.rg.name
}

data "azurerm_storage_account" "StorageAccount01" {
  name = "<storage_account_name>"
  resource_group_name = data.azurerm_resource_group.rg.name
}

data "azurerm_log_analytics_workspace" "LogAnalyticsWS01" {
  name = "<log_analytics_workspace_name>"
  resource_group_name = data.azurerm_resource_group.rg.name
}

resource "azurerm_monitor_diagnostic_setting" "DiagSetting01" {
  name               = "<diagnostic_setting_name>"
  target_resource_id = data.azurerm_application_gateway.AppGw01.id
  storage_account_id = data.azurerm_storage_account.StorageAccount01.id
  log_analytics_workspace_id = data.azurerm_log_analytics_workspace.LogAnalyticsWS01.id
  
  # 複数の診断設定を行う場合、一個ずつ記載する
  enabled_log {
    # カテゴリ名は、表示内容から半角スペースを削除して指定する
    category = "ApplicationGatewayAccessLog"
  }

  enabled_log {
    category = "ApplicationGatewayFirewallLog"
  }

  metric {
    category = "AllMetrics"
  }
}

なお、プロバイダの設定などの他に必要なコードについては、基礎的な資料を見てくださいませ🙇‍♂️

参考リファレンス

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0