2024-01-03 10:00:49 +08:00

61 lines
1.7 KiB
HCL

resource "random_string" "suffix" {
length = 6
special = false
upper = false
}
resource "azurerm_resource_group" "network" {
location = var.location
name = "rg-202-mlmsev-network-${random_string.suffix.result}"
}
resource "azurerm_virtual_network" "vnet" {
address_space = ["192.168.0.0/16"]
location = azurerm_resource_group.network.location
name = "202-mlmsev-vnet"
resource_group_name = azurerm_resource_group.network.name
}
locals {
subnet_names = [
"training",
"aks",
"ml",
]
}
resource "azurerm_subnet" "subnet" {
count = length(local.subnet_names)
address_prefixes = [cidrsubnet("192.168.0.0/16", 8, count.index)]
name = local.subnet_names[count.index]
resource_group_name = azurerm_resource_group.network.name
virtual_network_name = azurerm_virtual_network.vnet.name
}
locals {
private_dns_names = toset([
"privatelink.api.azureml.ms",
"privatelink.azurecr.io",
"privatelink.notebooks.azure.net",
"privatelink.blob.core.windows.net",
"privatelink.file.core.windows.net",
"privatelink.vaultcore.azure.net",
])
}
resource "azurerm_private_dns_zone" "private_dns_zone" {
for_each = local.private_dns_names
name = each.value
resource_group_name = azurerm_resource_group.network.name
}
resource "azurerm_private_dns_zone_virtual_network_link" "link" {
for_each = local.private_dns_names
name = each.value
private_dns_zone_name = azurerm_private_dns_zone.private_dns_zone[each.value].name
resource_group_name = azurerm_resource_group.network.name
virtual_network_id = azurerm_virtual_network.vnet.id
}