tomei
Categories
Tags
935 words
5 minutes
서버리스 시작할까하니 바로 뜨는 공포 이야기
서버리스 시작했더니 바로 뜨는 공포 이야기들 ㅋㅋ
최근에 람다로 서버리스 구축하고 있는데, 귀신같이 서버리스 공포 이야기들이 올라온다
타이밍 무슨일
실제로 벌어진 서버리스 과금 공포 사례들
🔥 진짜 무서운 사례들
- Firebase + DoS 공격: 하루 만에 $100,000 청구
- Vercel 스팸 공격: 하루에 $23,000 + 56,000개 계정 생성됨
- BigQuery 실수: 놀이터에서 테스트하다가 $22,000
- Firebase + Cloud Run: 테스트 두 번으로 $72,000 소진
- AWS S3: 빈 프라이빗 버킷인데도 예상치 못한 과금
- Cloudflare: 24시간 안에 $120,000 내라며 서비스 중단
😱 일상적인(?) 소규모 피해들
- 월 1,189 청구
- 월 방문자 9,000명인데 월 $250 과금
- 지출 한도 $120 설정했는데도 초과 청구
- 한 번도 결제 안 했는데 갑자기 $530 청구
왜 이런 일이 벌어지나?
- DoS/DDoS 공격: 트래픽 폭증으로 과금 폭탄
- 설정 실수: 무제한 스케일링 + 잘못된 쿼리
- 봇 공격: 회원가입, API 호출 등 대량 요청
- 투명하지 않은 과금 구조: 예상하기 어려운 비용 계산
- 모니터링 부족: 실시간으로 비용 추적 안 됨
🛡️ 서버리스 사용할 때 주의할 점
필수 설정
- 지출 한도 설정: 절대 빼먹지 말기 (그래도 뚫릴 수 있다니…)
- 알림 설정: 일정 금액 넘으면 즉시 알림
- 리소스 제한: 동시 실행 수, 메모리, 타임아웃 제한
- API 레이트 리미팅: 무분별한 호출 방지
모니터링
- 실시간 비용 대시보드 확인 습관화
- 일별/주별 사용량 정기 체크
- 이상 트래픽 패턴 감지 설정
- 로그 분석으로 의심스러운 요청 패턴 찾기
보안
- API 키 관리: 절대 코드에 하드코딩 금지
- 인증/인가: 공개 API는 반드시 보호
- CORS 설정: 허용된 도메인만 접근 가능하게
- DDoS 보호: CloudFlare 같은 서비스 활용
아키텍처
- 서킷 브레이커: 장애 전파 방지
- 백프레셰: 과부하 방지
- 캐싱: 불필요한 연산 줄이기
- 배치 처리: 개별 호출보다 효율적
🔥 서드파티 서비스들의 문제점
Vercel, Netlify, Firebase 등:
- 제한적인 비용 제어: 지출 한도 설정해도 뚫리는 경우 많음
- 불투명한 과금: 정확히 뭘로 얼마나 청구되는지 모르겠음
- DoS/봇 공격에 취약: 트래픽 기반 과금이라 공격받으면 끝
- 자동 스케일링의 함정: 제한 없이 무한대로 늘어남
- 모니터링 도구 부족: 디테일한 추적 어려움
적용할 것들
- AWS CloudWatch 알림: $10 넘으면 알림 오게 설정
- Lambda 동시 실행 제한: 최대 10개로 제한
- API Gateway 스로틀링: 초당 100 요청으로 제한
- CloudFlare: DDoS 보호 + 캐싱
- 비용 대시보드: 매일 아침 체크하는 습관
비용 넘으면 자동으로 내리도록 설정해두는 것도 가능?한거 같은니 해두는게 좋을듯
결론
서버리스는 편하긴 한데, 방심하면 진짜 큰일 날 수 있다;; 특히 DoS 공격이나 설정 실수 하나로 하루 만에 몇만 달러가 날아갈 수 있다니… ㄷㄷ
핵심은 방어적 설정 + 지속적인 모니터링인 것 같다. 아무리 서버리스가 “걱정 없이 쓸 수 있다”고 해도, 비용과 보안은 항상 신경 써야함
서버리스 시작할까하니 바로 뜨는 공포 이야기
softourr.github.io/서버리스-시작할까하니-바로-뜨는-공포-이야기.md