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-vnet→Provisions Azure Virtual Networks — the foundational private network layer for all Azure resources
terraform-azurerm-nsg→Configures Network Security Groups to control inbound and outbound traffic rules
terraform-azurerm-vnet-peering→Establishes VNet peering connections for seamless cross-network routing
terraform-azurerm-private-dns→Manages Private DNS zones for internal name resolution of PaaS services
terraform-azurerm-application-gateway→Deploys a Layer 7 load balancer with WAF, SSL termination, and URL-based routing
terraform-azurerm-load-balancer→Configures Layer 4 Azure Load Balancer for TCP/UDP traffic distribution
terraform-azurerm-vpn→Deploys Azure VPN Gateway for secure site-to-site and point-to-site connectivity

Compute & Containers​

ModuleGitHubDescription
terraform-azurerm-aks→Provisions Azure Kubernetes Service (AKS) clusters with node pools, RBAC, and monitoring
terraform-azurerm-acr→Creates Azure Container Registry for storing and managing private Docker images
terraform-azurerm-app-service→Deploys Azure App Service plans and web apps for hosting APIs and web applications
terraform-azurerm-functions-app→Provisions Azure Functions for event-driven serverless compute workloads

Databases​

ModuleGitHubDescription
terraform-azurerm-flexible-postgresql→Manages Azure Database for PostgreSQL – Flexible Server with HA and read replicas
terraform-azurerm-flexible-mysql→Provisions Azure Database for MySQL – Flexible Server with configurable compute tiers
terraform-azurerm-mssql-db→Deploys Azure SQL Database (MSSQL) with elastic pools and geo-replication support
terraform-azurerm-sql-managed-instance→Provisions Azure SQL Managed Instance for near-complete SQL Server compatibility
terraform-azurerm-cosmos-db→Sets up globally distributed Azure Cosmos DB with configurable consistency models
terraform-azurerm-redis-cache→Provisions Azure Cache for Redis as a fully managed in-memory data store

Storage​

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

Messaging & Events​

ModuleGitHubDescription
terraform-azurerm-service-bus→Configures Azure Service Bus namespaces, queues, and topics for enterprise messaging
terraform-azurerm-eventhub→Deploys Azure Event Hubs for high-throughput real-time event streaming
terraform-azurerm-communication-service→Provisions Azure Communication Services for SMS, email, and video capabilities

Identity & Security​

ModuleGitHubDescription
terraform-azurerm-key-vault→Manages Azure Key Vault for securely storing secrets, certificates, and encryption keys
terraform-azurerm-service-principal→Creates and configures Azure Active Directory service principals for application identities
terraform-azurerm-sentinel→Enables Microsoft Sentinel cloud-native SIEM and SOAR with data connectors and analytics rules

Monitoring & Data​

ModuleGitHubDescription
terraform-azurerm-application-insights→Sets up Azure Application Insights for application performance monitoring and telemetry
terraform-azurerm-data-factory→Provisions Azure Data Factory for data integration, ETL pipelines, and orchestration
terraform-azurerm-logic-app→Deploys Azure Logic Apps for low-code workflow automation and system integrations

Foundation​

ModuleGitHubDescription
terraform-azurerm-resource-group→Creates 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.