
AWS 요금 폭탄 피하는 법 — 클라우드 비용 절감 체크리스트
깜빡 켜 둔 EC2, 안 뗀 Elastic IP, 시간당 과금되는 NAT Gateway까지. AWS 요금 폭탄의 진짜 범인을 하나씩 짚고, Budgets 알림부터 Savings Plans까지 클라우드 비용 절감 체크리스트로 묶었습니다.
월초에 AWS 콘솔을 열었다가 청구서 숫자를 보고 숨이 턱 막힌 적, 있으시죠. 사이드 프로젝트 하나 굴렸을 뿐인데 어떤 달은 몇십 달러, 심하면 세 자리가 찍혀 있고요. 저도 처음엔 "내가 대체 뭘 그렇게 썼다고?" 하며 억울했습니다. 그런데 명세를 한 줄씩 뜯어보면 범인은 대개 열심히 쓰던 서비스가 아니라, 켜 둔 채 까맣게 잊은 것들이더라고요.
AWS는 "이거 안 쓰시는 것 같은데 꺼드릴까요?"라고 묻지 않습니다. 내가 지우기 전까지 초 단위, 기가바이트 단위로 꼬박꼬박 돈을 셉니다. 그걸 몇 번 데이고 나서야 깨달았어요. 무서운 건 청구서가 아니라, 내 계정에 뭐가 떠 있는지 내가 모른다는 사실이었습니다.

요금 폭탄은 '쓴 것'이 아니라 '남긴 것'에서 터진다
클라우드 초보가 가장 많이 하는 착각이 "안 쓰면 공짜"입니다. 아닙니다. AWS 과금의 기본은 '사용량'이 아니라 '보유'예요. 인스턴스를 띄워 두면 CPU를 한 번도 안 굴려도 시간이 흐르는 만큼 돈이 나갑니다.
진짜 사고는 테스트하다 만 리소스에서 납니다. 튜토리얼 따라 하다 만든 NAT Gateway, 잠깐 쓰려고 할당한 고정 IP, 스냅샷 찍어놓고 잊은 디스크. 하나하나는 몇 달러라 눈에 안 띄는데, 이게 서너 개 쌓이고 몇 달 방치되면 그대로 폭탄이 됩니다. 내 경험상 "왜 이렇게 많이 나왔지?" 싶은 청구서의 70%는 여기서 나왔어요.
사고가 터지기 전에, 알림부터 걸어두세요
소 잃기 전에 외양간부터 고치는 게 순서입니다. 체크리스트를 돌리기 전에 알림을 먼저 걸어두세요. 지금 당장 5분이면 됩니다.
- AWS Budgets: 월 예산 금액을 정해두면 50%·80%·100%를 넘을 때 메일로 알려줍니다. 계정당 예산 2개까지는 무료라, 개인 계정이면 이것만으로 충분해요.
- 결제 알림(CloudWatch 결제 알람): "이번 달 누적 요금이 10달러를 넘으면 알려줘" 같은 임계치를 걸어둡니다. 폭탄을 '사후에' 보는 게 아니라 '커지는 중에' 잡는 장치예요.
- Cost Anomaly Detection: 평소 패턴에서 갑자기 튀는 비용을 자동으로 감지해 알려줍니다. 무료고, 켜두면 든든합니다.
알림은 돈을 줄여주진 않습니다. 대신 '3만 원이 될 걸 300만 원에서 발견하는' 최악을 막아줍니다. 이 차이가 큽니다.
내 지갑을 터는 범인들 — 비용 체크리스트
이제 범인 수배 전단입니다. 콘솔에서 하나씩 대조해 보세요.
- 멈춘 줄 알았던 EC2 인스턴스 — 'stop'은 과금을 완전히 멈추지 않습니다. 컴퓨팅 요금은 멈춰도, 거기 붙은 EBS 디스크 값은 계속 나가요. 안 쓸 거면 'terminate'까지 가야 깔끔합니다.
- 안 뗀 Elastic IP와 공용 IPv4 — 2024년 2월부터 AWS는 사용 중이든 놀고 있든 모든 공용 IPv4 주소에 시간당 약 0.005달러(월 약 3.6달러)를 매깁니다. 예전엔 '붙어 있으면 무료'였던 게 바뀌었어요. 안 쓰는 고정 IP는 바로 반납(release)하세요.
- 방치된 EBS 볼륨과 스냅샷 — 인스턴스를 지워도 디스크가 따로 남는 경우가 많습니다. 떼어낸(unattached) 볼륨도 용량만큼 매달 돈이 나가고(gp3 기준 1GB당 월 0.08달러 안팎), 습관처럼 찍어둔 스냅샷도 쌓이면 무시 못 합니다.
- NAT Gateway — 조용한 암살자입니다. 리전마다 다르지만 버지니아(us-east-1) 기준 시간당 약 0.045달러에 더해, 통과하는 데이터 1GB당 또 0.045달러를 뗍니다. 가만히 띄워만 둬도 한 달에 30달러가 넘고, 트래픽까지 많으면 체감이 확 옵니다. 개발용이라면 정말 필요한지부터 따져보세요.
- 데이터 전송(아웃바운드) 비용 — 들어오는 트래픽은 공짜지만 나가는 트래픽엔 돈이 붙습니다. 인터넷으로 나가는 양은 월 100GB까지 무료고 그 뒤로 1GB당 0.09달러 선부터 시작해요. 가용영역(AZ)을 넘나드는 내부 트래픽도 양방향으로 1GB당 0.01달러씩 붙으니, 아키텍처를 잘못 그리면 '내부 통신'이 돈을 먹습니다.
- S3 버킷 — 저장 용량(표준 1GB당 월 0.023달러 선)에 더해 요청 수와 데이터 전송비가 따로 붙습니다. 로그·백업을 쌓아만 두는 버킷이 있다면 수명 주기 규칙으로 저렴한 등급으로 내리거나 지우세요.
- 프리티어 초과 함정 — 2025년 7월 15일부터 신규 계정은 '12개월 무료'가 아니라 크레딧 방식(가입 시 100달러 + 과제 수행으로 최대 100달러, 6개월 또는 크레딧 소진까지)으로 바뀌었습니다. 그 전에 만든 계정은 기존 12개월 프리티어가 유지돼요. 어느 쪽이든 '무료 한도'는 넘는 순간 바로 유료라, 한도 자체를 알고 써야 합니다.

숫자로 범인 찾기 — Cost Explorer와 Billing 대시보드
감으로 "이게 비싼 것 같아"는 틀리기 쉽습니다. Cost Explorer를 열어 서비스별·일자별로 끊어 보면, 어느 날부터 비용이 튀었는지 그래프로 바로 보입니다. 그 날짜에 뭘 만들었는지 떠올리면 범인이 �apped히죠.
태그(Tag)를 미리 붙여두면 더 좋습니다. 프로젝트별·환경별로 태그를 달면 "운영 말고 개발 환경이 돈을 먹고 있었네" 같은 게 한눈에 잡혀요. 월말에 Billing 대시보드에서 '예상 요금(forecast)'도 꼭 확인하는 습관을 들이세요.
구조적으로 줄이기 — 할인 옵션과 자동화
범인을 다 잡았다면, 이제 '꼭 필요한 비용' 자체를 깎을 차례입니다.
- Savings Plans / 예약 인스턴스(RI) — 1년이나 3년 쓸 걸 약속하면 온디맨드 대비 최대 70% 안팎까지 할인됩니다. 꾸준히 돌아가는 서버가 있다면 가장 확실한 절감 수단이에요.
- 스팟 인스턴스(Spot) — 중단돼도 괜찮은 작업(배치·CI·렌더링)이라면 최대 90% 가까이 쌉니다. 대신 AWS가 언제든 회수할 수 있으니 상태를 안 타는 작업에만.
- 오토스케일링 / 스케줄 종료 — 트래픽 없는 새벽에 서버를 줄이거나, 개발 환경을 밤에 자동으로 끄는 것만으로도 체감이 큽니다.
- 리전 선택 — 같은 서비스도 리전마다 단가가 다릅니다. 서울 리전은 미국 일부 리전보다 비싼 항목이 많아요. 지연시간이 중요하지 않은 작업이라면 저렴한 리전도 선택지입니다.
여기서 한국 개발자 입장의 현실적인 얘기를 덧붙이면, 개인·소규모 팀일수록 '할인 약정'보다 끄는 습관이 먼저입니다. 1년 약정으로 70% 깎아도, 애초에 안 써도 될 리소스를 24시간 켜두면 그게 더 손해예요. 또 환율까지 얹히는 국내 체감 비용은 공식 달러 단가보다 늘 더 아프게 느껴집니다. 그래서 저는 신규 프로젝트를 시작할 때 "이거 안 쓰면 어떻게 지우지?"를 만들기 전에 먼저 적어둡니다. 지우는 법을 모르고 만든 리소스가 결국 폭탄이 되거든요. 한 가지 덧붙이자면, 이 글의 달러 단가는 어디까지나 기준점입니다. AWS 요금은 수시로 바뀌고 리전마다 다르니, 돈이 걸린 결정은 반드시 아래 공식 요금 페이지에서 최신 값을 확인하세요.
오늘 당장 할 수 있는 3분 점검
- EC2·RDS 목록에서 안 쓰는 인스턴스 terminate
- 안 붙은 Elastic IP release, 떠돌이 EBS 볼륨·오래된 스냅샷 삭제
- NAT Gateway가 정말 필요한지 재확인
- AWS Budgets로 월 예산 + 알림 설정
- Cost Explorer에서 최근 30일 비용 그래프 눈으로 확인
요금 폭탄은 실력 부족이 아니라 '관심 부족'에서 옵니다. 한 달에 한 번, 10분만 콘솔을 들여다보는 습관이 세 자리 청구서를 막아줍니다. 여러분은 AWS에서 가장 황당하게 돈이 샜던 항목이 뭐였나요? 댓글로 '이것 때문에 당했다' 하는 범인을 공유해 주시면, 다음에 계정 파는 분들이 똑같이 안 당할 수 있을 거예요.
참고
댓글 0
댓글을 불러오는 중…