Network Egress Costs in Azure Explained

Egress costs are the most commonly overlooked line item on Azure bills. Inbound data is free, but every gigabyte leaving Azure — whether to the internet, to another region, or to your on-premises network — incurs a charge. For data-intensive applications, egress can easily rival compute costs.

Egress Cost Categories

Azure data transfer costs depend on the source and destination:

Transfer TypeCostNotes
Internet → Azure (inbound)FreeAlways free regardless of volume
Azure → Internet (first 100 GB/month)FreeFree tier resets monthly
Azure → Internet (100 GB – 10 TB/month)$0.087/GBStandard egress rate for East US
Azure → Internet (10–50 TB/month)$0.083/GBVolume discount at 10 TB
Azure → Internet (50–150 TB/month)$0.07/GBFurther volume discount
Same-region (within datacenter)FreeVMs in same region, same VNet
Same-continent region-to-region$0.02/GBe.g., East US ↔ West US
Cross-continent region-to-region$0.05–0.08/GBe.g., US ↔ Europe or US ↔ Asia
Azure VNet peering (same region)$0.01/GB (each direction)Applies to peered VNet traffic
Azure VNet peering (global)$0.02–0.05/GBCross-region peered traffic

Real-World Egress Cost Examples

Scenario 1: SaaS application serving global users

A web application hosted in East US serving 50 TB of data per month to end users worldwide:

  • First 100 GB: free
  • Remaining 50,000 GB at blended rate (~$0.082/GB): approximately $4,100/month

This is a substantial bill item. Introducing a CDN can shift much of this traffic to CDN edge nodes at lower effective rates and with better user latency.

Scenario 2: Multi-region active-active database

A service replicating 1 TB of database changes per month from East US to West Europe:

  • 1,024 GB × $0.07/GB (cross-continental): approximately $72/month

Modest at 1 TB but scales linearly. At 10 TB of replication traffic, cross-continental egress reaches $720/month.

Scenario 3: Microservices across peered VNets

An architecture where services in VNet A call services in VNet B (same region, peered):

  • VNet peering egress: $0.01/GB in each direction
  • 100 GB of inter-service traffic: $1/month
  • 10 TB of inter-service traffic: $100/month

For high-bandwidth microservices architectures, consider whether services should be in the same VNet rather than peered VNets to eliminate this charge.

Reducing Internet Egress Costs

Azure CDN and Front Door

Azure CDN caches static and semi-static content at edge locations close to users. Cached responses served from edge nodes do not generate origin egress charges. Azure Front Door adds dynamic acceleration, request routing, and WAF capabilities on top of CDN features.

CDN egress pricing varies by Azure CDN product and geographic zone but is often lower than direct Azure egress for high-volume traffic. More importantly, caching dramatically reduces the volume of data served from origin servers.

# Create an Azure CDN profile and endpoint
az cdn profile create \
  --resource-group my-rg \
  --name my-cdn-profile \
  --sku Standard_Microsoft

az cdn endpoint create \
  --resource-group my-rg \
  --profile-name my-cdn-profile \
  --name my-cdn-endpoint \
  --origin my-storage.blob.core.windows.net \
  --origin-host-header my-storage.blob.core.windows.net \
  --query-string-caching-behavior IgnoreQueryString

Compress responses

Enabling compression at the application or CDN layer reduces the bytes transferred for text-based content (HTML, CSS, JSON, XML) by 60–80%. This directly reduces egress charges proportionally.

Region selection

Hosting resources in the same region as your users eliminates or reduces inter-region transfer costs and reduces latency simultaneously. If your users are primarily in Europe, deploying in West Europe rather than East US saves inter-region transfer charges for data that would otherwise flow across the Atlantic.

ExpressRoute and Data Transfer

Azure ExpressRoute provides a dedicated private connection between your on-premises network and Azure. ExpressRoute affects egress pricing in a specific way:

  • Metered ExpressRoute: outbound data from Azure to on-premises costs $0.025/GB (cheaper than internet egress at $0.087/GB). Inbound is free.
  • Unlimited ExpressRoute: a flat monthly fee covers all data transfer regardless of volume. This becomes economical when monthly transfer volume exceeds approximately 15–20 TB outbound.

For organisations regularly transferring large datasets between Azure and on-premises — for example, backup or analytics workloads — the Unlimited ExpressRoute option can save significantly compared to Metered plans at high volumes.

Architecture Choices That Affect Egress

Some common architectural patterns generate significant egress that can be redesigned to reduce costs:

Chatty cross-region microservices

Services deployed across multiple regions that frequently call each other incur cross-region peering charges on every call. Solutions: deploy dependent services in the same region; use message queues (Service Bus, Event Grid) to decouple services and batch messages; review whether cross-region service calls are necessary.

Application servers querying remote databases

Application servers in Region A querying databases in Region B generate cross-region transfer charges on every query response. Move the database to the same region as the application, or use read replicas in the application’s region for read-heavy workloads.

Log and telemetry centralisation

Sending logs and metrics from multiple regions to a central Log Analytics workspace in one region generates inter-region transfer charges. Options: use regional Log Analytics workspaces and cross-workspace queries; reduce logging verbosity; use sampling for high-volume telemetry.

Monitoring Egress Costs

# Query bandwidth costs in Cost Analysis (group by meter subcategory)
az costmanagement query \
  --type Usage \
  --scope "/subscriptions/$(az account show --query id -o tsv)" \
  --timeframe MonthToDate \
  --dataset-granularity None \
  --dataset-aggregation "{\"totalCost\":{\"name\":\"Cost\",\"function\":\"Sum\"}}" \
  --dataset-grouping "[{\"name\":\"MeterSubCategory\",\"type\":\"Dimension\"},{\"name\":\"ServiceName\",\"type\":\"Dimension\"}]" \
  --dataset-filter "{\"dimensions\":{\"name\":\"ServiceName\",\"operator\":\"In\",\"values\":[\"Bandwidth\"]}}" \
  --query "properties.rows | sort_by(@, &[0]) | reverse(@)" \
  --output table
Tip

Filter Cost Analysis by Service Name = “Bandwidth” to isolate all egress charges in your subscription. The Meter Subcategory dimension will break this down by transfer type (inter-region, internet egress, VNet peering), making it easy to identify the largest drivers.

Common Mistakes

  1. Not including egress in cost estimates. Architecture estimates almost always focus on compute and storage. Egress costs are invisible until the bill arrives. For any data-intensive workload, calculate expected outbound transfer volume and include it explicitly in estimates.
  2. Deploying resources in different regions for availability without considering transfer costs. Multi-region architectures improve resilience but generate inter-region transfer charges for every byte of replication and cross-region communication.
  3. Serving large media files directly from Azure Blob Storage without CDN. Direct blob egress at $0.087/GB for a media-heavy application is expensive. CDN offloads the traffic to edge nodes and provides lower effective rates for high-volume static content.
  4. Centralising logs from many regions into one Log Analytics workspace without cost modelling. If you have resources in East US, West Europe, and Southeast Asia all sending logs to a single workspace, you are paying inter-region transfer charges on top of Log Analytics ingestion costs.

Frequently asked questions

Is data transfer into Azure free?

Yes. Inbound (ingress) data transfer into Azure from the internet is always free. You only pay for outbound (egress) data leaving Azure to the internet, or data moving between Azure regions.

How much does it cost to transfer data between Azure regions?

Intra-continental transfers cost approximately $0.02/GB (e.g., East US to West US). Cross-continental transfers are more expensive — for example, Europe to Asia costs approximately $0.05–0.08/GB depending on the specific regions.

Does Azure CDN reduce egress costs?

Yes. Azure CDN caches content at edge locations and serves it to end users from there. CDN egress pricing ($0.0081–0.087/GB depending on zone and CDN product) is lower than direct Azure egress in some scenarios, and cached hits from CDN edge servers can significantly reduce origin traffic and costs.

Last verified: 19 March 2026 Cloud services change frequently. Verify details against official documentation before making infrastructure decisions.