AWS Network Firewall vs. Security Groups vs. NACLs
Start course
3h 3m

This course covers the core learning objective to meet the requirements of the 'Designing secure solutions in AWS - Level 2' skill

Learning Objectives:

  • Analyze the available options to secure credentials using features of AWS Identity and Access Management (IAM)
  • Evaluate the appropriate routing mechanism to securely access AWS service endpoints or internet-based resources from an Amazon VPC
  • Evaluate the appropriate encryption options available for data in transit and when at rest across AWS services
  • Evaluate the most appropriate key management service and options based on business requirements and governance controls



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
Learning Paths

Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.

To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.

Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.

He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.

In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.

Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.