Skip to content
Azure

Azure Terraform Resources

Cost estimation reference for 130 Azure resources supported by C3X. Each page covers pricing dimensions, Terraform examples, and optimization tips.

Analytics

azurerm_analysis_services_server

A managed tabular analytics engine billed per hour by tier. An S0 is ~$591/month if left running, but it can be paused, which stops the charge entirely.

Azure Analysis Services
azurerm_data_factory

Managed ETL/ELT and data integration. Pipeline orchestration ($1/1K runs), data flow execution ($0.193-$0.34/vCore-hour for General Purpose), and Integration Runtime hours. Data movement billed separately ($0.25/DIU-hour Azure-hosted).

Azure Data Factory
azurerm_databricks_workspace

Managed Spark and Delta Lake. Bills DBU (Databricks Units) at $0.15-$0.55/DBU-hour depending on workload type plus underlying VM costs. Photon engine adds ~30% to DBU rate for ~2-3x performance.

Azure Databricks
azurerm_eventhub

An individual event hub (partitioned log) inside an Event Hubs namespace. The hub itself is free. Cost lives on the parent namespace: throughput units, processing units, or dedicated capacity, plus ingress events and Capture.

Azure Event Hubs
azurerm_eventhub_cluster

A single-tenant dedicated Event Hubs cluster billed per Capacity Unit-hour. One CU is ~$6,847/month, only worth it at very high, sustained throughput.

Azure Event Hubs
azurerm_hdinsight_hadoop_cluster

A managed Hadoop/Hive cluster on HDInsight, billed per node-hour for head and worker VMs. A 2-head + 3-worker cluster is ~$1,894/month, and it doesn't auto-pause.

Azure HDInsight
azurerm_hdinsight_hbase_cluster

A managed Apache HBase (NoSQL wide-column) cluster on HDInsight, billed per node-hour for head and worker (region server) VMs. A 2-head + 3-worker cluster is ~$1,894/month.

Azure HDInsight
azurerm_hdinsight_interactive_query_cluster

A managed Hive LLAP (Interactive Query) cluster on HDInsight, billed per node-hour for head and worker VMs. A 2-head + 3-worker cluster is ~$1,894/month.

Azure HDInsight
azurerm_hdinsight_kafka_cluster

A managed Apache Kafka cluster on HDInsight, billed per node-hour for head and worker (broker) VMs. A 2-head + 3-broker cluster is ~$1,894/month, running continuously.

Azure HDInsight
azurerm_hdinsight_spark_cluster

A managed Apache Spark cluster billed per node-hour for head and worker VMs. A 2-head + 3-worker cluster is ~$1,894/month, running continuously.

Azure HDInsight
azurerm_kusto_cluster

A managed analytics engine (Kusto) for fast queries over telemetry and logs. Priced on the underlying VM instances plus an Azure Data Explorer markup per vCPU-hour.

Azure Data Explorer
azurerm_powerbi_embedded

Dedicated Power BI capacity for embedding analytics in apps, billed per hour by A-SKU. An A1 is ~$736/month, but it can be paused when not in use.

Power BI Embedded
azurerm_purview_account

A data-governance and catalog account billed per always-on Data Map capacity unit, plus scanning. One capacity unit is ~$300/month before scans.

Microsoft Purview
azurerm_search_service

Managed full-text and vector search. Free tier for development. Basic at $75/month, Standard from $250/month per Search Unit. Semantic ranking and vector search included on Standard+.

Azure AI Search
azurerm_stream_analytics_job

A real-time stream-processing job billed per Streaming Unit-hour. Three streaming units run ~$241/month, and the job bills while it's running whether or not events flow.

Azure Stream Analytics
azurerm_synapse_spark_pool

An Apache Spark pool in Synapse billed per vCore-hour of active nodes. Three Small nodes running full-time are ~$1,253/month, but auto-pause makes the real cost usage-driven.

Azure Synapse Analytics
azurerm_synapse_sql_pool

A dedicated, provisioned data-warehouse pool. Priced per cDWU-hour by performance level, plus separately-billed storage, and pausable to stop compute charges.

Azure Synapse Analytics
azurerm_synapse_workspace

Unified data warehouse + Spark + serverless SQL + Data Factory pipelines. Dedicated SQL pool from $1.20/DWU-hour. Spark pool $0.143/vCore-hour. Serverless SQL $5/TB scanned. Workspace itself is free.

Azure Synapse Analytics

Application Integration

Compute

azurerm_batch_pool

A pool of compute nodes for batch/HPC jobs, billed the underlying VM rate per node. Two Standard_D2s_v5 dedicated nodes are ~$140/month, but autoscale and Spot make it usage-driven.

Azure Batch
azurerm_dedicated_host

A physical server dedicated to your VMs for isolation and licensing. Priced per host-hour by host SKU, independent of how many VMs you place on it.

Azure Virtual Machines
azurerm_linux_virtual_machine

A single Linux VM. Billed per hour for the chosen size plus a separate managed OS disk. A Standard_D2s_v5 runs ~$70/month before the disk.

Azure Virtual Machines
azurerm_linux_virtual_machine_scale_set

A group of identical Linux VMs that scales as a unit. Priced per instance-hour by VM size times the instance count, plus per-instance managed OS disks.

Azure Virtual Machines
azurerm_machine_learning_compute_cluster

An autoscaling cluster for ML training and batch jobs. Priced on the underlying VM rate per node-hour, scaling between min and max nodes with the workload.

Azure Machine Learning
azurerm_orchestrated_virtual_machine_scale_set

A Flexible-orchestration VM scale set, billed per instance-hour at the VM rate. Two Standard_D2s_v5 instances are ~$140/month, scaling with the instance count.

Azure Virtual Machine Scale Sets
azurerm_service_plan

The compute plan that hosts Web Apps and Function Apps, billed per instance-hour by tier × worker count. A B1 plan with one worker is ~$12/month.

Azure App Service
azurerm_spring_cloud_service

A managed platform for Spring Boot apps. The Standard tier carries a per-hour base fee (~$578/month) on top of per-app vCPU/memory usage.

Azure Spring Apps
azurerm_static_web_app

Managed hosting for static sites with serverless API backends. Priced as a flat monthly plan fee, with a genuinely free tier for small projects.

Azure Static Web Apps
azurerm_windows_virtual_machine

A single Windows VM. Bills per hour for the size, including a Windows license surcharge, plus a managed OS disk. A Standard_D2s_v5 runs ~$137/month before the disk.

Azure Virtual Machines
azurerm_windows_virtual_machine_scale_set

A fleet of identical Windows VMs that scales as a unit, billed per instance-hour (Windows rate). Three Standard_D2s_v5 instances are ~$412/month.

Azure Virtual Machine Scale Sets

Containers

Database

azurerm_cosmosdb_account

A globally-distributed multi-model database. Priced by Request Units (RU/s) and storage, with provisioned and serverless options.

Azure Cosmos DB
azurerm_cosmosdb_cassandra_cluster

A managed Apache Cassandra cluster billed per node-hour by VM SKU. Three Standard_DS14_v2 nodes run ~$4,419/month, node count and SKU drive the whole bill.

Azure Cosmos DB for Apache Cassandra
azurerm_healthcare_fhir_service

A managed FHIR (healthcare data) service billed by structured storage plus optional provisioned throughput. 100 GB of storage is ~$25/month.

Azure Health Data Services
azurerm_mariadb_server

A managed MariaDB server billed per vCore plus storage. A 2-vCore server with 50 GB is ~$182/month, but the service is retiring, so plan a migration.

Azure Database for MariaDB
azurerm_mssql_database

Managed SQL Server in Azure. DTU model from $4.90/month (Basic 5 DTU) or vCore model from $0.18/vCore-hour (General Purpose Serverless). Hyperscale tier scales beyond 4 TB. License-included or BYOL via Hybrid Benefit.

Azure SQL
azurerm_mssql_elasticpool

A shared pool of resources for many Azure SQL databases. Priced per pool vCore-hour (or DTU) plus pool storage, amortizing capacity across databases.

Azure SQL Database
azurerm_mssql_managed_instance

A fully managed SQL Server instance with near-100% engine compatibility. Priced per vCore-hour by service tier and hardware generation, plus included and overage storage.

Azure SQL Managed Instance
azurerm_mssql_server

The logical SQL server that hosts Azure SQL databases and elastic pools. The server is free. Cost lives on the databases and pools it contains: DTU or vCore compute, storage, and backup.

Azure SQL Database
azurerm_mysql_flexible_server

Managed MySQL with vCPU-based pricing. Burstable B1ms at $13.87/month, General Purpose D2ds_v4 at ~$140/month. Storage $0.115/GB-month. HA doubles compute cost; zone-redundant adds 25% on top.

Azure Database for MySQL
azurerm_mysql_server

The legacy MySQL Single Server, billed per vCore plus storage. A 2-vCore GP server with 50 GB is ~$70/month, but Single Server is retired, so migrate to Flexible Server.

Azure Database for MySQL
azurerm_postgresql_flexible_server

A managed PostgreSQL server. Priced by compute SKU, storage size, and high-availability mode.

Azure Database for PostgreSQL
azurerm_postgresql_flexible_server_database

A logical database inside a PostgreSQL Flexible Server. The database is free. Cost lives on the parent server: compute vCores, provisioned storage, IOPS, and backup beyond the free allowance.

Azure Database for PostgreSQL
azurerm_postgresql_server

The legacy PostgreSQL Single Server, billed per vCore plus storage. A 2-vCore GP server with 50 GB is ~$70/month, but Single Server is retired, so migrate to Flexible Server.

Azure Database for PostgreSQL
azurerm_redis_cache

A managed Redis cache. Priced per hour by tier (Basic, Standard, Premium, Enterprise) and cache size.

Azure Cache for Redis
azurerm_redis_enterprise_cluster

The Enterprise tier of Azure Cache for Redis, billed a flat hourly rate by SKU. An Enterprise_E10-2 runs ~$609/month, the capacity (E-number) drives the cost.

Azure Cache for Redis

Developer Tools

Integration

IoT

Machine Learning

Management

Messaging

Networking

azurerm_api_management

Full API gateway with developer portal, rate limiting, transformations. Consumption ($3.50/M calls), Developer ($48/month, no SLA), Basic ($147/month), Standard ($686/month), Premium ($2,795/month per unit).

Azure API Management
azurerm_application_gateway

A Layer 7 load balancer with WAF support. Priced by gateway hours, capacity units, and optional WAF tier.

Azure Application Gateway
azurerm_bastion_host

Managed, browser-based RDP/SSH access to VMs without public IPs. Priced per gateway-hour by SKU, plus outbound data transfer and scale-unit hours.

Azure Bastion
azurerm_cdn_endpoint

A CDN endpoint that caches and serves content from an origin, billed per GB of egress by zone. 1 TB of Zone 1 egress is ~$81/month.

Azure CDN
azurerm_cdn_frontdoor_profile

Global CDN + WAF + load balancer. Standard at $35/month base + $0.17/GB outbound. Premium at $165/month base + $0.225/GB outbound. WAF rules and Private Link add fees. Anycast routing across 192+ POPs.

Azure Front Door
azurerm_ddos_protection_plan

A network DDoS protection plan billed a flat ~$2,944/month, but it covers up to 100 public IPs across all your VNets, so the cost is meant to be shared.

Azure DDoS Protection
azurerm_dns_zone

A public DNS zone hosted on Azure's name servers. Priced per zone per month plus per-million queries, both at low flat rates.

Azure DNS
azurerm_express_route_circuit

A private, dedicated connection between on-premises and Azure. Priced as a monthly circuit fee by bandwidth and billing model, plus outbound data on the metered plan.

Azure ExpressRoute
azurerm_lb

Layer-4 (TCP/UDP) load balancer. Standard SKU at $0.025/hour + $0.005 per processed GB. Basic SKU is free but deprecated for production (retiring 2025). Outbound rules and inbound NAT count toward the rule limit.

Azure Load Balancer
azurerm_lb_rule

A load-balancing rule that maps a frontend port to a backend pool. The rule is free to define. Cost lives on the parent Standard Load Balancer: a base rule charge, per-rule overage, data processed, and the public IP.

Azure Load Balancer
azurerm_nat_gateway

Managed outbound SNAT for a subnet. Priced per gateway-hour plus per-GB of data processed, with the attached public IP billed separately.

Azure NAT Gateway
azurerm_network_interface

A network interface is free. The NIC and its private IP cost nothing. The cost comes from the VM it attaches to, any public IP bound to it, and the traffic it carries.

Azure Virtual Network
azurerm_network_security_group

A network security group is free. The group, its rules, and the traffic it filters cost nothing. The cost sits in the resources it protects and, if enabled, in flow logging.

Azure Virtual Network
azurerm_point_to_site_vpn_gateway

A user (point-to-site) VPN gateway in a Virtual WAN hub, billed per scale unit-hour plus per connected user. One scale unit is ~$264/month.

Azure Virtual WAN
azurerm_private_dns_a_record

A private DNS A record is free to declare; the cost lives on the Private DNS zone. The zone bills a small monthly hosting fee plus a per-million-queries charge that record lookups drive.

Azure DNS
azurerm_private_dns_resolver

A managed DNS resolver for hybrid name resolution between Azure and on-prem, billed per inbound/outbound endpoint-hour. Two endpoints are ~$365/month.

Azure DNS
azurerm_private_dns_zone

A private DNS zone for name resolution within VNets, billed a flat ~$0.50/zone/month plus per-million queries. 1M queries is ~$0.90.

Azure DNS
azurerm_private_endpoint

A private IP into a PaaS service over Private Link. ~$0.01/hour per endpoint (~$7.30/month) plus $0.01/GB processed, small individually, large in aggregate.

Azure Private Link
azurerm_public_ip

Public IPv4 or IPv6 address. Standard SKU at $0.005/hour ($3.65/month). Basic SKU is deprecated and retiring. Per-IP charges apply whether the IP is attached or unattached.

Azure Virtual Network
azurerm_route

A route is free. A single user-defined route in a route table costs nothing. The cost is whatever paid next hop the route directs traffic toward.

Azure Virtual Network
azurerm_route_table

A route table is free. User-defined routes and their association to subnets cost nothing. The cost sits in whatever the routes point traffic at.

Azure Virtual Network
azurerm_subnet

A subnet is free. Carving an address range out of a virtual network costs nothing. The cost lives in the resources you place inside the subnet and the traffic they generate.

Azure Virtual Network
azurerm_traffic_manager_profile

DNS-based global load balancing billed per million DNS queries plus per monitored endpoint. 10M queries with 2 endpoints is ~$6/month.

Azure Traffic Manager
azurerm_virtual_hub

The central hub of an Azure Virtual WAN, billed per hour for the hub plus per GB of data processed. The hub base is ~$182.50/month before data and gateways.

Azure Virtual WAN
azurerm_virtual_network

A virtual network is free. The address space, subnets, and the network itself cost nothing. The bill comes from the paid resources you run inside it and the traffic it carries.

Azure Virtual Network
azurerm_virtual_network_gateway

A VPN (or ExpressRoute) gateway billed per hour by SKU. A VpnGw1 runs ~$139/month just to exist, before any data processing.

Azure VPN Gateway
azurerm_vpn_gateway

A scalable VPN gateway in a Virtual WAN hub, billed per scale unit-hour. One scale unit is ~$264/month, plus data processed through the hub.

Azure Virtual WAN

Observability

Other

Security

Security & Identity

Serverless

Storage

azurerm_backup_protected_vm

A VM enrolled in Azure Backup, billed a per-instance protection fee by VM size plus backup storage. A ≤500 GB VM with 100 GB of backups is ~$12/month.

Azure Backup
azurerm_data_protection_backup_vault

A vault for backups of disks, blobs, databases, and AKS, billed per GB of backup storage. 500 GB of vaulted LRS backup is ~$50/month, retention drives the bill.

Azure Backup
azurerm_image

A custom VM image stored as managed-disk snapshots, billed per GB-month. A 127 GB image is ~$6.35/month.

Azure Managed Disks
azurerm_managed_disk

A block storage disk for Azure VMs. Priced by disk type and tier (per-disk for Premium SSD, per-GB for Standard).

Azure Managed Disks
azurerm_managed_lustre_file_system

A high-performance Lustre file system for HPC/ML, billed per GiB of provisioned capacity by throughput tier. 4 TB at the 250 MB/s/TiB tier is ~$696/month.

Azure Managed Lustre
azurerm_netapp_pool

A provisioned capacity pool for high-performance NFS/SMB file storage. Priced per provisioned TiB by service level, billed on allocated (not used) capacity.

Azure NetApp Files
azurerm_recovery_services_vault

The container for Azure Backup and Azure Site Recovery. The vault is free. Cost lives on what you protect: per-instance backup fees, backup storage, and Site Recovery per-instance replication.

Azure Backup and Site Recovery
azurerm_site_recovery_replicated_vm

A VM protected by Azure Site Recovery (DR replication), billed ~$25/protected instance/month plus the storage and egress the replica consumes.

Azure Site Recovery
azurerm_snapshot

A point-in-time copy of a managed disk, billed per GB-month. A 128 GB Standard LRS snapshot is ~$6.40/month.

Azure Managed Disks
azurerm_storage_account

A storage account for Blob, File, Queue, and Table services. Priced by service type, redundancy, access tier, and operations.

Azure Storage
azurerm_storage_blob

Declaring a blob is free; the data it holds is not. A blob drives capacity, transaction, and egress charges on the parent storage account by its size, access tier, and read volume.

Azure Storage
azurerm_storage_container

A blob container is free. It is a namespace for blobs, not a billed resource. The cost is the blobs inside it and the transactions against them on the parent storage account.

Azure Storage
azurerm_storage_management_policy

A lifecycle management policy is free, and it usually lowers your bill. It tiers and expires blobs automatically on the parent storage account, cutting capacity cost.

Azure Storage
azurerm_storage_queue

A storage queue is free to declare. The cost is transactions and the small message capacity it holds, billed on the parent storage account by operation volume.

Azure Storage
azurerm_storage_share

A managed SMB/NFS file share billed by tier and capacity. A 100 GiB standard share is ~$6/month; Premium provisions capacity at a higher rate.

Azure Files
azurerm_storage_table

A storage table is free to declare. The cost is capacity for the entities it holds and transactions against them, billed on the parent storage account by volume.

Azure Storage