보안 그룹 vs NACL

안상운·2025년 3월 9일

AWS

목록 보기
6/12

✅ 보안 그룹 vs NACL 차이점

구분보안 그룹 (Security Group)NACL (Network ACL)
적용 대상EC2, ALB, RDS 같은 인스턴스 레벨서브넷 레벨 (VPC 내부의 서브넷 전체에 적용)
작동 방식Stateful (상태 저장됨) → 인바운드 허용하면 자동으로 아웃바운드도 허용됨Stateless (상태 저장 안됨) → 인바운드/아웃바운드를 각각 명시해야 함
설정 단위EC2 인스턴스에 개별적으로 적용서브넷 단위로 모든 리소스에 일괄 적용
인바운드 & 아웃바운드 관계인바운드 허용 → 해당 세션의 아웃바운드는 자동 허용됨인바운드/아웃바운드를 각각 따로 설정해야 함
허용 vs 거부허용(Allow)만 가능, 거부(Deny) 없음허용(Allow) & 거부(Deny) 둘 다 가능
우선순위여러 개 적용 가능, 가장 엄격한 규칙이 우선규칙에 번호(번호가 낮을수록 우선 적용됨)
사용 사례특정 EC2, RDS 등에 세부적인 방화벽 역할서브넷 단위에서 기본적인 트래픽 필터링

📌 보안 그룹(SG) vs NACL 작동 방식

이 이미지는 Incoming Request(들어오는 요청)Outgoing Request(나가는 요청)에서 보안 그룹(Security Group, SG)과 네트워크 ACL(NACL)의 차이를 설명하고 있음.


1️⃣ Incoming Request (들어오는 요청)

  1. NACL의 인바운드 규칙 적용

    • 먼저 NACL의 인바운드 규칙이 확인됨.
    • NACL은 Stateless이므로, 이 단계에서 요청이 차단되면 이후 단계로 진행되지 않음.
  2. 보안 그룹(SG)의 인바운드 규칙 확인

    • SG는 Stateful이므로 NACL을 통과한 요청을 세밀하게 필터링 가능.
    • SG에서 허용된 요청만 EC2 인스턴스로 전달됨.
  3. EC2 인스턴스에서 아웃바운드 응답 (자동 허용됨)

    • 보안 그룹이 Stateful이므로, 인바운드 요청을 허용한 경우 아웃바운드 응답은 자동 허용됨.
    • NACL의 아웃바운드 규칙을 다시 통과해야 함.

2️⃣ Outgoing Request (나가는 요청)

  1. EC2에서 나가는 트래픽을 보안 그룹(SG)에서 필터링

    • 보안 그룹(SG)의 아웃바운드 규칙이 먼저 확인됨.
    • SG는 Stateful이므로, 요청을 보냈다면 해당 응답도 자동 허용됨.
  2. NACL의 아웃바운드 규칙 확인

    • NACL은 Stateless이므로 아웃바운드 규칙도 별도로 허용해야 함.
    • 만약 아웃바운드 규칙에서 허용하지 않으면 요청이 차단됨.
  3. 응답이 돌아올 때 NACL의 인바운드 규칙을 다시 통과해야 함

    • NACL은 Stateless이므로, 들어오는 응답도 인바운드 규칙에서 허용해야만 통과됨.

  • SG는 세부적인 보안 설정을 위해, NACL은 기본적인 네트워크 필터링을 위해 사용됨.
  • SG는 상태 저장(Stateful), NACL은 상태 비저장(Stateless)

🚀 쉽게 이해하는 비유

  • 보안 그룹 = 건물 내부 보안 🚪

    • "이 건물(EC2) 안에 들어오려면 ID 카드 있어야 해."
    • 한번 들어오면 다시 나갈 때 검문 안 함 (Stateful).
    • 출입 허용만 가능하고 거부는 불가능함.
  • NACL = 아파트 단지 입구 보안 🏢

    • "이 아파트(서브넷) 출입하려면 정해진 규칙에 맞아야 해."
    • 들어올 때, 나갈 때 각각 검문함 (Stateless).
    • 출입 허용도 하고, 특정 대상은 거부도 가능함.

📌 결론: 언제 보안 그룹 vs NACL을 써야 할까?

  • 보안 그룹 (SG)

    • EC2, RDS, ALB 등 개별 리소스에 대한 세밀한 보안 필요할 때 사용
    • 상태 저장(Stateful) 방식이므로 트래픽이 자동으로 반환될 필요가 있을 때 유리
  • NACL

    • 서브넷 레벨에서 전체적인 트래픽을 필터링할 때 유용
    • Stateless이므로 특정 트래픽을 강제로 차단(Deny) 하고 싶을 때 필요 (보안 그룹은 Deny 불가능)
    • DDoS 방어 같은 기본적인 네트워크 필터링에 적합

👉 한마디로:

  • EC2 접근 제어 → 보안 그룹 사용
  • 서브넷 레벨에서 필터링 → NACL 사용
  • 둘 다 함께 쓰면 더욱 강력한 보안 구축 가능! 🚀

0개의 댓글