Skip to main content
Version: Next

Task 02: Configure Management Mode

Implementation Terraform

DOCUMENT CATEGORY: Task SCOPE: Management mode network configuration PURPOSE: Define VNet, VPN Gateway, subnets, and optional servers

Status: Active Last Updated: 2026-02-07


Objective

Configure the management_network_config variable for deploying shared management infrastructure including VNet, VPN Gateway, Bastion, Key Vault, and optional monitoring servers.


Prerequisites

  • Task 01 completed (core variables configured)
  • On-premises network IP ranges documented
  • Azure VNet IP range planned (avoid conflicts)
  • VPN Gateway BGP settings from network team
  • Subnet sizing calculated (minimum requirements met)

Configuration

Network Configuration Block

management_network_config = {
on_prem = {
mgmt_network = "10.0.0.0/24" # On-premises management network CIDR
oob_network = "10.1.0.0/24" # Out-of-band management network CIDR
}

azure = {
asn = 65515 # VPN Gateway ASN (Azure default or custom)
gateway_bgp_ips = [ # VPN Gateway BGP IP addresses
"169.254.21.2", # Instance 0 BGP IP
"169.254.21.3" # Instance 1 BGP IP (zone-redundant)
]
gateway_sku = "VpnGw2AZ" # VPN Gateway SKU (VpnGw1/2/3 or AZ variants)
vnet_address_space = "10.100.1.0/24" # Azure VNet CIDR (must not conflict)

subnets = {
gateway = "10.100.1.0/27" # GatewaySubnet (minimum /27)
azrl = "10.100.1.32/27" # Azure Local management VMs
bastion = "10.100.1.64/26" # AzureBastionSubnet (minimum /26)
endpoints = "10.100.1.128/27" # Private endpoints
dns = "10.100.1.160/28" # DNS resolver (minimum /28)
}
}
}

Optional: Deploy NDM and Utility Servers

# Optional: Network Device Monitor server
deploy_ndm_server = true

# Optional: Utility/jumpbox server
deploy_utility_server = true

Variable Reference

VariableTypeDescriptionExample
on_prem.mgmt_networkstringOn-prem management network"10.0.0.0/24"
on_prem.oob_networkstringOut-of-band network"10.1.0.0/24"
azure.asnnumberVPN Gateway ASN65515
azure.gateway_bgp_ipslist(string)BGP IP addresses["169.254.21.2", ...]
azure.gateway_skustringVPN Gateway SKU"VpnGw2AZ"
azure.vnet_address_spacestringAzure VNet CIDR"10.100.1.0/24"
azure.subnets.gatewaystringGateway subnet (min /27)"10.100.1.0/27"
azure.subnets.azrlstringManagement VMs subnet"10.100.1.32/27"
azure.subnets.bastionstringBastion subnet (min /26)"10.100.1.64/26"
azure.subnets.endpointsstringPrivate endpoints subnet"10.100.1.128/27"
azure.subnets.dnsstringDNS resolver (min /28)"10.100.1.160/28"

VPN Gateway SKU Options

SKUTunnelsThroughputZone-RedundantUse Case
VpnGw130650 MbpsNoSmall deployments
VpnGw2301 GbpsNoStandard deployments
VpnGw3301.25 GbpsNoHigh bandwidth
VpnGw1AZ30650 MbpsYesSmall + HA
VpnGw2AZ301 GbpsYesRecommended
VpnGw3AZ301.25 GbpsYesHigh bandwidth + HA
Recommended SKU

Use VpnGw2AZ for zone-redundant high availability with 1 Gbps throughput.


IP Planning Guidelines

Subnet Minimums

SubnetMinimumRecommendedPurpose
Gateway/27 (32 IPs)/27VPN Gateway instances
Bastion/26 (64 IPs)/26Azure Bastion service
DNS/28 (16 IPs)/28DNS resolver
AZRL/27 (32 IPs)/27 or largerManagement VMs
Endpoints/27 (32 IPs)/27 or largerPrivate endpoints

Network Conflict Check

Ensure Azure VNet CIDR does not overlap with:

  • ✅ On-premises management network
  • ✅ On-premises OOB network
  • ✅ Cluster networks
  • ✅ Other Azure VNets

Validation

  • VNet CIDR does not conflict with on-premises networks
  • All subnets fit within VNet address space
  • Gateway subnet is minimum /27
  • Bastion subnet is minimum /26
  • DNS subnet is minimum /28
  • VPN Gateway SKU supports required bandwidth
  • BGP ASN and IPs are correct
  • Optional server flags set as desired

Next Steps

Proceed to Task 03 - Configure Cluster Mode to define cluster-specific resources.


PreviousUpNext
Task 01 - Core VariablesPhase 01 - ConfigurationTask 03 - Cluster Mode

Version Control

VersionDateAuthorChanges
1.0.02026-03-24Azure Local Cloudnology TeamInitial release