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 등 인스턴스 보호 | 서브넷 전체의 네트워크 보호 |