AWS Network Firewall vs. Security Groups vs. NACLs
Start course

In this course, you will learn how to use AWS Network Firewalls to secure your VPCs.

Learning Objectives

  • Understand what an AWS Network Firewall is
  • Learn the differences between Network Access Control List, Security Groups, and an AWS Network Firewall
  • Understand the options for deploying AWS Network Firewalls from Distributed, Centralized, and a combination of both
  • Learn how to centrally manage all AWS Network Firewalls using AWS Firewall Manager

Intended Audience

If you’re a Solution Architect, Cloud Engineer with a huge passion for learning new or existing features around AWS, then this course is for you.


  • Have prior AWS Console knowledge
  • Understand what a network firewall is
  • Basic understanding of how firewall rules work

In this lecture, we need to discuss the difference between an AWS Network Firewall, Security groups, and our Network access control list. An AWS security group is a virtual firewall used to protect AWS instances. Now, we can't just say EC2 instances because security groups are used for AWS services that deploy AWS-managed instances to support AWS-managed services. Wow, a lot of managed in that sentence. Example, AWS directory services uses EC2 instances to support the service, but you can't access the instances since it's a managed service. 

SGs, or Security groups, have granular rules for inbound/outbound traffic. By default, all outbound traffic is allowed out, but you can explicitly deny certain types of outbound traffic. Security groups are considered stateful. So, traffic that is allowed outbound will be allowed back inbound since the communication has already been established. If you want to allow other types of inbound traffic where the communication did originate from the instance, then an inbound rule will need to be configured. 

What about Network access control lists, or what's typically referred to as NACLs? NACLs do not protect instances. They only protect the network around the infrastructure. Example, you can govern the access and network traffic to public and private subnets within a VPC utilizing a different set of rules. The default is to allow all traffic to go through because, let's face it, Network access control lists are tough to work with and understand if you aren't used to it. Now, how does AWS Network Firewall fit into the picture with Security groups and Network access control list?

We can easily take security groups out of this comparison because they only protect instances. The real comparison is AWS Network Firewall versus NACLs. If you're looking to fully manage all of your VPc network traffic, set up alerting, logging, handle application traffic, integration with AWS WAF and AWS Shield using AWS Firewall Manager, my suggestion would be to go with AWS network firewalls. If not, it's probably easier to use NACLs and what I'd like to call a 'set it and forget' method that provides you with VPC security.


About the Author

Jon Myer, ex-amazonian and a Chief Evangelist at nOps. His passion for technology and creating content to educate others has evolved over the years.
He's also the host and creator behind the "Jon Myer Podcast" as a professional storyteller and podcaster, helping others bring their stories to life.