fix 101-application-gateway (#149)

Co-authored-by: zjhe <hezijie@microsoft.com>
This commit is contained in:
lonegunmanb 2023-02-13 17:28:10 +08:00 committed by GitHub
parent bbe290c906
commit f4a4eed225
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 33 deletions

View File

@ -1,43 +1,48 @@
resource "azurerm_resource_group" "rg1" { resource "random_string" "rg" {
name = "myResourceGroupAG" length = 8
upper = false
special = false
}
resource "azurerm_resource_group" "rg" {
name = "101-application-gateway-${random_string.rg.result}"
location = "eastus" location = "eastus"
} }
resource "azurerm_virtual_network" "vnet1" { resource "azurerm_virtual_network" "vnet" {
name = "myVNet" name = "myVNet"
resource_group_name = azurerm_resource_group.rg1.name resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg1.location location = azurerm_resource_group.rg.location
address_space = ["10.21.0.0/16"] address_space = ["10.21.0.0/16"]
} }
resource "azurerm_subnet" "frontend" { resource "azurerm_subnet" "frontend" {
name = "myAGSubnet" name = "myAGSubnet"
resource_group_name = azurerm_resource_group.rg1.name resource_group_name = azurerm_resource_group.rg.name
virtual_network_name = azurerm_virtual_network.vnet1.name virtual_network_name = azurerm_virtual_network.vnet.name
address_prefixes = ["10.21.0.0/24"] address_prefixes = ["10.21.0.0/24"]
} }
resource "azurerm_subnet" "backend" { resource "azurerm_subnet" "backend" {
name = "myBackendSubnet" name = "myBackendSubnet"
resource_group_name = azurerm_resource_group.rg1.name resource_group_name = azurerm_resource_group.rg.name
virtual_network_name = azurerm_virtual_network.vnet1.name virtual_network_name = azurerm_virtual_network.vnet.name
address_prefixes = ["10.21.1.0/24"] address_prefixes = ["10.21.1.0/24"]
} }
resource "azurerm_public_ip" "pip1" { resource "azurerm_public_ip" "pip" {
name = "myAGPublicIPAddress" name = "myAGPublicIPAddress"
resource_group_name = azurerm_resource_group.rg1.name resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg1.location location = azurerm_resource_group.rg.location
allocation_method = "Static" allocation_method = "Static"
sku = "Standard" sku = "Standard"
} }
resource "azurerm_application_gateway" "network" { resource "azurerm_application_gateway" "network" {
name = "myAppGateway" name = "myAppGateway"
resource_group_name = azurerm_resource_group.rg1.name resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg1.location location = azurerm_resource_group.rg.location
sku { sku {
name = "Standard_v2" name = "Standard_v2"
@ -57,7 +62,7 @@ resource "azurerm_application_gateway" "network" {
frontend_ip_configuration { frontend_ip_configuration {
name = var.frontend_ip_configuration_name name = var.frontend_ip_configuration_name
public_ip_address_id = azurerm_public_ip.pip1.id public_ip_address_id = azurerm_public_ip.pip.id
} }
backend_address_pool { backend_address_pool {
@ -85,14 +90,15 @@ resource "azurerm_application_gateway" "network" {
http_listener_name = var.listener_name http_listener_name = var.listener_name
backend_address_pool_name = var.backend_address_pool_name backend_address_pool_name = var.backend_address_pool_name
backend_http_settings_name = var.http_setting_name backend_http_settings_name = var.http_setting_name
priority = 1
} }
} }
resource "azurerm_network_interface" "nic" { resource "azurerm_network_interface" "nic" {
count = 2 count = 2
name = "nic-${count.index+1}" name = "nic-${count.index+1}"
location = azurerm_resource_group.rg1.location location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg1.name resource_group_name = azurerm_resource_group.rg.name
ip_configuration { ip_configuration {
name = "nic-ipconfig-${count.index+1}" name = "nic-ipconfig-${count.index+1}"
@ -101,11 +107,11 @@ resource "azurerm_network_interface" "nic" {
} }
} }
resource "azurerm_network_interface_application_gateway_backend_address_pool_association" "nic-assoc01" { resource "azurerm_network_interface_application_gateway_backend_address_pool_association" "nic-assoc" {
count = 2 count = 2
network_interface_id = azurerm_network_interface.nic[count.index].id network_interface_id = azurerm_network_interface.nic[count.index].id
ip_configuration_name = "nic-ipconfig-${count.index+1}" ip_configuration_name = "nic-ipconfig-${count.index+1}"
backend_address_pool_id = azurerm_application_gateway.network.backend_address_pool[0].id backend_address_pool_id = one(azurerm_application_gateway.network.backend_address_pool).id
} }
resource "random_password" "password" { resource "random_password" "password" {
@ -113,14 +119,14 @@ resource "random_password" "password" {
special = true special = true
lower = true lower = true
upper = true upper = true
number = true numeric = true
} }
resource "azurerm_windows_virtual_machine" "vm" { resource "azurerm_windows_virtual_machine" "vm" {
count = 2 count = 2
name = "myVM${count.index+1}" name = "myVM${count.index+1}"
resource_group_name = azurerm_resource_group.rg1.name resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg1.location location = azurerm_resource_group.rg.location
size = "Standard_DS1_v2" size = "Standard_DS1_v2"
admin_username = "azureadmin" admin_username = "azureadmin"
admin_password = random_password.password.result admin_password = random_password.password.result

View File

@ -0,0 +1,3 @@
output "gateway_frontend_ip" {
value = "http://${azurerm_public_ip.pip.ip_address}"
}

View File

@ -1,11 +1,14 @@
terraform { terraform {
required_version = ">=1.2"
required_version = ">=0.12"
required_providers { required_providers {
azurerm = { azurerm = {
source = "hashicorp/azurerm" source = "hashicorp/azurerm"
version = ">=2.97.0" version = "~> 3.0"
}
random = {
source = "hashicorp/random"
version = "~> 3.0"
} }
} }
} }