【发布时间】:2022-02-22 13:40:44
【问题描述】:
我是 Terraform 和 Azure 的新手。我正在尝试使用 Terraform 构建资源组/资源。以下是相同的设计。
我已经编写了 Terraform 代码来构建 Log Analytics 工作区和自动化帐户。 下面是我的问题:
- 成本管理 / Azure Monitor / Network Watcher / Defender for Cloud ?我可以使用此资源组中的 Terraform 代码构建所有这些,还是需要从 Azure 门户手动构建。当我们在左侧创建任何资源时,诸如成本估算器/管理之类的选项已经可用。这是否意味着它们可以在使用时轻松地从那里选择,而无需从 Terraform 代码构建?
- 我们如何从 Terraform 代码应用角色授权/策略分配?
这是我为构建自动化帐户/日志分析而编写的代码
terraform {
required_version = ">=0.12"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>2.0"
}
}
}
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "management" {
# Mandatory resource attributes
name = "k8s-log-analytics-test"
location = "eastus"
}
resource "random_id" "workspace" {
keepers = {
# Generate a new id each time we switch to a new resource group
group_name = azurerm_resource_group.management.name
}
byte_length = 8
}
resource "azurerm_log_analytics_workspace" "management" {
# Mandatory resource attributes
name = "k8s-workspace-${random_id.workspace.hex}"
location = azurerm_resource_group.management.location
resource_group_name = azurerm_resource_group.management.name
# Optional resource attributes
retention_in_days = 30
sku = "PerGB2018"
}
resource "azurerm_log_analytics_solution" "management" {
# Mandatory resource attributes
solution_name = "mgmyloganalytsolution"
location = azurerm_resource_group.management.location
resource_group_name = azurerm_resource_group.management.name
workspace_resource_id = azurerm_log_analytics_workspace.management.id
workspace_name = azurerm_log_analytics_workspace.management.name
plan {
publisher = "Microsoft"
product = "OMSGallery/ContainerInsights"
}
}
resource "azurerm_automation_account" "management" {
# Mandatory resource attributes
name = "mgmtautomationaccount"
location = azurerm_resource_group.management.location
resource_group_name = azurerm_resource_group.management.name
sku_name = "Basic"
}
resource "azurerm_log_analytics_linked_service" "management" {
# Mandatory resource attributes
resource_group_name = azurerm_resource_group.management.name
workspace_id = azurerm_log_analytics_workspace.management.id
read_access_id = azurerm_automation_account.management.id
}
【问题讨论】:
标签: azure terraform terraform-provider-azure