본문 바로가기

프로그래밍/⚙️DevOps

AWS) VPC Security

 

 

AWS VPC 보안 

📌 목차

  1. AWS VPC 보안 구조 한눈에 보기
  2. Security Group (보안 그룹)
  3. Network Access Control List (NACL)
  4. Security Group vs NACL 핵심 비교
  5. 트래픽 흐름 기준으로 이해하기
  6. 헷갈리기 쉬운 개념 정리 (시험·실무 포인트)
  7. 언제 무엇을 써야 할까? (실전 기준)

1️⃣ AWS VPC 보안 구조 한눈에 보기

AWS VPC에서는 2단계 방어 구조를 사용한다.

[ Internet ]
     ↓
[ NACL ]   ← 서브넷 단위 (1차 관문)
     ↓
[ Security Group ] ← 인스턴스 단위 (2차 관문)
     ↓
[ EC2 / App ]

 

✔️ NACL → 서브넷 경계에서 거르는 방화벽
✔️ Security Group → EC2 바로 앞에서 지키는 방화벽

👉 둘 다 통과해야 실제 트래픽이 인스턴스에 도달한다.


2️⃣ Security Group (보안 그룹)

🔹 개념 요약

  • EC2 인스턴스 단위 방화벽
  • VPC 내부에서 가장 많이 사용하는 보안 설정
  • “인스턴스의 문 앞 경비원”

🔹 핵심 특징

적용 단위 EC2 인스턴스
상태 Stateful (상태 저장)
기본 정책 Inbound ❌ / Outbound ✅
규칙 유형 Allow만 가능 (Deny 없음)
평가 방식 모든 규칙을 종합 평가

🔹 Stateful 이란?

 

요청을 허용하면, 응답은 자동 허용

 

예시:

  • Inbound: SSH(22) 허용
  • → Outbound 규칙 없어도 응답 트래픽은 자동 허용

👉 응답용 포트(1024~65535)를 따로 열 필요 없음


🔹 기본 동작

  • Inbound: 아무것도 없으면 전부 차단
  • Outbound: 기본적으로 전부 허용
  • 명시적 DENY 개념 자체가 없음

🔹 보안 그룹 규칙 예시

Inbound:
- SSH / TCP / 22 / 35.xxx.xxx.xxx/32

Outbound:
- ALL / ALL / ALL / 0.0.0.0/0

3️⃣ Network Access Control List (NACL)

🔹 개념 요약

  • 서브넷 단위 방화벽
  • “건물 입구의 보안 검색대”
  • 모든 인스턴스에 공통 적용

🔹 핵심 특징

적용 단위 Subnet
상태 Stateless (상태 없음)
기본 정책 Default NACL: 전부 허용
규칙 유형 Allow + Deny 모두 가능
평가 방식 번호 순서대로 (우선순위 존재)

🔹 Stateless 이란?

 

요청과 응답을 각각 따로 검사

 

예시:

  • Inbound: SSH 22 허용
  • ❗ Outbound에 응답 포트(1024~65535) 허용 안 하면 통신 실패

👉 Inbound / Outbound 규칙 둘 다 필수


🔹 Rule Number (우선순위)

  • 숫자가 낮을수록 우선
  • 처음 매칭된 규칙에서 즉시 종료
Rule 100 → Allow SSH
Rule 200 → Deny All

→ SSH는 허용, 나머지는 차단


🔹 Default vs Custom NACL

Default NACL Inbound/Outbound 모두 허용
Custom NACL 기본값: 전부 Deny

4️⃣ Security Group vs NACL 핵심 비교

구분 Security Group NACL
적용 범위 인스턴스 서브넷
상태 Stateful Stateless
Deny 규칙 ❌ 없음 ✅ 있음
우선순위 없음 있음 (Rule Number)
기본 사용 대부분의 보안 설정 추가 방어선

 

👉 “Security Group은 instance-level, NACL은 subnet-level 방화벽이다.”


5️⃣ 트래픽 흐름으로 이해하기

외부 → EC2 접근 시

1️⃣ NACL Inbound 검사
2️⃣ Security Group Inbound 검사
3️⃣ EC2 도착
4️⃣ 응답 시

  • SG: 자동 허용
  • NACL: Outbound 규칙 필요

6️⃣ 헷갈리기 쉬운 개념 정리 ⭐

🤔헷갈림 1

 

Security Group에도 Deny 규칙을 넣을 수 있다?

 

❌ 불가능
✔️ Allow만 가능


🤔헷갈림 2

 

NACL은 인스턴스마다 설정한다?

 

❌ 아님
✔️ 서브넷 단위, 서브넷당 1개만 연결


🤔헷갈림 3

 

응답 트래픽은 자동으로 허용된다?

 

항목 응답 자동 허용
Security Group
NACL

🤔헷갈림 4

 

둘 중 하나만 써도 된다?

 

  • Security Group은 필수
  • NACL은 선택적 추가 보안

7️⃣ 언제 무엇을 써야 할까?

✅ Security Group을 쓰는 경우 (거의 항상)

  • EC2 접근 제어
  • 서비스 포트 관리 (22, 80, 443)
  • 운영 환경 기본 보안

✅ NACL을 쓰는 경우

  • 특정 IP 대역 전체 차단
  • 조직 단위 보안 정책
  • 서브넷 단위 보안 통제
  • 보안 시험 문제 😂

🔚 한 줄 요약

 

Security Group은 “인스턴스 보안의 핵심”,
NACL은 “서브넷 경계의 추가 방어선”이다.

 

 

 

 

 

'프로그래밍 > ⚙️DevOps' 카테고리의 다른 글

AWS) DynamoDB Query  (0) 2026.01.19
AWS) DynamoDB Overview  (0) 2026.01.19
AWS) VPC 개념  (0) 2026.01.09
AWS) NACL(Network Access Control List)  (0) 2026.01.09
AWS) Amazon Virtual Private Cloud (VPC)  (0) 2026.01.08