如何通过Terraform AzApi Provider启用ACA环境内部负载均衡模式?
使用Terraform AzApi Provider启用Azure Container Apps环境的内部负载均衡模式
要通过AzApi Provider配置ACA环境的内部负载均衡模式,你需要在资源的properties层级添加internalLoadBalancerEnabled属性并设为true,同时保留vnetConfiguration中的internal属性为true(这是虚拟网络内部部署模式的必要配置,需与内部负载均衡配套使用)。
修改后的完整配置如下:
resource "azapi_resource" "aca_env" { for_each = { for aca_env in var.aca_envs : aca_env.name => aca_env} type = "Microsoft.App/managedEnvironments@2022-11-01-preview" name = each.value.name parent_id = azurerm_resource_group.rg.id location = each.value.location body = jsonencode({ properties = { # 启用内部负载均衡 internalLoadBalancerEnabled = true appLogsConfiguration = { destination = "log-analytics" logAnalyticsConfiguration = { customerId = azurerm_log_analytics_workspace.law["${each.value.name}-law"].workspace_id sharedKey = azurerm_log_analytics_workspace.law["${each.value.name}-law"].primary_shared_key } } vnetConfiguration = { "internal" = true "infrastructureSubnetId" = data.azurerm_subnet.subnets[each.value.subnet_id].id } workloadProfiles = [ { name = "Consumption" workloadProfileType = "Consumption" } ] } }) }
关键说明:
internalLoadBalancerEnabled是ACA环境层面启用内部负载均衡的核心属性,完全对应Azurerm Provider中的internal_load_balancer_enabled参数。vnetConfiguration.internal = true确保ACA环境部署在虚拟网络内部,是内部负载均衡模式生效的前提条件,两者必须同时配置。
内容的提问来源于stack exchange,提问作者RSW
相关产品推荐
相关产品推荐

