Cost

How to reduce Azure Firewall costs: 7 ways, ranked by savings

Seven ways to cut the Azure Firewall bill, ranked by how much of it each one typically removes: right-sizing the SKU, deallocating idle firewalls, consolidating deployments, keeping Azure-bound traffic off the meter, hunting top talkers, pruning forgotten floors, and a flat-priced NVA. With the break-even maths.

Azure Firewall’s bill has a floor and a meter. The floor is the per-deployment-hour fee: $1.25/hr on Standard, which is about $912 a month before a single byte moves. That is a strong interpretation of “pay as you go”. The meter is $0.016 per GB processed, uncapped, on everything you route through it. And the floor multiplies: the same rates re-apply per secured virtual hub, so a tidy multi-region hub-and-spoke diagram is also a multiplication exercise. (Rates Central US, dated 2026-07-04, directional.)

Disclosure before we start: I work on Enforza, which is option 7 below. It gets one section, at the end, after six things you should try first. Most of them are configuration, not products.

Same rules as the AWS version of this guide: ranked by how much of the bill each move typically removes, boring ones first, because that’s where the money is.

The ranking at a glance

  1. Right-size the SKU. Premium without TLS inspection in use is $365/month of nothing. Basic below ~12 TB/month beats Standard’s floor.
  2. Deallocate what sleeps. Azure Firewall has an off switch. Dev and test firewalls off nights and weekends drop ~70% of their hourly line.
  3. Count your deployments. Every extra firewall or secured hub is another $912/month floor. Consolidate where the architecture allows.
  4. Keep Azure-bound traffic off the meter. Service endpoints are free; stop paying $0.016/GB to inspect your own backups.
  5. Hunt your top talkers. Firewall logs, aggregate, rank, be mildly annoyed, fix with caching and routing granularity.
  6. Prune the forgotten floors. Idle POC and staging firewalls bill $912 a month for existing. Delete or deallocate them.
  7. A flat-priced NVA. Same egress-firewall job, flat licence, no per-GB meter, one floor instead of several.

Now each one, with the arithmetic.

1. Right-size the SKU

Three rate cards, frequently mixed up, occasionally all paid at once. Standard is $1.25/hr plus $0.016/GB. Premium is $1.75/hr plus the same $0.016/GB: the extra $0.50/hr, about $365 a month per deployment, buys TLS inspection and IDPS. Premium is excellent value right up until you check whether anyone actually enabled those features. If they didn’t, that’s a one-line change worth $4,380 a year.

Basic runs the other direction: a $0.395/hr floor, about $288 a month, but a $0.065/GB meter, four times Standard’s rate. The break-even sits around 12 to 13 TB of processed data a month. Below it, Basic’s lower floor wins. Above it, Basic is the expensive option wearing a budget name badge. Basic also caps throughput and trims features, so read the limits first. The one unforgivable move is quoting Standard’s floor with Basic’s meter, or vice versa; the two rate cards never mix.

2. Deallocate what sleeps

Here is the rarest thing in cloud billing: an off switch. Azure Firewall can be deallocated. Stopped, the per-hour fee stops with it; allocated again, it comes back in a few minutes. AWS offers nothing like this for a NAT Gateway, which makes it strange that so few Azure teams use it.

A dev firewall runs 730 hours a month. The team that uses it works maybe 200 of those. Deallocating outside working hours removes roughly 70% of that firewall’s hourly line, which on Standard is around $640 a month per dev firewall, for the cost of a small automation script and a few minutes of patience on Monday morning. A firewall guarding an empty dev environment at 3am is protecting sleep nobody is having.

3. Count your deployments

The rates re-apply per deployment and per secured virtual hub. This is where tidy architecture gets expensive: firewalls multiply the way meeting invites do, one per region, one per environment, one per team that didn’t want to share, and each one brings its own $912 floor before traffic.

The consolidation play is standard hub-and-spoke: one firewall in the hub, spokes peered to it, instead of a firewall per VNet. The honest caveats: VNet peering carries its own per-GB charge, consolidation concentrates blast radius, and cross-region traffic should stay regional. But the arithmetic is blunt. Two Standard deployments doing the work of one is $912 a month of duplicated floor; count yours, then justify each one out loud.

4. Keep Azure-bound traffic off the meter

With a blanket 0.0.0.0/0 route through the firewall, everything pays the meter, including traffic to your own Azure services. Backups to your own storage account, container image pulls from ACR, log shipping to your workspace: $0.016/GB each, for the privilege of being inspected on the way to your own resources.

Service endpoints are free and keep Azure-service traffic on the Microsoft backbone without the firewall hairpin. Private endpoints cost roughly $0.01/hr plus $0.01/GB (checked 2026-08-03, directional) and buy the same bypass with a private IP where you need it. Route with some granularity instead of one blanket default, and the meter only sees the traffic that actually warrants inspection. Your security team keeps control of what matters; your backups stop paying tolls.

5. Hunt your top talkers

Same discipline as on AWS, different console. Azure Firewall’s logs (or the built-in workbook) aggregated by destination will produce a top-ten list, and the list will annoy you. The usual suspects: image pulls that a cache would kill, telemetry sending the same heartbeat uncompressed every ten seconds, CI downloading identical packages hundreds of times a day in case they changed, and one chatty third-party API nobody remembers integrating.

Fix with caching, batching and compression, then re-check quarterly. New workloads invent new talkers. They always do.

6. Prune the forgotten floors

Somewhere in your subscriptions there is a firewall from a proof of concept that ended in March. It bills $912 a month for existing. The floor charges whether bytes flow or not, which makes idle firewalls the purest waste on this list: nothing is being protected, inspected or even routed. Sweep for firewalls with near-zero processed data, then delete them, or deallocate the ones somebody swears they’ll need again. The POC will not miss it.

7. Replace the floor and the meter with one flat price (this is us)

The last option is the one I have a stake in, so weigh my enthusiasm accordingly. Enforza is a network virtual appliance, one Linux VM in your own VNet, that does the egress-firewall job: stateful L3/L4, FQDN/SNI-based allow and deny on what leaves, and its own source NAT, so it covers the outbound role too. Flat per-firewall licence, about $239 a month, less at fleet volume, $0/GB processed, and the VM stays on your Azure bill because physics and Microsoft both insist.

Against Standard’s floor-plus-meter that typically lands up to 60–80% lower, and the gap widens with traffic and with every consolidated hub deployment, because a flat line doesn’t multiply. Directional and dated, so check it against your own bill: the savings calculator takes two minutes, and the 20 TB worked example prices the comparison line by line if you’d rather see the working.

The honest boundaries. At low volume on Basic the gap narrows, and if you’re deep into Premium’s TLS inspection or Sentinel-native tooling, the native integration is a real reason to stay. And a deadline worth knowing either way: Microsoft is retiring default outbound access on March 31, 2026, after which every workload needs an explicit egress path: Azure Firewall, NAT Gateway, Load Balancer outbound rules, or an NVA. You’ll be making this decision anyway; the only question is whether you cost it first.

The short version

Audit first, then take the configuration savings, then decide what the remainder is worth:

  1. Right-size the SKU. Premium unused features off; Basic only below ~12 TB/month.
  2. Deallocate dev and test outside working hours. The off switch exists.
  3. Count deployments; consolidate the duplicate floors.
  4. Service endpoints and granular routes; stop metering your own backups.
  5. Logs, top talkers, caching. Repeat quarterly.
  6. Delete the POC firewall from March.
  7. Flat-priced NVA if the floors and meters still add up to real money.

For the line-by-line anatomy, see Azure Firewall pricing and the Azure NAT Gateway breakdown; for the same exercise on AWS, how to reduce AWS NAT Gateway costs; for the multi-cloud view, reducing cloud NAT costs.

FAQ

How much does Azure Firewall cost?

Two charges at once. A per-deployment-hour fee of $1.25/hr on Standard (about $912/month) or $1.75/hr on Premium (about $1,278/month), before any traffic, plus $0.016 per GB processed, uncapped. The cheaper Basic SKU is $0.395/hr (about $288/month) but pays a higher $0.065/GB. The same rates re-apply per secured virtual hub, so multi-region hub-and-spoke estates multiply the hourly line. Rates Central US, dated 2026-07-04, directional.

Can I turn Azure Firewall off when I'm not using it?

Yes, and almost nobody does. Azure Firewall supports deallocation: stop it and the per-hour billing stops with it; allocate it again when you need it, which takes a few minutes. For a dev or test firewall that nobody touches outside working hours, deallocating nights and weekends removes roughly 70% of that firewall's hourly line. It needs a small automation script and the willingness to wait a few minutes on Monday morning.

Is Azure Firewall Basic cheaper than Standard?

On the floor, yes: about $288/month versus about $912/month. On the meter, no: Basic processes data at $0.065/GB against Standard's $0.016/GB, four times the rate. The break-even is around 12 to 13 TB of processed data a month; below it Basic wins, above it Basic quietly becomes the expensive option. Basic also caps throughput and drops features, so check the limits before celebrating. Never mix the two rate cards in one estimate.

Do I need Azure Firewall and a NAT Gateway?

Usually not both for egress. Azure Firewall performs its own source NAT, so there is no AWS-style NAT-gateway-behind-firewall stacking. The question is becoming unavoidable anyway: Microsoft is retiring default outbound access (March 31, 2026), after which every workload needs an explicit egress path: Azure Firewall, a NAT Gateway, Load Balancer outbound rules, or an NVA. Which one you pick is now a costed decision rather than a default.

What Azure Firewall traffic costs the most?

Whatever you hairpin through it that never needed inspection. With a blanket 0.0.0.0/0 route through the firewall, backups to your own storage accounts, container image pulls and log shipping all pay $0.016/GB for the privilege of being waved through. Firewall logs (or the workbook) aggregated by destination will show your top ten. The fixes are routing granularity, service endpoints and caching, in that order.

How much can I save replacing Azure Firewall?

It depends on volume and how many deployments you run, and anyone quoting one number without asking is selling something. A flat-priced NVA such as Enforza does the same egress-firewall job (stateful L3/L4, FQDN/SNI filtering, its own source NAT) at a flat per-firewall licence, about $239/month, less at fleet volume, plus the VM on your Azure bill. Against Standard's $912/month floor plus metering, that typically lands up to 60–80% lower, and the gap widens with traffic and with every extra hub deployment. At low volume on Basic, the honest answer is the gap narrows. Run your own numbers in the savings calculator, or read the 20 TB worked example priced line by line.

← Back to all articles
Same features. Without the cost.

Ditch the data-processing charges.

Flat, per-firewall pricing — and no per-GB data-processing charges, ever. The same egress filtering, FQDN/SNI-based L7 and NAT, in any cloud or on-prem. Start free, no card.