我的用例是位于单个应用程序网关后面的多个具有不同生命周期的AppService应用程序。每当我添加新应用程序时,我都想添加一个新的侦听器,新的多站点路由规则和一个新的后端池,而无需拆除并重新创建网关。
最初,我的计划是为共享基础结构提供一个Terraform配置,该配置创建一个框架应用网关,然后具有单独的针对特定应用的Terraform配置,以为每个应用向该网关添加侦听器,后端地址池和路由规则。不过,用TF似乎不可能完成。
我可以使用Azure CLI或门户将侦听器,路由规则和后端池清楚地添加到现有网关。有没有办法用Terraform做到这一点?
答案 0 :(得分:0)
这是Terraform的reference doc,用于管理Azure应用程序网关。 您可以参考此示例代码,将新的侦听器,路由规则以及后端池添加到现有的应用程序网关。该模板包含所有必需的参数,例如
http_listener-(必需)一个或多个http_listener块。
http_listener {
name = "https-listener-1"
frontend_ip_configuration_name = "feip"
frontend_port_name = "http-port"
protocol = "Http"
}
request_routing_rule-(必需)一个或多个request_routing_rule块。
request_routing_rule {
name = "${local.request_routing_rule_name}"
rule_type = "Basic"
http_listener_name = "${local.listener_name}"
backend_address_pool_name = "${local.backend_address_pool_name}"
backend_http_settings_name = "${local.http_setting_name}"
}
}
backend_address_pool-(必需)一个或多个如下定义的backend_address_pool块。
backend_address_pool {
name = "${local.backend_address_pool_name}"
}