Files
DevOps-Security-Agent-Skills/infrastructure/cloud-azure/terraform-azure/assets/vnet-module.tf
T

81 lines
2.3 KiB
Terraform
Raw Normal View History

2026-01-27 17:35:45 -05:00
# Azure Virtual Network Module Template
variable "address_space" {
description = "VNet address space"
type = list(string)
default = ["10.0.0.0/16"]
}
# Virtual Network
resource "azurerm_virtual_network" "main" {
name = "${var.project_name}-${var.environment}-vnet"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
address_space = var.address_space
tags = local.common_tags
}
# Public Subnet
resource "azurerm_subnet" "public" {
name = "public-subnet"
resource_group_name = azurerm_resource_group.main.name
virtual_network_name = azurerm_virtual_network.main.name
address_prefixes = ["10.0.1.0/24"]
}
# Private Subnet
resource "azurerm_subnet" "private" {
name = "private-subnet"
resource_group_name = azurerm_resource_group.main.name
virtual_network_name = azurerm_virtual_network.main.name
address_prefixes = ["10.0.2.0/24"]
}
# AKS Subnet
resource "azurerm_subnet" "aks" {
name = "aks-subnet"
resource_group_name = azurerm_resource_group.main.name
virtual_network_name = azurerm_virtual_network.main.name
address_prefixes = ["10.0.10.0/23"]
}
# Network Security Group
resource "azurerm_network_security_group" "main" {
name = "${var.project_name}-${var.environment}-nsg"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
security_rule {
name = "SSH"
priority = 1001
direction = "Inbound"
access = "Allow"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "22"
source_address_prefix = "*"
destination_address_prefix = "*"
}
tags = local.common_tags
}
# NSG Association
resource "azurerm_subnet_network_security_group_association" "public" {
subnet_id = azurerm_subnet.public.id
network_security_group_id = azurerm_network_security_group.main.id
}
output "vnet_id" {
value = azurerm_virtual_network.main.id
}
output "subnet_ids" {
value = {
public = azurerm_subnet.public.id
private = azurerm_subnet.private.id
aks = azurerm_subnet.aks.id
}
}