1. 보안 그룹 (Security Group)

- 정의: 인스턴스(ENI) 단위에 적용되는 가상 방화벽 (L4 레이어 제어)
- 관리 위치: EC2 > 네트워크 및 보안 > 보안 그룹
- 기술적 특징

  • Stateful(상태 유지): 인바운드 허용 시 아웃바운드 응답 자동 허용 (반대도 동일)
  • Whitelist 방식: 기본 설정은 모든 트래픽 차단, 필요한 규칙만 추가
  • 논리적 그룹화: 원본(Source)에 IP 대역뿐만 아니라 다른 보안 그룹 ID 참조 가능
  • 실무 용도: 개별 서버(EC2, RDS 등)의 서비스 포트(SSH, HTTP, DB 포트 등) 정밀 제어

2. 네트워크 ACL (Network ACL)

- 정의: 서브넷(Subnet) 경계에 적용되는 네트워크 계층 방화벽 (L3/L4 레이어 제어)

- 관리 위치: VPC > 보안 > 네트워크 ACL

- 기술적 특징

  • Stateless(상태 비저장): 인바운드와 아웃바운드 규칙을 각각 명시적으로 허용해야 통신 가능
  • 규칙 순위: 규칙 번호 순으로 평가하며, 조건 일치 시 하위 번호는 무시함
  • Deny(거부) 지원: 특정 IP 대역에 대한 명시적 차단 규칙 설정 가능
  • 실무 용도: 특정 국가 IP 대역 차단, 서브넷 간 통신 전면 통제 등 광범위한 경계 방어

3. 핵심 비교 

항목 보안 그룹 (SG) 네트워크 ACL (NACL)
적용 대상 인스턴스 (네트워크 인터페이스) 서브넷 (Subnet)
상태 저장 Stateful (응답 트래픽 추적) Stateless (왕복 규칙 각각 필요)
허용/차단 허용(Allow) 규칙만 지원 허용 및 차단(Deny) 규칙 지원
참조 방식 IP 주소 및 타 보안 그룹 ID IP 주소(CIDR)만 가능
적용 시점 모든 규칙 평가 후 최종 결정 규칙 번호 순서에 따른 즉시 적용

 

4. 실무 구축 가이드

  • 보안 그룹 운용:
    - 보안 그룹 ID 참조(Chaining)를 기본으로 하여 IP 변동에 유연하게 대응함
    - 동일 규칙을 중복 없이 하나의 보안그룹에 여러 AWS 리소스를 적용할 수 있음 (보안 정책 변경 시, 해당 보안 그룹만 적용하면 됨. 관리포인트 축소) 
  • NACL 운용: 특수한 차단 목적이 없는 한 기본 규칙(All Allow) 유지 권장 (관리 복잡도 감소)
  • 임시 포트(Ephemeral Ports): NACL 설정 시 아웃바운드에 고번호 포트(1024-65535) 개방 여부를 반드시 확인해야 통신 장애 발생을 방지함
  • 이중 방어: 외부 접점(Public) 서브넷에는 NACL로 최소한의 IP 필터링을 수행하고, 내부 자원은 보안 그룹으로 세부 제어하는 아키텍처 구성

 

# 적용 예 

private subnet 의 경우 

1) SSH 접근은 Bastion Host가 속한 보안그룹에게 허용  

2) HTTP 접근은 ALB가 속한 보안그룹에게 허용 

=> 해당 보안그룹에 속한 AWS 리소스들에게 권한 허용하는 것임

 

+ Recent posts