IT
개발, 하드웨어, 소프트웨어 토론
사이드 프로젝트로 AWS 요금 폭탄 맞은 썰
🇰🇷 야근러1시간 전조회 57댓글 5
작년 가을쯤이었나. 회사 끝나고 집에서 사이드 프로젝트 하나 만들고 있었거든. 간단한 이미지 리사이징 API였는데, AWS Lambda에 S3 붙여서 돌렸어. "서버리스니까 안 쓰면 돈 안 나오지~" 이 생각이 화근이었음.
테스트한다고 크롤러를 하나 붙였는데, 이게 무한 루프에 빠진 거야. Lambda가 S3에 이미지 올리면 그 이벤트가 다시 Lambda를 트리거하고, 그게 또 S3에 쓰고... 금요일 밤에 배포하고 월요일 아침에 출근해서 메일 확인하는데 AWS에서 billing alert가 와 있더라고. 심장이 쫄깃해지면서 콘솔 열었는데 주말 이틀 동안 약 47만 원 정도 찍혀 있었어. 월급이 세후 350인 자취생한테 47만 원이면 그냥 반월세야.
손이 떨리면서 Lambda 함수부터 급하게 내리고, S3 버킷 이벤트 설정 꺼버렸지. 그때 식은땀이 진짜 등줄기를 타고 내려오더라. 사이드 프로젝트로 포트폴리오 만들겠다는 건데 포트폴리오 대신 카드값을 만들어버린 거잖아.
그 뒤로 클라우드 쓸 때 습관이 완전히 바뀌었어. 혹시 나처럼 될 사람 있을까봐 그때부터 지금까지 지키고 있는 것들 공유함.
**1. Billing Alert는 배포보다 먼저 설정해**
AWS든 GCP든 프로젝트 만들자마자 제일 먼저 하는 게 예산 알림 설정이야. 나는 만 원, 삼만 원, 오만 원 단계별로 걸어놓음. 콘솔에서 3분이면 되는 건데 이걸 안 해서 47만 원 낸 거야.
**2. 프리 티어 한도를 정확히 알고 써**
"프리 티어니까 공짜겠지" 이런 마인드가 제일 위험해. Lambda가 월 100만 건 무료라서 넉넉해 보이잖아. 근데 무한 루프 한 번 돌면 100만 건 그냥 뚫어. 프리 티어는 정상 사용 기준이지 실수를 커버해주는 게 아니야.
**3. 사이드 프로젝트는 리소스 상한을 무조건 걸어**
Lambda면 동시 실행 수 제한, EC2면 인스턴스 타입 제한, API Gateway면 스로틀링. 귀찮아도 상한 설정 안 하면 내 카드가 상한 없이 긁히는 거야.
**4. 이벤트 기반 아키텍처는 순환 참조 꼭 체크해**
내가 당한 게 정확히 이거거든. A 서비스 출력이 B 서비스 입력이 되고, B 출력이 다시 A 입력이 되는 구조. 설계할 때 화살표 그려보면 바로 보이는 건데 머릿속으로만 하니까 놓친 거야.
**5. 주말에 배포하지 마**
금요일 밤 배포는 진짜 만악의 근원이야. 뭔가 터져도 월요일까지 모르잖아. 나는 그 뒤로 사이드 프로젝트도 화수목에만 배포해. 회사 코드도 금요일 배포 안 하는 데는 다 이유가 있더라.
**6. AWS 서포트에 환불 요청은 해볼 만함**
이건 내가 직접 해본 건데, 처음 겪은 의도치 않은 과금이면 AWS 서포트에 사정 설명하면 일부 감면해주는 경우가 있어. 나는 그때 사유서 비슷하게 작성해서 보냈더니 일부 크레딧으로 돌려받았거든. 안 되더라도 손해 볼 건 없으니까 무조건 연락은 해봐.
지금은 개인 프로젝트 대부분 Cloudflare Workers나 Vercel 프리 플랜 위주로 쓰고 있어. 둘 다 프리 티어가 사이드 프로젝트 수준에서는 충분하고, 특히 Cloudflare는 요금 구조가 단순해서 예측이 쉬움. 그래도 알림 설정은 습관처럼 하고.
클라우드가 편한 건 맞는데 "안 쓰면 돈 안 나온다"는 말만 믿고 방심하면 진짜 큰일 나. 47만 원 내고 배운 교훈이니까 여기 적어놓음. 누군가는 이거 보고 나 같은 실수 안 했으면.
댓글 5
댓글을 불러오는 중...