virtual-network-spoke

avinor/virtual-network-spoke/azurerm

Terraform Module HCL AZURERM

Terraform module to create a spoke virtual network according to Microsoft Best Practice of deploying Hub-Spoke

Install
module "virtual-network-spoke" {
source = "avinor/virtual-network-spoke/azurerm"
version = "5.1.7"
}
plain text: /constructs/tfmod-avinor-virtual-network-spoke-azurerm/install.txt
⭐ Source on GitHub 📦 Registry page
README

Virtual network spoke Terraform module to create a spoke virtual network according to Microsoft Best Practice of deploying Hub-Spoke architecture. This requires that the hub network has already been deployed and that the service principal have access, see Setup for more details. Recommendation It is recommended to define as few service endpoints as possible on spoke subnets. Defining storage can be useful as it does not clutter the firewall log with all VM disk accesses, but besides that only define if absolutely necessary. Firewall subnet has all service endpoints defined so traffic will still go to Azure Backbone, but routed through firewall so all traffic is logged. Limitations Currently, spoke subnets do not support delegation as not all delegation resources support UDR, for instance c

Inputs (15)
NameTypeDescriptionDefault
resource_group_namestringName of resource group to deploy resources in. required
hub_virtual_network_idstringId of the hub virtual network that spoke should peer against. required
firewall_ipstringPrivate ip of firewall to route all traffic through. required
locationstringThe Azure Region in which to create resource. required
namestringName of the spoke virtual network. required
address_spacelist(string)The address space that is used the virtual network. required
subnetslist(object({ name Subnets to create and their configuration. All values are required, set empty to required
use_remote_gatewayboolUse remote gateway when peering hub to spoke.true
private_dns_linkobject({ resource_group_naPrivate dns link with auto-registration enablednull
resolvable_dns_linkslist(object({ resource_groPrivate dns links with auto-registration disabled[]
storage_account_resource_group_createboolProperty for supporting terraform state created by older version of this module.false
tagsmap(string)Tags to apply to all resources created.{}
diagnosticsobject({ destination = sDiagnostic settings for those resources that support it. See README.md for detainull
enable_advanced_threat_protectionboolBoolean flag which controls if advanced threat protection is enabled.true
netwatcherobject({ resource_group_loProperties for creating network watcher. If set it will create Network Watcher rnull
Outputs (4)
vnet_resource_group_name
vnet_name
subnets
vnet_id
Resources (15)
azurerm_monitor_diagnostic_settingazurerm_network_security_groupazurerm_network_security_ruleazurerm_network_watcherazurerm_network_watcher_flow_logazurerm_private_dns_zone_virtual_network_linkazurerm_resource_groupazurerm_routeazurerm_route_tableazurerm_subnetazurerm_subnet_network_security_group_associationazurerm_subnet_route_table_associationazurerm_virtual_networkazurerm_virtual_network_peeringrandom_string
Details
FrameworkTerraform Module
LanguageHCL
Version5.1.7
Cloud AZURERM
★ Stars5
Forks5
Total downloads6.6k
Inputs15
Outputs4
Resources15
Examples4
LicenseApache-2.0
Namespaceavinor
Updated