A company deployed a web application on an EC2 instance in a public subnet. The instance passes status checks and has a public IP address. The security group allows HTTP (80) from 0.0.0.0/0. Users report that the website is not accessible. What should the administrator check next?
Network ACLs are stateless and can block inbound traffic even if the security group allows it.
Why this answer
The security group allows HTTP (80) from 0.0.0.0/0, so inbound traffic is permitted at the instance level. However, the network ACL (NACL) is a stateless firewall that operates at the subnet level. If the NACL inbound rules do not explicitly allow HTTP traffic from the internet (e.g., port 80 from 0.0.0.0/0), the traffic will be dropped before it reaches the EC2 instance, even though the security group allows it.
Since the instance passes status checks and has a public IP, the most likely remaining issue is the NACL.
Exam trap
The CV0-004 exam often tests the distinction between stateful security groups and stateless network ACLs, trapping candidates who assume that allowing traffic in the security group is sufficient without checking the subnet-level NACL.
How to eliminate wrong answers
Option B is wrong because the route table for the subnet must have a route to an internet gateway (IGW) for public internet access, but the instance has a public IP and is in a public subnet, so the route table is likely already correctly configured; checking it again is less immediate than verifying the NACL. Option C is wrong because the instance's operating system firewall (e.g., iptables or Windows Firewall) could block traffic, but the question states the instance passes status checks and has a public IP, and the security group allows HTTP; the OS firewall is a possible secondary check but not the next logical step after confirming security group rules, and the NACL is a more common oversight in AWS networking. Option D is wrong because the instance's user data script runs only at launch and is used for bootstrapping; it would not affect ongoing network accessibility unless it misconfigured the web server, but the question indicates the instance is running and passes status checks, so user data is not the immediate cause.