
NACL(Network Access Control List)이란?
NACL은 VPC의 서브넷 단위에서 트래픽을 제어하는 네트워크 방화벽이다.
- 적용 범위: Subnet
- 역할: 서브넷으로 들어오고 나가는 트래픽을 허용/차단
- 보안 계층: Security Group보다 바깥쪽(앞단)
즉,
“이 서브넷을 통과할 수 있는 트래픽 자체를 걸러낸다” 라고 보면 된다.
NACL의 핵심 특징
1. 서브넷 단위로 적용된다
- 하나의 NACL은 여러 서브넷에 연결 가능
- 서브넷에 들어오는 모든 리소스에 동일하게 적용
2. Stateless (상태 비저장)
- 들어오는 트래픽 허용 ≠ 나가는 트래픽 자동 허용 아님
- Inbound / Outbound 규칙을 각각 명시해야 함
예:
- Inbound: 80 포트 허용
- Outbound: 1024–65535 허용 안 하면 응답 트래픽 차단됨
이게 가장 큰 함정 포인트다.
NACL 규칙 구조
- 규칙 번호 (Rule number)
- 숫자가 낮을수록 우선순위 높음
- Allow / Deny 명시 가능
- IP 대역(CIDR), 포트, 프로토콜 기준으로 제어
모든 NACL에는 명시적 Deny가 가능하다.
Security Group과의 차이⭐
| 구분 | NACL | Security Group |
| 적용 단위 | Subnet | EC2 인스턴스 |
| 상태 관리 | Stateless | Stateful |
| 규칙 방향 | Inbound + Outbound 각각 필요 | Inbound만 설정해도 응답 허용 |
| Deny 규칙 | 가능 | 불가능 |
| 위치 | 네트워크 앞단 | 인스턴스 바로 앞 |
정리하면:
- NACL → 서브넷 경계에서 1차 필터
- Security Group → 인스턴스 최종 방어선
언제 NACL을 쓰는가?
실무 기준으로 보면:
- 특정 IP 대역 전체 차단
- 서브넷 단위 보안 정책 강제
- 보안 감사/컴플라이언스 요구사항 대응
- 기본 보안 레이어를 한 번 더 두고 싶을 때
일반적인 서비스 운영에서는
Security Group만으로도 충분한 경우가 많다.
Default NACL vs Custom NACL
Default NACL
- 모든 Inbound / Outbound 허용
- 사실상 보안 기능 없음
Custom NACL
- 기본 Deny
- 필요한 트래픽만 Allow
- 실무/시험에서는 이쪽 개념이 중요
✍️핵심 요약
- NACL은 Subnet 단위
- Stateless
- Allow / Deny 둘 다 가능
- Inbound, Outbound 각각 설정해야 함
- Security Group보다 바깥쪽에서 작동


'프로그래밍 > ⚙️DevOps' 카테고리의 다른 글
| AWS) VPC Security (0) | 2026.01.09 |
|---|---|
| AWS) VPC 개념 (0) | 2026.01.09 |
| AWS) Amazon Virtual Private Cloud (VPC) (0) | 2026.01.08 |
| AWS) AWS Systems Manager (0) | 2026.01.08 |
| AWS) EBS 볼륨 종류별 비교 (0) | 2026.01.08 |