BioPlayground

🧬
목록으로

DDoS — 무료 호스팅의 과금 폭탄

DDoS 공격이 무엇인지, 왜 클라우드에서 과금 폭탄이 되는지, 개인 개발자가 할 수 있는 방어를 배웁니다.

중급
|
5
|
검증 완료 (2026-07)
진행률0/14 (0%)

DDoS — 무료 호스팅의 과금 폭탄

이 토픽을 마치면

DDoS 공격이 어떻게 작동하는지 이해하고, 클라우드에서 과금 폭탄을 피하는 기본 방어 설정을 알게 됩니다.


토이 프로젝트를 AWS에 올렸는데

포트폴리오용 프로젝트를 AWS에 올렸습니다. 프리 티어라서 월 0원입니다. 한 달 뒤 청구서가 왔는데 87만 원이 찍혀 있습니다.

뭔 일이 일어난 건가 로그를 보니 특정 IP들에서 초당 수천 건의 요청이 들어왔습니다. 내 사이트에 관심 있는 사람은 친구 3명뿐인데, 서버는 수백만 번 응답했고, 그만큼 데이터 전송 요금이 발생한 겁니다.

이것이 DDoS(Distributed Denial of Service) — 분산 서비스 거부 공격입니다. 여러 곳에서 동시에 엄청난 양의 요청을 보내 서버를 마비시키거나, 클라우드에서는 요금을 폭발시키는 공격입니다.


공격 원리

일반 DoS는 컴퓨터 한 대에서 공격합니다. 차단하면 됩니다. DDoS는 수천~수만 대의 좀비 PC에서 동시에 공격합니다. IP 하나를 차단해도 나머지 9,999개가 남아있습니다.

text
공격자
  │
  ├─ 좀비 PC 1 (브라질)    ──→ ┐
  ├─ 좀비 PC 2 (한국)      ──→ ├─→ 내 서버 (초당 10만 요청)
  ├─ 좀비 PC 3 (미국)      ──→ ├─→ 서버 마비 or 과금 폭발
  ├─ ... 수천 대            ──→ ┘

좀비 PC는 악성코드에 감염된 일반 사용자의 컴퓨터입니다. 공격자가 "봇넷"을 조종해서 특정 서버에 일제히 요청을 보냅니다.


클라우드에서 더 위험한 이유

온프레미스(자체 서버)에서 DDoS를 당하면 서버가 뻗습니다. 불편하지만 추가 비용은 없습니다.

클라우드에서 DDoS를 당하면 서버가 죽지 않고 오토스케일링합니다. 트래픽에 맞춰 서버가 자동으로 늘어나고, 데이터 전송량에 따라 과금됩니다. 공격을 "잘 처리"하면서 요금은 폭발합니다.

시나리오결과
자체 서버 + DDoS서버 다운 (돈은 안 나감)
클라우드 + DDoS서버 정상 (요금 폭발)
클라우드 + 오토스케일 + DDoS서버 10배로 증가 (요금 100배 폭발)

개인 개발자의 방어

대기업처럼 수억 원짜리 방어 시스템은 못 사지만, 기본적인 조치는 할 수 있습니다:

1. 과금 상한 설정

text
AWS: Billing → Budgets → 월 $50 초과 시 알림
GCP: Billing → Budget & alerts → 예산 설정

알림은 기본이 아닙니다. 직접 설정해야 합니다. 안 하면 청구서가 올 때까지 모릅니다.

2. Rate Limiting

javascript
// Express 예시
const rateLimit = require('express-rate-limit');

const limiter = rateLimit({
  windowMs: 15 * 60 * 1000,  // 15분
  max: 100,                   // IP당 100요청
  message: 'Too many requests',
});

app.use(limiter);

IP당 요청 횟수를 제한합니다. 정상 사용자는 15분에 100번 넘길 일이 없습니다.

3. Cloudflare 무료 플랜

도메인을 Cloudflare에 연결하면 DDoS 방어가 기본 포함됩니다. 무료 플랜으로도 L3/L4 공격을 상당 부분 막아줍니다.

4. 서버리스 주의

Lambda/Cloud Functions 같은 서버리스는 호출 횟수에 과금됩니다. DDoS로 수백만 번 호출되면 그만큼 청구됩니다. 앞단에 반드시 Rate Limiting을 두세요.


실제 사고 사례

"개인 블로그에 DDoS 맞아서 AWS 요금 600만 원 나왔습니다" — 이런 글이 커뮤니티에 정기적으로 올라옵니다.

AWS는 선의의 피해자에게 요금을 면제해주기도 하지만, 보장은 아닙니다. Support에 티켓을 열어서 사정을 설명해야 하고, 심사를 거쳐야 합니다.

예방이 수습보다 100배 쉽습니다.


핵심

DDoS는 수천 대에서 동시에 요청을 보내 서버를 마비시키는 공격입니다. 클라우드에서는 서버가 안 죽고 요금이 폭발하는 게 더 큰 문제입니다. 과금 알림 설정 + Rate Limiting + Cloudflare — 이 세 가지가 개인 개발자의 기본 방어입니다.