Azure Terraform Resources
Cost estimation reference for 104 Azure resources supported by C3X. Each page covers pricing dimensions, Terraform examples, and optimization tips.
Analytics
azurerm_analysis_services_serverA 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.
azurerm_data_factoryManaged 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).
azurerm_databricks_workspaceManaged 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.
azurerm_eventhub_clusterA 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.
azurerm_hdinsight_hadoop_clusterA 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.
azurerm_hdinsight_hbase_clusterA 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.
azurerm_hdinsight_interactive_query_clusterA 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.
azurerm_hdinsight_kafka_clusterA 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.
azurerm_hdinsight_spark_clusterA 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.
azurerm_kusto_clusterA 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.
azurerm_powerbi_embeddedDedicated 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.
azurerm_purview_accountA data-governance and catalog account billed per always-on Data Map capacity unit, plus scanning. One capacity unit is ~$300/month before scans.
azurerm_search_serviceManaged 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+.
azurerm_stream_analytics_jobA 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.
azurerm_synapse_spark_poolAn 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.
azurerm_synapse_sql_poolA dedicated, provisioned data-warehouse pool. Priced per cDWU-hour by performance level, plus separately-billed storage, and pausable to stop compute charges.
azurerm_synapse_workspaceUnified 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.
Application Integration
azurerm_eventgrid_topicA managed event-routing topic. Priced per million operations, with a generous free tier and no always-on cost.
azurerm_signalr_serviceManaged real-time messaging over WebSockets. Priced per unit per day by tier, with included connections and messages per unit.
azurerm_web_pubsubManaged real-time messaging over WebSockets with a pub/sub model. Priced per unit per day by tier, with included connections and messages per unit.
Compute
azurerm_batch_poolA 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.
azurerm_dedicated_hostA 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.
azurerm_linux_virtual_machineA 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.
azurerm_linux_virtual_machineA Linux VM on Azure. Priced per hour by VM size, region, and license. Managed disks and bandwidth billed separately.
azurerm_linux_virtual_machine_scale_setA 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.
azurerm_machine_learning_compute_clusterAn 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.
azurerm_orchestrated_virtual_machine_scale_setA 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.
azurerm_service_planThe 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.
azurerm_service_planA compute plan for web apps, API apps, and function apps. Priced per hour by SKU and number of instances.
azurerm_spring_cloud_serviceA 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.
azurerm_static_web_appManaged hosting for static sites with serverless API backends. Priced as a flat monthly plan fee, with a genuinely free tier for small projects.
azurerm_windows_virtual_machineA 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.
azurerm_windows_virtual_machine_scale_setA fleet of identical Windows VMs that scales as a unit, billed per instance-hour (Windows rate). Three Standard_D2s_v5 instances are ~$412/month.
Containers
azurerm_container_appServerless containers billed by active vCPU-seconds and GiB-seconds. An always-on 0.5 vCPU / 1 GiB replica is ~$39/month; scale-to-zero apps cost far less.
azurerm_container_groupServerless containers billed per vCPU-second and GB-second, only while running. 1 vCPU + 1.5 GB run 24/7 is ~$28/month; scale-to-zero workloads cost far less.
azurerm_container_registryA managed Docker container registry. Three tiers (Basic, Standard, Premium) with different per-day rates and included storage.
azurerm_kubernetes_clusterA managed Kubernetes cluster on AKS. Control plane is free in Standard tier; you pay for the underlying node VMs and disks.
azurerm_kubernetes_cluster_node_poolAn additional node pool for an AKS cluster, billed as the underlying VMs it runs. Two Standard_D2s_v5 nodes are ~$140/month.
Database
azurerm_cosmosdb_accountA globally-distributed multi-model database. Priced by Request Units (RU/s) and storage, with provisioned and serverless options.
azurerm_cosmosdb_cassandra_clusterA 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.
azurerm_healthcare_fhir_serviceA managed FHIR (healthcare data) service billed by structured storage plus optional provisioned throughput. 100 GB of storage is ~$25/month.
azurerm_mariadb_serverA 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.
azurerm_mssql_databaseManaged 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.
azurerm_mssql_elasticpoolA shared pool of resources for many Azure SQL databases. Priced per pool vCore-hour (or DTU) plus pool storage, amortizing capacity across databases.
azurerm_mssql_managed_instanceA 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.
azurerm_mysql_flexible_serverManaged 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.
azurerm_mysql_serverThe 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.
azurerm_postgresql_flexible_serverA managed PostgreSQL server. Priced by compute SKU, storage size, and high-availability mode.
azurerm_postgresql_serverThe 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.
azurerm_redis_cacheA managed Redis cache. Priced per hour by tier (Basic, Standard, Premium, Enterprise) and cache size.
azurerm_redis_enterprise_clusterThe 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.
Developer Tools
azurerm_automation_accountRunbook automation billed per job-run minute beyond a free monthly allowance, plus watcher hours. 10,500 job-minutes is ~$20.
azurerm_load_testA managed load-testing service billed per virtual user hour beyond a free monthly allowance. 1,050 VUH (1,000 billable) is ~$150/month.
Integration
azurerm_eventgrid_domainA multi-tenant event routing domain billed per million operations. The first 100K/month are free, then ~$0.60/million — 10M operations is ~$6.
azurerm_logic_app_standardA Standard-plan Logic App running on dedicated compute, billed per hour for the workflow plan. A WS1 plan is ~$143/month, regardless of how many workflows run on it.
azurerm_logic_app_workflowA Consumption-plan Logic App billed per action executed — no standing fee. 1M built-in actions is ~$25; it scales to zero when idle.
azurerm_relay_namespaceA namespace for Hybrid Connections / WCF Relay, billed per listener plus message volume. One Hybrid Connection listener is ~$9.78/month.
IoT
azurerm_digital_twins_instanceA managed IoT digital-twin graph, billed purely by usage — operations, messages, and query units, each per 1,000. 1M operations is ~$2.50; no standing fee.
azurerm_iothubA managed IoT message broker billed per provisioned unit by tier. An S1 unit is $25/month and includes a daily message quota; you scale by adding units.
azurerm_iothub_dpsZero-touch device provisioning for IoT Hub, billed per provisioning operation. 100K operations is ~$12 — it's a low, usage-based cost.
Machine Learning
azurerm_cognitive_accountManaged AI APIs: OpenAI, Vision, Speech, Language, Translation. Pay-per-call (varies by service). OpenAI GPT-4o: $5/M input tokens, $15/M output. Vision: $1-$5/1K transactions. Speech-to-Text: $1/audio-hour.
azurerm_machine_learning_compute_instanceA managed dev VM for Azure ML, billed the underlying VM rate per hour while running. A Standard_DS3_v2 is ~$214/month if left on — and idle instances are the classic waste.
Management
azurerm_app_configurationA managed store for application settings and feature flags. Priced as a flat daily fee on the Standard tier, with a genuinely free tier.
azurerm_dashboard_grafanaA managed Grafana instance for dashboards and observability. Priced on a per-instance hourly node fee plus a per-active-user charge.
Messaging
azurerm_eventhub_namespaceA Kafka-compatible event streaming platform. Tier-based pricing (Basic, Standard, Premium, Dedicated) with throughput units or processing units.
azurerm_servicebus_namespaceEnterprise messaging with queues and topics. Basic ($0.05/M operations), Standard ($0.0135/hour + $0.80/M operations), Premium ($0.99/hour per Messaging Unit). Premium for VNet isolation, predictable performance.
Networking
azurerm_api_managementFull 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).
azurerm_application_gatewayA Layer 7 load balancer with WAF support. Priced by gateway hours, capacity units, and optional WAF tier.
azurerm_bastion_hostManaged, browser-based RDP/SSH access to VMs without public IPs. Priced per gateway-hour by SKU, plus outbound data transfer and scale-unit hours.
azurerm_cdn_endpointA 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.
azurerm_cdn_frontdoor_profileGlobal 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.
azurerm_ddos_protection_planA 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.
azurerm_dns_zoneA public DNS zone hosted on Azure's name servers. Priced per zone per month plus per-million queries, both at low flat rates.
azurerm_express_route_circuitA 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.
azurerm_lbLayer-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.
azurerm_nat_gatewayManaged outbound SNAT for a subnet. Priced per gateway-hour plus per-GB of data processed, with the attached public IP billed separately.
azurerm_point_to_site_vpn_gatewayA 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.
azurerm_private_dns_resolverA managed DNS resolver for hybrid name resolution between Azure and on-prem, billed per inbound/outbound endpoint-hour. Two endpoints are ~$365/month.
azurerm_private_dns_zoneA private DNS zone for name resolution within VNets, billed a flat ~$0.50/zone/month plus per-million queries. 1M queries is ~$0.90.
azurerm_private_endpointA 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.
azurerm_public_ipPublic 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.
azurerm_traffic_manager_profileDNS-based global load balancing billed per million DNS queries plus per monitored endpoint. 10M queries with 2 endpoints is ~$6/month.
azurerm_virtual_hubThe 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.
azurerm_virtual_network_gatewayA VPN (or ExpressRoute) gateway billed per hour by SKU. A VpnGw1 runs ~$139/month just to exist, before any data processing.
azurerm_vpn_gatewayA 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.
Observability
azurerm_application_insightsApplication performance monitoring. Bills through a linked Log Analytics workspace by GB ingested. Free tier covers 5 GB/month.
azurerm_log_analytics_clusterA dedicated Log Analytics cluster requiring a daily-ingestion commitment. The minimum 100 GB/day commitment tier is ~$5,880/month — only for very high ingestion.
azurerm_log_analytics_workspaceA workspace for ingesting, storing, and querying logs. Pay-As-You-Go by GB ingested, with optional Commitment Tiers for discounts.
azurerm_monitor_metric_alertA metric alert rule billed per monitored time series. A standard (static-threshold) rule is ~$0.10/month; dynamic-threshold rules are ~$0.50.
Other
Security
azurerm_firewallManaged network firewall. Standard SKU at $1.25/hour ($912/month) plus $0.016/GB processed. Premium SKU at $1.75/hour adds TLS inspection and IDPS. Often the most expensive single resource in a subscription.
azurerm_key_vaultA managed secret, key, and certificate store. Two tiers: Standard (pay-per-operation) and Premium (HSM-backed keys, higher rate).
Security & Identity
Serverless
Storage
azurerm_backup_protected_vmA 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.
azurerm_data_protection_backup_vaultA 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.
azurerm_imageA custom VM image stored as managed-disk snapshots, billed per GB-month. A 127 GB image is ~$6.35/month.
azurerm_managed_diskA block storage disk for Azure VMs. Priced by disk type and tier (per-disk for Premium SSD, per-GB for Standard).
azurerm_managed_lustre_file_systemA 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.
azurerm_netapp_poolA provisioned capacity pool for high-performance NFS/SMB file storage. Priced per provisioned TiB by service level, billed on allocated (not used) capacity.
azurerm_site_recovery_replicated_vmA VM protected by Azure Site Recovery (DR replication), billed ~$25/protected instance/month plus the storage and egress the replica consumes.
azurerm_snapshotA point-in-time copy of a managed disk, billed per GB-month. A 128 GB Standard LRS snapshot is ~$6.40/month.
azurerm_storage_accountA storage account for Blob, File, Queue, and Table services. Priced by service type, redundancy, access tier, and operations.
azurerm_storage_shareA 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.