AWS-NACL(Network Access Control List)
2026. 2. 8. 17:17

NACL이란? (Network Access Control List)

NACL은 AWS VPC에서 서브넷(Subnet) 단위로 트래픽을 제어하는 네트워크 방화벽이다.
Security Group(SG)보다 한 단계 바깥에서 동작하는 보안 계층이라고 보면 된다.

1) NACL이 왜 필요한가 (배경)

SG는:

  • 리소스 단위
  • Allow 규칙만
  • 상태 기반(Stateful)

정밀하지만, “광역 차단”에는 한계가 있다.

NACL은:

  • 특정 IP 대역 차단
  • 전체 Subnet 레벨 통제
  • 네트워크 경계 보안

을 위해 존재한다.

2) NACL 한 줄 정의

NACL은 VPC 서브넷 단위에서 동작하는 Stateless 네트워크 방화벽이다.

3) NACL의 핵심 특징

(1) Stateless (무상태)

  • 요청(Inbound) 허용해도
  • 응답(Outbound)은 별도 허용 필요

(2) Allow + Deny 규칙 존재

  • 명시적 Deny 가능
  • 보안 정책을 강하게 적용 가능

(3) Subnet 단위 적용

  • Subnet에 속한 모든 리소스에 공통 적용

4) NACL 규칙 구성 요소

규칙 항목

  • Rule Number (우선순위)
  • Protocol (TCP/UDP/ICMP)
  • Port Range
  • Source/Destination (CIDR)
  • Allow / Deny

⚠️ Rule Number가 낮을수록 우선순위 높음

5) NACL 동작 방식

트래픽 흐름

[Internet]
   ↓
[NACL (Subnet)]
   ↓
[Security Group]
   ↓
[EC2]

 

  • 먼저 NACL
  • 그 다음 SG
  • 둘 다 허용해야 통과

6) NACL vs SG

항목 NACL SG
적용 단위 Subnet 리소스
상태 Stateless Stateful
규칙 Allow + Deny Allow only
우선순위 있음 없음
관리 난이도 높음 낮음

7) 실무에서 NACL을 어떻게 쓰나

보통 이렇게 사용함

  • 기본 NACL: 거의 열어둠
  • SG로 세밀한 접근 제어

NACL을 쓰는 경우

  • 특정 IP 대역 전체 차단
  • 보안 감사/규정 요구사항
  • DDoS/비정상 트래픽 1차 차단

8) NACL 설정 예시

Public Subnet NACL

  • Inbound
    • 80/443 Allow (0.0.0.0/0)
    • 22 Allow (회사 IP)
  • Outbound
    • 1024–65535 Allow (응답 트래픽)

Private Subnet NACL

  • Inbound
    • ALB Subnet CIDR만 Allow
  • Outbound
    • DB 포트 Allow

9) NACL에서 자주 발생하는 실수 ❌

❌ Inbound만 열고 Outbound 안 열어서 통신 실패
❌ Rule Number 충돌
❌ SG와 중복 설정으로 장애 발생

10) NACL 설계 원칙 (요약)

  • 넓게 제어: NACL
  • 세밀하게 제어: SG

보안은 “겹겹이” 설계한다.

 

'Infra&Cloud > AWS' 카테고리의 다른 글

AWS-RDS(Relational Database Service)  (0) 2026.02.08
AWS-SG(Security Group)  (0) 2026.02.08
AWS-Public/Private Subnet  (0) 2026.02.08
AWS-VPC(Virtual Private Cloud)  (0) 2026.02.08
AWS-NAT Gateway  (0) 2026.02.08