HOT/클라우드

[AWS] 보안 그룹과 NACL

ByteGuard 2025. 5. 23. 13:51

보안 그룹(Security Group)

  • AWS에서 인스턴스(주로 EC2)에 적용되는 가상 방화벽 역할
  • 인스턴스에 대한 인바운드(외부 → 인스턴스)와 아웃바운드(인스턴스 → 외부) 트래픽을 제어
  • 인스턴스 단위로 적용되며, 하나의 인스턴스에 여러 개의 보안 그룹을 할당
  • 상태 저장(Stateful) 방식을 사용
  • 인바운드 트래픽이 허용되면 해당 세션의 아웃바운드 트래픽은 자동으로 허용
  • 허용(Allow) 규칙만 설정할 수 있으며, 명시적으로 차단(Deny)하는 규칙은 설정할 수 없음
  • 규칙의 순서가 없고, 등록된 모든 규칙을 평가

NACL(Network ACL, 네트워크 접근 제어 리스트)

  • 서브넷 단위로 적용되는 네트워크 방화벽
  • 하나의 NACL은 여러 서브넷에 적용할 수 있지만, 한 서브넷에는 하나의 NACL만 적용
  • 서브넷에 오가는 인바운드/아웃바운드 트래픽을 제어한다.
  • 무상태(Stateless) 방식으로 동작
  • 인바운드와 아웃바운드 각각에 대해 별도의 규칙을 모두 설정
  • 인바운드만 허용해도 아웃바운드가 허용되지 않으면 응답이 차단
  • 허용(Allow)과 거부(Deny) 규칙 모두 설정 가능
  • 규칙에 번호(우선순위)가 있으며, 낮은 번호가 높은 우선순위를 가짐, 먼저 일치하는 규칙이 적용되고 이후 규칙은 무시

 

구분 보안 그룹(Security Group) NACL(Network ACL)
적용 범위 인스턴스 단위 서브넷 단위
상태성 상태 저장(Stateful) 무상태(Stateless)
규칙 순서 없음(모든 규칙 동시 평가) 있음(번호순, 낮을수록 우선)
허용/거부 허용만 가능 허용, 거부 모두 가능
기본 동작 인바운드: 모두 거부
아웃바운드: 모두 허용
인바운스/아웃바운드: 모두 거부(기본값)
트래픽 방향 인스턴스 기준 인/아웃바운드 제어 서브넷 기준 인/아웃바운드 제어
응답 트래픽 별도 규칙 없이 자동 허용 응답 트래픽도 명시적 허용 필요
사용 예시 EC2, RDS 등 인스턴스 보호 서브넷 전체의 네트워크 보호