TechFeedTechFeed
Cloud & DevOps

AWS 요금 폭탄 막는 법 — 1인 개발자 청구 관리·예산 알림 실전 2026

AWS 요금 폭탄을 막는 청구 관리 실전 가이드. AWS Budgets 제로 스펜드 예산과 CloudWatch 청구 알림 설정 단계, 프리티어 초과 감시법, 비용이 크게 새는 NAT 게이트웨이·데이터 전송·EBS 스냅샷·RDS 구조, Cost Explorer 비용 대시보드, 태그 기반 추적까지 USD와 원화 환산으로 정리합니다. 2026년 6월 기준 공식 가격 출처 포함.

by

한 줄 핵심: AWS 요금 폭탄은 운에 맡기는 게 아니라 설정으로 막습니다. 계정을 만든 그날 제로 스펜드 예산 1개와 CloudWatch 청구 알림 1개만 걸어두면, 새벽에 켜둔 NAT 게이트웨이나 폭주한 데이터 전송이 청구서에 쌓이기 전에 메일로 먼저 잡아낼 수 있습니다.


저는 12개 사이트를 1인으로 운영하면서 클라우드 청구서를 매달 직접 들여다봅니다. 그 경험을 토대로, 가장 흔하게 돈이 새는 4개 서비스와 알림을 거는 정확한 순서를 단계별로 정리했습니다.


AWS 요금 폭탄은 왜 갑자기 터지나

AWS 청구서가 갑자기 부풀어 오르는 이유는 대부분 "시간당 과금되는 자원을 켜둔 채 잊어버려서"입니다. AWS의 많은 서비스는 트래픽이 0이어도 자원이 살아 있는 동안 계속 요금이 발생합니다. 인스턴스를 멈춰도 연결된 디스크(EBS)·고정 IP(Elastic IP)·게이트웨이는 별도로 과금되는 구조라, 테스트로 띄운 자원이 한 달 내내 조용히 돌아가는 사고가 자주 납니다.


특히 위험한 패턴은 다음과 같습니다.


  • NAT 게이트웨이: 한 번 만들면 트래픽과 무관하게 시간당 과금됩니다. us-east-1 기준 시간당 0.045달러로, 한 달 730시간이면 약 32.85달러(약 4만 5천 원). 여기에 처리하는 데이터 1GB당 0.045달러가 추가로 붙습니다.
  • 데이터 전송(아웃바운드): 인터넷으로 나가는 트래픽은 매달 100GB까지 무료지만, 그 이후는 1GB당 0.09달러(약 124원)입니다. 이미지·동영상이 많은 서비스에서 순식간에 불어납니다.
  • EBS 스냅샷: 인스턴스를 지워도 스냅샷은 남아 GB당 월 0.05달러로 계속 청구됩니다.
  • RDS: 멈춰도 7일 뒤 자동으로 다시 켜지고, 스토리지와 백업은 멈춘 동안에도 과금됩니다.

핵심은 "무료라고 알고 띄운 자원이 사실은 무료 한도를 넘었다"는 것을 인지하는 시점입니다. 알림이 없으면 그 시점은 한 달 뒤 청구서를 받는 날이 됩니다.


AWS 청구서가 갑자기 늘어나는 비용 구조를 보여주는 클라우드 콘솔 화면
ⓒ Amazon Web Services

2026년 프리티어는 어떻게 바뀌었나

2025년 7월 15일 이후 새로 만든 계정은 프리티어 구조가 완전히 달라졌습니다. 예전의 "12개월 무료 + 특정 서비스 월 한도" 모델 대신, 가입 즉시 100달러 + 온보딩 과제 완료로 최대 100달러를 더해 총 200달러(약 27만 5천 원)의 크레딧을 주는 방식으로 바뀌었습니다. 추가 100달러는 EC2 인스턴스 실행·종료, RDS 구성, Lambda 배포, Amazon Bedrock 프롬프트 테스트, AWS Budgets에서 예산 설정 등 5개 과제를 완료하면 적립됩니다.


여기서 가장 중요한 함정은 만료 규칙입니다. 이 무료 플랜은 "크레딧을 다 쓰거나, 가입 후 6개월이 지나거나" 둘 중 먼저 오는 시점에 종료됩니다. 6개월 시계는 크레딧 잔액과 무관하게 돌아가기 때문에, 200달러 중 30달러만 쓴 상태로 6개월을 맞으면 남은 170달러는 그대로 사라지고 계정이 닫힙니다.


2025년 7월 15일 이전에 만든 계정은 여전히 기존 12개월 프리티어(EC2 t-인스턴스 월 750시간 등) 혜택을 유지합니다. 즉 본인 계정이 어느 모델인지부터 확인해야 알림 기준을 제대로 잡을 수 있습니다.


주의: 새 프리티어 계정은 크레딧이 소진되면 자동으로 유료 계정으로 전환되지 않고 일시 중지될 수 있습니다. 반대로 결제 수단을 등록한 채 유료 플랜으로 올리면, 프리티어 한도를 넘는 사용분이 곧장 카드로 청구됩니다. 이 전환 지점을 알림으로 감시하는 게 폭탄 방지의 출발점입니다.


제일 먼저 거는 안전장치 — 제로 스펜드 예산

계정을 만들고 가장 먼저 할 일은 AWS Budgets에 제로 스펜드 예산(Zero Spend Budget)을 만드는 것입니다. AWS는 청구·알림 자체를 무료로 제공하고, 액션 없는 예산은 개수 제한 없이 무료입니다(액션 연동 예산은 처음 2개까지 무료, 이후 1개당 하루 0.10달러). 알림 받을 메일은 최대 10개까지 무료로 등록할 수 있습니다.


제로 스펜드 예산은 사실상 "단 1센트라도 과금이 발생하면 메일을 보내라"는 설정입니다. 프리티어만 쓰겠다는 사람에게 가장 강력한 1차 방어선입니다. 설정 경로는 다음과 같습니다.


  • AWS 콘솔 → Billing and Cost ManagementBudgetsCreate budget
  • 템플릿에서 Zero spend budget 선택 (실제 비용이 0.01달러를 넘으면 알림)
  • 알림 받을 이메일 주소 입력 → 생성

여기에 더해, AWS는 개인 계정에 한해 프리티어 사용량이 한도의 85%를 넘으면 자동으로 메일을 보내는 프리티어 사용량 알림을 기본 활성화합니다. 단 AWS Organizations의 관리 계정에는 자동 적용되지 않으니, 조직 계정을 쓴다면 별도로 예산을 만들어야 합니다.


AWS CLI로 제로 스펜드 예산 만들기 (budget.json·notifications.json 준비 후)
aws budgets create-budget \ --account-id 123456789012 \ --budget file://budget.json \ --notifications-with-subscribers file://notifications.json # budget.json 예시: 한도 1센트 비용 예산 # { # "BudgetName": "zero-spend-monthly", # "BudgetLimit": { "Amount": "0.01", "Unit": "USD" }, # "TimeUnit": "MONTHLY", # "BudgetType": "COST" # }

CloudWatch 청구 알림으로 임계금액 감시하기

제로 스펜드 예산이 "0원 초과"를 잡는다면, CloudWatch 청구 알림은 "특정 금액 돌파"를 잡습니다. 두 가지를 같이 거는 이유는 알림 채널을 이중화하기 위해서입니다. 한쪽 설정이 꺼지거나 메일이 스팸으로 빠져도 다른 쪽이 살아 있게 만드는 거죠.


CloudWatch는 EstimatedCharges라는 추정 청구 금액 지표를 제공합니다. 다만 이 지표를 쓰려면 먼저 청구 알림 기능을 켜야 하고, 지표는 us-east-1(버지니아 북부) 리전에만 올라옵니다. 설정 순서는 다음과 같습니다.


  • Billing → Billing preferences에서 "Receive Billing Alerts"(청구 알림 수신) 활성화
  • 리전을 us-east-1로 변경 → CloudWatch → Alarms → Create alarm
  • 지표 Billing > Total Estimated Charge > USD 선택
  • 임계값을 예를 들어 5달러(약 6,900원)로 설정하고 SNS 토픽으로 메일 구독

주의할 점은 CloudWatch 청구 알림은 총액만 감시한다는 것입니다. 서비스별·태그별로는 나눠 보지 못합니다. 그 세분화는 다음 단계인 AWS Budgets의 태그 기반 예산이 담당합니다.


AWS Budgets와 CloudWatch 청구 알림 설정 화면 예시
ⓒ Amazon Web Services

돈이 가장 많이 새는 4개 서비스 정밀 점검

알림을 걸었다면, 그 알림이 울릴 만한 원인을 미리 알아두는 게 좋습니다. 아래는 1인 규모 인프라에서 가장 자주 청구서를 부풀리는 4개 서비스를 2026년 6월 기준 us-east-1 공식 가격으로 정리한 표입니다. 가격은 리전·환율에 따라 달라지므로 원화는 1달러=약 1,375원 가정의 대략값입니다.


서비스과금 방식요금(USD)월 환산 예시
NAT 게이트웨이시간당 + 데이터 처리0.045/시간 + 0.045/GB약 32.85달러(약 4.5만 원) + 트래픽
데이터 전송(아웃)인터넷 송신 GB당월 100GB 무료, 이후 0.09/GB500GB 송신 시 약 36달러(약 5만 원)
EBS 스냅샷GB·월 저장표준 0.05/GB·월100GB 스냅샷 약 5달러(약 6,900원)
RDS인스턴스 시간 + 스토리지 + 백업인스턴스 타입별 상이멈춘 상태에서도 스토리지 과금

가장 무서운 건 NAT 게이트웨이입니다. 시간당 요금 자체는 작아 보여도, 처리 데이터가 많은 워크로드에서는 데이터 처리 요금(GB당 0.045달러)이 본체보다 커집니다. 1인 토이 프로젝트라면 NAT 게이트웨이 대신 NAT 인스턴스나, 퍼블릭 서브넷 직접 배치로 비용을 0에 가깝게 줄일 수 있는 경우가 많습니다.


실제로 자주 나는 폭탄 패턴: ① 멀티 AZ 구성 따라 NAT 게이트웨이를 가용영역마다 만들어 시간당 요금이 2~3배 → 월 10만 원 이상. ② 백업 자동화 스크립트가 스냅샷을 지우지 않고 매일 쌓아 스냅샷 비용이 인스턴스 비용을 추월. ③ S3에 올린 대용량 파일을 외부에서 직접 다운로드하게 두어 데이터 전송 아웃이 폭주.


Cost Explorer로 비용 대시보드 만들기

알림이 1차 방어라면, Cost Explorer는 "어디서 새고 있나"를 눈으로 확인하는 도구입니다. 모든 계정에서 무료로 제공되며, 청구서를 서비스별·리전별·일별로 쪼개 그래프로 보여줍니다.


1인 규모에서 매주 5분만 들여다보면 좋은 뷰는 다음 세 가지입니다.


  • 일별 비용 추이(Daily): 특정 날짜에 그래프가 튀어 있으면 그날 무언가를 켰다는 신호입니다.
  • 서비스별 그룹화(Group by Service): 상위 3개 서비스가 전체의 80%를 차지하는 경우가 대부분입니다. 그 3개만 관리해도 비용의 큰 줄기를 잡습니다.
  • 예측(Forecast): 이번 달 말 예상 청구액을 보여줍니다. 월초에 예측이 평소의 2배라면 알림이 울리기 전에 먼저 손쓸 수 있습니다.

더 적극적으로 가려면 AWS Cost Anomaly Detection을 켜는 것을 권합니다. 머신러닝으로 평소 지출 패턴을 학습해 이상치를 자동 감지하고 메일·SNS로 알려주는데, 모니터·탐지·알림 전부 무료입니다. 정확도는 보통 2~4주 학습 뒤 올라가니, 폭탄을 한 번 맞기 전에 미리 켜두는 게 좋습니다.


태그 기반 추적 — 프로젝트별로 비용 끊어 보기

여러 프로젝트를 한 계정에서 돌리면, 어떤 프로젝트가 돈을 먹는지 구분이 안 됩니다. 이때 쓰는 게 비용 할당 태그(Cost Allocation Tags)입니다. 자원마다 Project=blog, Project=api 같은 태그를 붙이면, Cost Explorer에서 태그별로 비용을 끊어 볼 수 있습니다.


주의할 점은 태그를 붙이는 것만으로는 부족하다는 것입니다. Billing → Cost allocation tags 메뉴에서 해당 태그를 명시적으로 "활성화"해야 비용 리포트와 Cost Explorer에 나타납니다. 활성화 후 데이터가 반영되는 데 최대 24시간이 걸리니, 새 프로젝트를 시작할 때 태그부터 켜두는 습관이 좋습니다.


여기에 더해 AWS Budgets는 태그 기반 예산도 지원합니다. 예를 들어 Project=experiment 태그가 붙은 자원의 합계가 10달러(약 1.4만 원)를 넘으면 알림을 보내도록 걸어두면, 실험용 자원만 따로 감시할 수 있습니다. CloudWatch 청구 알림이 못 하는 세분화를 여기서 보완하는 구조입니다.


AWS Cost Explorer에서 태그별로 비용을 나눠 본 대시보드 화면
ⓒ Amazon Web Services

테스트 끝나면 끄는 체크리스트

알림과 대시보드가 사후 감시라면, 가장 확실한 방어는 "다 쓴 자원을 그날 바로 끄는 것"입니다. 테스트나 데모가 끝났을 때 아래 순서로 점검하면 잊고 켜두는 사고를 거의 막을 수 있습니다.


  • EC2 인스턴스: 중지가 아니라 종료(terminate). 중지만 하면 연결된 EBS 디스크가 계속 과금됩니다.
  • EBS 볼륨·스냅샷: 인스턴스 종료 후 남은 볼륨과 오래된 스냅샷을 직접 삭제. GB당 월 0.05달러가 조용히 쌓입니다.
  • Elastic IP: 인스턴스에 붙어 있지 않은 고정 IP는 시간당 과금됩니다. 안 쓰면 해제(release).
  • NAT 게이트웨이: 데모 VPC를 통째로 지우기 전에 게이트웨이부터 삭제했는지 확인.
  • RDS: 7일 뒤 자동 재기동되므로, 안 쓸 거면 최종 스냅샷만 남기고 인스턴스 삭제.
  • 로드 밸런서(ELB): 트래픽이 없어도 시간당 과금. 데모 후 바로 삭제.

저는 데모 환경을 만들 때 모든 자원에 env=demo 태그를 붙이고, 끝나면 태그로 일괄 조회해 한 번에 정리합니다. 이렇게 하면 "뭘 만들었는지 까먹어서 못 지우는" 사고가 사라집니다.


demo 태그가 붙은 EC2 인스턴스 한 번에 조회하기
aws ec2 describe-instances \ --filters "Name=tag:env,Values=demo" \ --query "Reservations[].Instances[].[InstanceId,State.Name]" \ --output table

참고 자료

이 글의 가격·정책은 2026년 6월 기준 AWS 공식 문서를 토대로 작성했습니다. 가격은 변동이 잦으니 실제 적용 전 아래 출처에서 최신 값을 확인하세요.



자주 묻는 질문

AWS Budgets로 알림을 걸면 비용이 청구되나요?

아닙니다. 예산을 만들고 알림을 받는 것 자체는 무료입니다. 메일 알림은 한 예산당 최대 10개 주소까지 무료로 등록할 수 있습니다. 비용이 발생하는 건 자동으로 자원을 끄는 '액션 연동 예산'을 3개 이상 만들 때부터인데(처음 2개는 무료, 이후 1개당 하루 0.10달러), 단순 알림 목적이라면 비용 걱정 없이 여러 개 만들어도 됩니다.


새 프리티어 계정의 200달러 크레딧이 남았는데 왜 계정이 닫히나요?

2025년 7월 15일 이후 만든 계정의 무료 플랜은 '크레딧 소진' 또는 '가입 후 6개월' 중 먼저 오는 시점에 종료됩니다. 6개월 시계는 크레딧 잔액과 무관하게 흐르기 때문에, 크레딧이 많이 남아 있어도 6개월이 지나면 계정이 닫히고 남은 크레딧은 사라집니다. 계속 쓰려면 그 전에 유료 플랜으로 전환해야 합니다.


CloudWatch 청구 알림과 AWS Budgets, 둘 다 필요한가요?

저는 둘 다 거는 것을 권합니다. CloudWatch 청구 알림은 총 추정 금액 하나만 감시하고 us-east-1 리전에서만 동작하지만 설정이 단순합니다. AWS Budgets는 서비스별·태그별로 세분화해 감시할 수 있고 예측 기반 알림도 됩니다. 알림 채널을 이중화하면 한쪽이 꺼지거나 메일이 스팸으로 빠져도 다른 쪽이 폭탄을 잡아줍니다.


NAT 게이트웨이 비용을 줄이는 가장 쉬운 방법은 무엇인가요?

1인 규모 토이 프로젝트라면, 프라이빗 서브넷이 정말 필요한지부터 재검토하세요. 외부 통신이 많지 않다면 NAT 게이트웨이 대신 작은 NAT 인스턴스를 쓰거나, 인스턴스를 퍼블릭 서브넷에 직접 두는 구성으로 시간당 0.045달러 + 데이터 처리 요금을 거의 0으로 줄일 수 있습니다. 멀티 AZ로 게이트웨이를 여러 개 만들지 않는 것도 중요합니다.


인스턴스를 멈췄는데도 요금이 나오는 이유는?

EC2 인스턴스를 중지(stop)하면 컴퓨팅 요금은 멈추지만, 연결된 EBS 디스크·스냅샷·고정 IP(Elastic IP)는 계속 과금됩니다. RDS는 멈춰도 스토리지와 백업 요금이 나오고 7일 뒤 자동으로 다시 켜집니다. 완전히 비용을 0으로 만들려면 중지가 아니라 종료(terminate)하고 남은 볼륨·스냅샷·IP까지 삭제해야 합니다.


비용 할당 태그를 붙였는데 Cost Explorer에 안 보입니다.

태그를 자원에 붙이는 것만으로는 부족합니다. Billing 콘솔의 '비용 할당 태그(Cost allocation tags)' 메뉴에서 해당 태그를 명시적으로 활성화해야 하고, 활성화 후 데이터가 반영되는 데 최대 24시간이 걸립니다. 또한 활성화 이전에 발생한 비용에는 소급 적용되지 않으니, 프로젝트 시작 시점에 태그부터 켜두는 게 좋습니다.


AWS 요금 폭탄AWS 비용 알림AWS BudgetsAWS 프리티어NAT 게이트웨이데이터 전송 비용Cost Explorer클라우드 비용 관리1인 개발자DevOps

관련 포스트