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 리소스들에게 권한 허용하는 것임


'Cloud & Infra > AWS' 카테고리의 다른 글
| [AWS] ALB - 분산 환경에서의 로그 분석과 스티키 세션 (0) | 2026.03.02 |
|---|---|
| [AWS] 프라이빗 서브넷에 RDS 인스턴스 추가하기 (0) | 2026.03.02 |
| [AWS] 인터넷 게이트웨이 / NAT 게이트웨이 / Bastion Host (0) | 2026.03.01 |
| [AWS] VPC / 서브넷 (0) | 2026.03.01 |
| [AWS] AWS 서비스 개요 (0) | 2026.02.28 |