[AWS] NACL 설정하기

친환경 개발자
|2025. 9. 5. 17:32

NACL이란

NACL ⇒ Network Access Control List

Subnet의 접근 제어를 관리한다! 문지기의 역할임은 보안 그룹과 비슷

 

 

 

 

보안 그룹과의 차이

보안그룹이 인스턴스에 대한 접근을 제어하는 용도라면,

NACL은 Subnet에 대한 접근을 제어하는 용도이다!

 

 

 

 

VPC, Subnet, 인스턴스 무슨 차이?

  • VPC ⇒ Virtual Private Cloud 즉, 개인 당 주어지는 네트워크 공간이다. 아파트 단지 같은 개념
  • Subnet ⇒ 네트워크 공간을 작은 네트워크 단위로 쪼갠 것. 아파트 한 동(101동, 102동..) 개념
  • 인스턴스 ⇒ 네트워크 공간을 사용하는 하나의 컴퓨터. 집 한 채(203호, 204호…) 개념

 

 

 

특징

  1. 하나의 Subnet에 1개의 NACL만 할당 가능
  2. 허용 규칙 & 차단 규칙 모두 설정 가능 (↔ 보안그룹은 허용 규칙만 가능)
  3. 규칙 별 우선 순위 적용이 가능 (낮은 수일수록 높은 우선순위)
  4. 한 번 인바운드/아웃바운드를 통과한 트래픽이라도, 아웃바운드/인바운드 규칙 적용됨 (↔ 보안그룹은 적용 안됨) ⇒ statless

 

 

 

규칙 우선순위

낮은 수일수록 우선순위가 적용되어, 상충되는 규칙이 있을 경우 우선 순위에 따라 규칙을 수행한다.

101번 규칙에 80포트를 허용하더라도, 100번 규칙으로 80포트를 막으면 80포트는 막힌다!

 

 

 

 

세팅하기

인바운드

  • 외부 인터넷용은 여러 클라이언트에서 모두 접근 가능하도록 해야하므로, 기본 적으로는 allow
  • 추후 차단해야 할 IP 있을 때 차단하기.
  • 보안 그룹에서 설정 철저히 해야 함.

아웃바운드

NACL은 stateless 이므로, 아웃바운드까지 함께 적용해줘야 한다!

  • 기본적으로 아웃바운드는 다 열어두는 편이라고 함.
  • 단 보통 아웃바운드의 포트가 1024~65535이므로 그렇게 설정함.
  • 그러나 초기에는 포트를 모두 열어두는게 좋음. ssh 접근해서 sudo apt update 등 세팅할 때는 포트가 열려있어야 통신 가능.

서브넷과 연결하기