Skip to main content

AWS Network Security Comparison

AWS WAF vs Network Firewall: Layer-7 vs Stateful L3-L7 on AWS

Most regulated workloads need both. Where each fits, what they protect, the cost model, and how AWS Firewall Manager pushes both as Organization-level policy across the AWS Organization.

Ask AI: ChatGPT Claude Perplexity Gemini

Quick Answer: WAF inspects HTTP/HTTPS at the application edge — use it on every CloudFront, ALB, and API Gateway. Network Firewall inspects all VPC traffic with Suricata IDS/IPS rules — use it when you need egress filtering, east-west inspection, or compliance-mandated network controls. Most regulated workloads run both.

WAF and Network Firewall are not interchangeable. They protect different layers, see different traffic, and answer different audit questions. Confusing them leads to either false confidence (deploying only WAF and missing east-west and egress threats) or unnecessary spend (deploying Network Firewall as a glorified WAF).

This comparison is written for solutions architects deploying AWS-native network security on regulated workloads.

The Core Distinction: Layer and Traffic Shape

AWS WAF operates at the application layer — HTTP and HTTPS request inspection. It sits in front of CloudFront distributions, Application Load Balancers, API Gateway, AppSync GraphQL APIs, Cognito user pools, and Verified Access endpoints. Every inbound request hits WAF before reaching the protected resource. WAF inspects request headers, URI, query string, body (up to size limits), method, and source IP; it makes a per-request decision (Allow / Block / Count / CAPTCHA / Challenge).

AWS Network Firewall operates at the network layer — stateful packet inspection inside a VPC. It sits between subnets (or at the VPC edge) and inspects all traffic — TCP, UDP, HTTP, HTTPS, DNS — using Suricata-compatible rules. Network Firewall sees packet flow, can decrypt TLS for inspection (optional), and enforces stateful connection tracking, IDS/IPS rule matching, and domain-based egress filtering.

The right way to think about it: WAF protects the application; Network Firewall protects the network.

What Each Service Catches

WAF catches:

Network Firewall catches:

Cost Comparison (2026)

WAF:

Typical mid-market WAF spend: $100–$800/month per Web ACL.

Network Firewall:

Typical 2-AZ deployment with 1 TB/month: ~$635/month base. Multi-AZ HA at 5 TB/month: ~$900/month.

Firewall Manager: free for AWS Organizations.

Combined typical mid-market spend: $1,000–$3,000/month for the WAF + Network Firewall pair on a regulated workload.

Decision Framework

Use WAF only when:

Add Network Firewall when any of these is true:

In practice: most regulated workloads run both. WAF in front of every public application, Network Firewall at the VPC edge for compliance-mandated egress and east-west enforcement.

Deployment Pattern We Use

Single account, public web app: WAF on CloudFront with the AWS Managed Common Rule Set + Known Bad Inputs + Anonymous IP List + Bot Control + a custom rate-limit rule. Done in a day; covers the OWASP Top 10 and most automated abuse.

Multi-account regulated workload: Firewall Manager-deployed:

  1. WAF baseline policy on every CloudFront/ALB across the Organization (managed rule sets + a custom rate-limit rule)
  2. Network Firewall policy on every workload VPC (egress allow-list, Suricata IPS rule set, DNS firewall for known-bad domains)
  3. DNS Firewall policy at Route 53 Resolver level (additional defense in depth)
  4. Shield Advanced for any account hosting consumer-scale public traffic
  5. Security Hub aggregation in the Security account so WAF/Network Firewall findings feed the same dashboard as GuardDuty and Inspector v2

Verified Access for workforce apps: internal apps fronted by Verified Access with Identity Center as the trust provider and Cedar policies for per-request access decisions. WAF can sit in front for OWASP and bot rules.

When You Outgrow Native AWS Network Security

Native AWS network security covers most use cases. You start to need a third-party tool when:

For regulated SaaS, healthtech, and fintech in AWS-only estates, the native pair (WAF + Network Firewall + Shield Advanced + Firewall Manager) is the right call.

Frequently Asked Questions

Is AWS WAF enough, or do I also need AWS Network Firewall?
They protect different layers and traffic shapes. WAF inspects HTTP/HTTPS traffic at the application layer (CloudFront, ALB, API Gateway, AppSync, Cognito, Verified Access) and is the right tool for SQL injection, XSS, bot mitigation, OWASP-pattern blocking, rate limiting, and geographic blocking. Network Firewall is a stateful network-layer (L3-L7) firewall for VPCs — it inspects all traffic in and out of a VPC (TLS-inspection optional), runs Suricata-compatible IDS/IPS rules, and enforces domain-based egress filtering. Most regulated workloads run both: WAF in front of the public application, Network Firewall on the VPC edge for east-west and egress control.
Can WAF alone protect us, or is Network Firewall always needed?
For internet-facing web applications without strict egress controls, WAF on CloudFront or ALB is often enough — combined with security groups for L3-L4 stateless filtering. You start needing Network Firewall when you have: (1) compliance requirements that demand egress filtering (PCI DSS Req 1, HIPAA §164.312(e), SOC 2 CC6.7), (2) east-west traffic between sensitive subnets that must be inspected, (3) an outbound-traffic exfiltration concern (data leaving via DNS or unexpected domains), or (4) Suricata IDS/IPS rule sets you want to enforce at the VPC perimeter.
How does AWS Firewall Manager fit?
Firewall Manager is the multi-account policy engine. It pushes WAF rule groups, Network Firewall stateful policies, Shield Advanced protections, security-group baselines, and DNS Firewall policies as Organization-level policies. New accounts inherit the policies on creation; drift (a manually-edited security group, a missing WAF rule) is auto-remediated or flagged based on policy mode. Without Firewall Manager you end up writing per-account Terraform — workable for 5 accounts, painful at 50, broken at 200. Firewall Manager requires AWS Organizations and one designated administrator account.
How much do WAF and Network Firewall cost?
WAF: $5/month per Web ACL + $1/month per rule + $0.60 per million requests. Bot Control adds $10/month per Web ACL + $1 per million requests. CAPTCHA puzzles bill separately. Typical mid-market WAF spend: $100$800/month. Network Firewall: $0.395/hour per endpoint deployed (so $284/month per AZ-endpoint) + $0.065 per GB processed. A typical 2-AZ deployment with 1 TB/month: $568 endpoint cost + $66.50 traffic = ~$635/month. TLS inspection adds extra cost. Combined with Firewall Manager (free), most regulated workloads land at $1,000$3,000/month for both.
Should we replace VPN with AWS Verified Access alongside WAF?
Verified Access is the right call for workforce access to internal HTTPS (and now TCP) applications — Jenkins, internal dashboards, ArgoCD, Grafana, internal SaaS clones. Each application gets its own endpoint, trust providers (IAM Identity Center, generic OIDC, or device posture from Jamf / CrowdStrike), and a Cedar policy that decides per-request whether to allow. It is not a WAF replacement — Verified Access does authentication and access policy; WAF does request inspection. Run them together: Verified Access fronts the workforce app, and WAF can sit in front of Verified Access for OWASP and bot rules.
Do we need AWS Shield Advanced?
Shield Standard (free) protects every CloudFront, Route 53, and Global Accelerator distribution against common L3/L4 DDoS — most workloads do not need Shield Advanced. Shield Advanced ($3,000/month per account, with Organization-wide pricing for ≥10 accounts) adds: 24/7 DDoS Response Team access, cost protection for DDoS-driven scaling, advanced attack diagnostics, and protection across more resource types (ALB, EIP, AWS Global Accelerator). Pair Shield Advanced with WAF for the full L3–L7 anti-DDoS pattern. Most regulated mid-market workloads add Shield Advanced once they hit consumer-scale traffic or run a public payment surface.

Not Sure Which AWS Service Is Right?

Our AWS-certified architects help engineering teams choose the right architecture for their workload, scale, and budget — before they build the wrong thing.