現在我正在創建一個 Terraform 腳本來設定應用程式網關、aks、nsg 等...
我需要在我的 nsg 中設定一個入站規則,以允許從我的應用程式網關 IP 地址到我的后端 vnet 的所有流量。
配置應用程式網關時會創建公共 ip 地址。有沒有辦法輸出這個 IP 地址并將它用作我的 nsg 上的入站規則的變數?
uj5u.com熱心網友回復:
我假設 IP 地址的名稱是可預測的(在您的情況下,您將其定義為靜態 IP)。Terraform 輸出有時無法獲取 IP 地址,因為實際配置需要更長的時間。Terraform 公共 IP 地址塊允許使用該ip_address屬性匯出 IP 地址。
靜態IP
如果使用靜態 IP 地址,您實際上可以這樣做:
destination_address_prefix = azurerm_public_ip.myagw_pip.ip_address
動態IP
如果您使用的是動態 IP 地址,則可以使用資料源獲取 IP 地址,然后將其決議為您的 NSG 規則:
data "azurerm_public_ip" "agw_pip" {
name = azurerm_public_ip.myagw_pip.name
resource_group_name = azurerm_public_ip.myagw_pip.resource_group_name
}
我正在參考資源物件的值name和resource_group_name來自資源物件的值,以便 Terraform 在它們之間設定隱式依賴關系。這樣它就會在創建后查詢 IP 地址。
之后,您需要將 NSG 配置為:
destination_address_prefix = data.azurerm_public_ip.pip
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/334191.html
上一篇:如何自動填入空白欄
