본문 바로가기

프로그래밍/⚙️DevOps

AWS) NACL(Network Access Control List)

 

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