NAT gateway provisioning
NAT gateway implemented currently on middle subnet type. virtual_network.tf contains the NAT at this terraform code, we have one static public ip for NAT gateway created on natgw_public_ip resource block which is later associated on azurerm_nat_gateway_public_ip_association resourc block.
terraform resource block contains
resource "azurerm_public_ip" "natgw_public_ip" {
name = "natgw-pip-${var.tags.environment}-${var.common_tags.region}-001"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
allocation_method = "Static"
sku = "Standard"
}
resource "azurerm_nat_gateway" "natgw" {
name = "natgw-${var.tags.environment}-${var.common_tags.region}-001"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
sku_name = "Standard"
}
resource "azurerm_nat_gateway_public_ip_association" "natgw_pip" {
nat_gateway_id = azurerm_nat_gateway.natgw.id
public_ip_address_id = azurerm_public_ip.natgw_public_ip.id
}
resource "azurerm_subnet_nat_gateway_association" "natgw_middle_001" {
count = length(data.azurerm_subnet.middle_subnets001)
subnet_id = data.azurerm_subnet.middle_subnets001[count.index].id
nat_gateway_id = azurerm_nat_gateway.natgw.id
}