首页 > 解决方案 > 如何在 Terraform 中为 Azure CosmosDB 定义子网

问题描述

我正在尝试使用 Terraform 模板创建 Azure CosmosDB。我能够成功创建 CosmosDB,但无法在 terraform 模板中添加现有子网详细信息。我正在尝试如下添加子网,但无法正常工作。有人可以帮我如何在 terraform 中定义子网。我需要使用的任何特定版本。

is_virtual_network_filter_enabled = true

virtual_network_rule {
    id = <MY SUBNET ID>
  }

标签: terraformazure-cosmosdbterraform-provider-azure

解决方案


您可以重复使用以下模板

## Azure resource provider ##
provider "azurerm" {
  version = ">= 0.12"
  features {}
}

resource "azurerm_cosmosdb_account" "main" {
  name                = var.cosmosdb
  location            = var.location
  resource_group_name = var.resource_group_name  
  offer_type          = "Standard"
  kind                = "MongoDB"
  is_virtual_network_filter_enabled = "true"
  ip_range_filter     = var.ip_range_filter

  enable_automatic_failover = false

  consistency_policy {
    consistency_level       = "Session"
    max_interval_in_seconds = 5
    max_staleness_prefix    = 100
  }

  geo_location {
    location          = var.location
    failover_priority = 0
  }

  virtual_network_rule  {
    id                = var.vnet_subnet_id
    ignore_missing_vnet_service_endpoint = true
  }
  
}

#resource "azurerm_cosmosdb_mongo_database" "db" {
#  name                = azurerm_cosmosdb_account.main.name
#  resource_group_name = var.resource_group_name
#  account_name        = azurerm_cosmosdb_account.main.name
#}

推荐阅读