Skip to main content

Azure Terraform Modules

The terraform-az-modules GitHub organization hosts 40+ production-grade Terraform modules for Microsoft Azure. All modules are Apache 2.0 licensed and written in HCL.


Networking

ModuleGitHubDescription
terraform-azurerm-vnetProvisions Azure Virtual Networks — the foundational private network layer for all Azure resources
terraform-azurerm-nsgConfigures Network Security Groups to control inbound and outbound traffic rules
terraform-azurerm-vnet-peeringEstablishes VNet peering connections for seamless cross-network routing
terraform-azurerm-private-dnsManages Private DNS zones for internal name resolution of PaaS services
terraform-azurerm-application-gatewayDeploys a Layer 7 load balancer with WAF, SSL termination, and URL-based routing
terraform-azurerm-load-balancerConfigures Layer 4 Azure Load Balancer for TCP/UDP traffic distribution
terraform-azurerm-vpnDeploys Azure VPN Gateway for secure site-to-site and point-to-site connectivity

Compute & Containers

ModuleGitHubDescription
terraform-azurerm-aksProvisions Azure Kubernetes Service (AKS) clusters with node pools, RBAC, and monitoring
terraform-azurerm-acrCreates Azure Container Registry for storing and managing private Docker images
terraform-azurerm-app-serviceDeploys Azure App Service plans and web apps for hosting APIs and web applications
terraform-azurerm-functions-appProvisions Azure Functions for event-driven serverless compute workloads

Databases

ModuleGitHubDescription
terraform-azurerm-flexible-postgresqlManages Azure Database for PostgreSQL – Flexible Server with HA and read replicas
terraform-azurerm-flexible-mysqlProvisions Azure Database for MySQL – Flexible Server with configurable compute tiers
terraform-azurerm-mssql-dbDeploys Azure SQL Database (MSSQL) with elastic pools and geo-replication support
terraform-azurerm-sql-managed-instanceProvisions Azure SQL Managed Instance for near-complete SQL Server compatibility
terraform-azurerm-cosmos-dbSets up globally distributed Azure Cosmos DB with configurable consistency models
terraform-azurerm-redis-cacheProvisions Azure Cache for Redis as a fully managed in-memory data store

Storage

ModuleGitHubDescription
terraform-azurerm-storageCreates Azure Storage Accounts with support for blobs, files, queues, and tables

Messaging & Events

ModuleGitHubDescription
terraform-azurerm-service-busConfigures Azure Service Bus namespaces, queues, and topics for enterprise messaging
terraform-azurerm-eventhubDeploys Azure Event Hubs for high-throughput real-time event streaming
terraform-azurerm-communication-serviceProvisions Azure Communication Services for SMS, email, and video capabilities

Identity & Security

ModuleGitHubDescription
terraform-azurerm-key-vaultManages Azure Key Vault for securely storing secrets, certificates, and encryption keys
terraform-azurerm-service-principalCreates and configures Azure Active Directory service principals for application identities
terraform-azurerm-sentinelEnables Microsoft Sentinel cloud-native SIEM and SOAR with data connectors and analytics rules

Monitoring & Data

ModuleGitHubDescription
terraform-azurerm-application-insightsSets up Azure Application Insights for application performance monitoring and telemetry
terraform-azurerm-data-factoryProvisions Azure Data Factory for data integration, ETL pipelines, and orchestration
terraform-azurerm-logic-appDeploys Azure Logic Apps for low-code workflow automation and system integrations

Foundation

ModuleGitHubDescription
terraform-azurerm-resource-groupCreates and tags Azure Resource Groups for logical resource organization

Quick start

# Example: provision an AKS cluster
module "aks" {
source = "git::https://github.com/terraform-az-modules/terraform-azurerm-aks.git?ref=v1.0.0"

name = "my-cluster"
resource_group_name = module.rg.name
location = "eastus"

default_node_pool = {
name = "system"
node_count = 2
vm_size = "Standard_D2s_v3"
}
}

Pin each module to a release tag. Browse tags on the module's GitHub releases page.


All modules

Full list at github.com/terraform-az-modules.