AWS-SG(Security Group)
2026. 2. 8. 17:29

SG란? (Security Group)

SG(Security Group)는 AWS에서 제공하는 가상 방화벽으로,
EC2, ALB, RDS 같은 리소스에 들어오고 나가는 트래픽을 제어하는 보안 기능이다.

1) SG가 왜 필요한가 (배경)

AWS는 기본적으로 네트워크가 열려 있지 않다.
아무 설정도 안 하면:

  • 외부 접근 ❌
  • 내부 접근 ❌

즉, 의도적으로 허용하지 않으면 통신 자체가 안 됨.

SG는:

  • 최소 권한 원칙
  • 서비스별 접근 제어
  • 외부 공격 최소화

를 위해 필수적인 구성 요소다.

2) SG 한 줄 정의

Security Group은 AWS 리소스에 적용되는 상태 기반(Stateful) 가상 방화벽이다.

3) SG의 핵심 특징

(1) Stateful (상태 기반)

  • 인바운드 허용 → 아웃바운드 자동 허용
  • 응답 트래픽은 별도 허용 규칙 불필요

(2) Allow 규칙만 존재

  • Deny 규칙 ❌
  • 허용된 것만 통과

(3) 리소스 단위 적용

  • Subnet이 아니라
  • EC2 / ALB / RDS 단위로 적용

4) SG의 구성 요소

인바운드 규칙 (Inbound)

  • 외부 → 리소스 접근 제어
  • 예:
    • 22 (SSH)
    • 80 / 443 (HTTP/HTTPS)
    • 3306 (MySQL)

아웃바운드 규칙 (Outbound)

  • 리소스 → 외부 통신 제어
  • 기본값: All Allow

5) SG 동작 예시 (실무에서 제일 중요)

웹 서비스 기본 구조

[Internet]
   ↓ 80/443
[ALB SG]
   ↓
[EC2 SG]
   ↓
[RDS SG]

 

SG 설정 예시

ALB SG

  • Inbound: 80, 443 from 0.0.0.0/0
  • Outbound: EC2 SG

EC2 SG

  • Inbound: 8080 from ALB SG
  • Outbound: RDS SG

RDS SG

  • Inbound: 3306 from EC2 SG
  • Outbound: 없음(또는 제한)

🔥 핵심 포인트
IP가 아니라 “SG를 기준으로 허용”

6) SG vs NACL (차이점)

구분 SG NACL
적용 단위 리소스 Subnet
상태 Stateful Stateless
규칙 Allow only Allow + Deny
우선순위 없음 있음

실무에서는
NACL은 크게 건드리지 않고 SG로 대부분 제어

7) SG 설계 베스트 프랙티스

✅ 최소 권한

  • 0.0.0.0/0 남발 ❌
  • 필요한 포트만 허용

✅ SG 참조 사용

  • IP 대신 SG ID 참조
  • 서버 교체 시 설정 변경 최소화

✅ 역할별 SG 분리

  • ALB SG
  • APP SG
  • DB SG

8) SG에서 자주 하는 실수

❌ EC2에 22번 포트를 전체 오픈
❌ RDS를 Public Subnet + SG 전체 허용
❌ IP 고정이라고 가정하고 CIDR 하드코딩

'Infra&Cloud > AWS' 카테고리의 다른 글

AWS-ALB(Application Load Balancer)  (0) 2026.02.08
AWS-RDS(Relational Database Service)  (0) 2026.02.08
AWS-NACL(Network Access Control List)  (0) 2026.02.08
AWS-Public/Private Subnet  (0) 2026.02.08
AWS-VPC(Virtual Private Cloud)  (0) 2026.02.08