![](/img/trans.png)
[英]Is it possible to create a application gateway without backend address pool in azure?
[英]Is it possible to provision backend address pool separately from application gateway
我想为我的基础设施提供 terraform 并拥有一些共享的基础设施。 例如,有 1 个共享应用程序网关和多个特定于应用程序的 web 应用程序位于其后面。
是否可以通过单独的 terraform 项目来提供它?
无法在文档中找到如何做到这一点。 有这个 - application_gateway示例,其中所有内容都在 1 go 中提供,然后是 - network_interface_application_gateway_backend_address_pool_association ,您可以在其中在应用程序网关和网络接口之间建立关联,但不能在 webapp 之间建立关联。
编辑
稍微扩展一下我想要实现的目标 - 应用程序网关将成为整个非生产环境(因此“共享”)的一个应用程序网关,并且可以节省成本。 在它背后我想为多个环境配置多个应用程序,例如“Accounts.DEV”、“Accounts.UAT”、“Calculator.Dev”等。希望这能让我的意图更清晰一些。
现在我正在尝试在共享项目中创建空的应用程序网关(使用默认池、前端配置和规则)。 然后,在每个应用程序部署之后运行一些额外的az cli
逻辑( 文档)。
可以分别配置应用程序网关和 Web 应用程序。
默认情况下,这个application_gateway示例创建一个空的后端池,没有任何目标,具有一个默认 HTTP 设置、一个 80 端口的侦听器以及此后端池的基本规则。 当您希望将后端 Web 应用关联到此应用程序网关之后,您需要将 Web 应用的default_site_hostname定位到后端池并修改一些特定配置以匹配您的后端 Web 应用。
例如,
在azurerm_app_service项目中,您可以在预配时为应用服务添加default_site_hostname
的值或使用数据源访问现有应用服务。
output "default_site_hostname" {
value = "${azurerm_app_service.test.default_site_hostname}"
}
在azurerm_application_gateway项目中,您可以将default_site_hostname
的值添加到fqdns
,然后将后端池与其关联。
# since these variables are re-used - a locals block makes this more maintainable
locals {
backend_address_pool_name = "${azurerm_virtual_network.test.name}-beap"
frontend_port_name = "${azurerm_virtual_network.test.name}-feport"
frontend_ip_configuration_name = "${azurerm_virtual_network.test.name}-feip"
http_setting_name = "${azurerm_virtual_network.test.name}-be-htst"
listener_name = "${azurerm_virtual_network.test.name}-httplstn"
request_routing_rule_name = "${azurerm_virtual_network.test.name}-rqrt"
redirect_configuration_name = "${azurerm_virtual_network.test.name}-rdrcfg"
fqdns = ["${azurerm_app_service.test.default_site_hostname}","${data.azurerm_app_service.example.default_site_hostname}"]
...
backend_address_pool {
name = "${local.backend_address_pool_name}"
fqdns = "${local.fqdns}"
}
目前这在 terraform 中是不可能的,因为 Azure API 不允许逐步创建应用程序网关。 如果这对您来说是一个问题并希望对其进行更改,请为此和此功能请求投票。
来源: https : //github.com/terraform-providers/terraform-provider-azurerm/issues/727
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.