AWS EC2 프리티어 요금 폭탄 방지 완벽 가이드: 예산 알람 및 과금 리소스 점검 체크리스트

AWS 프리티어로 EC2를 처음 시작했다가 예상치 못한 요금이 청구된 경험이 있는가? 탄력적 IP를 릴리즈하지 않아 $0.005/시간씩 과금되거나, EBS 볼륨을 방치해 월말에 청구서를 받고 당황하는 사례는 생각보다 흔하다. 이 글에서는 AWS 프리티어 요금 폭탄을 사전에 차단하는 예산 알람 설정법과금 유발 리소스 점검 체크리스트를 실전 중심으로 정리한다.


AWS EC2 프리티어 요금 폭탄 방지 완벽 가이드: 예산 알람 및 과금 리소스 점검 체크리스트




1. AWS Budgets로 제로 지출 예산 설정하기

AWS Budgets는 비용 또는 사용량이 설정한 임계값을 초과하거나 초과 예상 시 이메일로 알림을 보내는 서비스다. 프리티어 사용자에게는 '제로 지출 예산(Zero spend budget)' 템플릿을 권장한다. $0.01 이상 발생 시 즉시 알림을 받아 과금 사고를 초기에 차단할 수 있다.

설정 절차

  1. AWS 콘솔 접속 → Billing and Cost ManagementBudgetsCreate a budget 클릭
  2. 예산 유형: Cost budget 선택 (또는 템플릿에서 'Zero spend budget' 선택)
  3. 예산 이름 설정 (예: FreeTierMonitor), 기간은 Monthly, 금액은 $0.01 또는 안전 마진을 두고 $1 설정
  4. 알림 구성: 임계값 80% 도달 시100% 초과 예상 시 이메일 수신자 추가
  5. Preferences에서 Free Tier Usage Alerts 활성화 → 프리티어 한도 85% 도달 시 자동 경고
  6. 검토 후 Create budget 클릭

추가 안전장치: CloudWatch 결제(Billing) 경보를 예산 알림과 중복 설정하면 이중 알림 체계가 구축되어 안전성이 향상된다. CloudWatch 경보는 실제 청구 금액 기준으로 트리거되므로, Budgets의 예상 초과 알림과 상호 보완 관계다.

2. 프리티어에서 자주 과금되는 항목 점검 체크리스트

예산 알림을 설정했다고 끝이 아니다. 과금을 유발하는 리소스를 사전에 점검하고 정리하는 습관이 필수다. 아래는 실전에서 자주 놓치는 과금 항목들이다.

탄력적 IP (Elastic IP)

  • 2024년 2월 1일부터 정책 변경: 인스턴스에 연결되지 않은 Elastic IP는 시간당 $0.005 과금
  • 기존에는 실행 중인 EC2에 연결된 EIP 1개는 무료였으나, 현재는 프리티어 관계없이 과금 대상
  • 조치: 사용하지 않는 EIP는 즉시 Release (EC2 콘솔 → Elastic IPs → Actions → Release Elastic IP address)
  • 팁: EC2 인스턴스를 재부팅하면 Public IPv4는 유지되므로, 고정 IP가 필요 없다면 EIP 할당 없이 운영 가능

EBS 볼륨 및 스냅샷

  • EC2 인스턴스를 종료(Terminate)해도 EBS 볼륨은 자동 삭제되지 않는 경우가 있음 (인스턴스 생성 시 'Delete on Termination' 옵션 미체크 시)
  • 프리티어는 월 30GB EBS 스토리지 무료, 초과 시 GB당 요금 발생
  • 조치: EC2 콘솔 → Volumes 및 Snapshots 메뉴에서 Available 상태 볼륨 및 미사용 스냅샷 삭제

프리티어 미포함 서비스

  • NAT Gateway, Application/Network Load Balancer, Redshift, ElastiCache 등은 프리티어 대상이 아님
  • 실습 목적이라면 NAT Gateway 대신 NAT Instance (t2.micro)를 사용하거나, 퍼블릭 서브넷에서 직접 통신하는 구조로 설계

리전별 한도 및 다중 리전 사용

  • 프리티어 한도는 리전별로 별도 적용되지 않고 계정 전체 합산이므로, 여러 리전에 EC2를 분산 배포하면 한도 초과 가능성 증가
  • 조치: EC2 Global View (EC2 콘솔 우측 상단)를 활용해 모든 리전의 인스턴스를 한눈에 확인하고, 사용하지 않는 리전의 리소스 종료

프리티어 기간 만료 후 자동 과금

  • AWS 프리티어는 가입일로부터 12개월 (일부 서비스는 영구 무료)
  • 만료일을 캘린더에 등록하고, 만료 1주일 전에 사용 중인 리소스를 전수 점검할 것
  • 2025년 7월 15일 이후 가입한 '무료 플랜' 사용자는 크레딧 소진 시 서비스가 자동 중지되어 요금 폭탄 위험 감소 (단, 유료 플랜 선택 시 초과 과금 발생)

3. 실전 모니터링 및 비용 절감 팁

예산 알림과 리소스 점검만으로는 부족하다. 주기적인 모니터링과 사전 예방 습관이 요금 사고를 완전히 차단한다.

Billing Dashboard 및 Cost Explorer 활용

  • AWS 콘솔 → Billing and Cost ManagementFree Tier에서 본인의 무료 사용량과 크레딧 잔액 실시간 확인
  • Cost Explorer로 월별 사용량 추세를 그래프로 분석해 이상 패턴 조기 감지

MFA 활성화 및 IAM 정책 강화

  • 루트 계정 및 IAM 사용자에 MFA(다중 인증) 활성화로 계정 탈취에 의한 리소스 무단 생성 방지
  • IAM 사용자에게는 최소 권한 원칙(Least Privilege)을 적용해 불필요한 서비스 생성 권한 제거

주기적인 리소스 정리 루틴

  • 매주 금요일 오후 또는 월말 마지막 날에 다음 항목 점검:
    • EC2 인스턴스 중 Stopped 상태로 방치된 것 (EBS는 계속 과금됨)
    • Elastic IP 중 Not associated 상태
    • S3 버킷 중 불필요한 객체 (S3 Intelligent-Tiering 또는 Lifecycle 정책 활용)
    • CloudWatch Logs 중 보관 기간 초과 로그 그룹

RDS 및 기타 서비스 주의사항

  • RDS 인스턴스는 프라이빗 서브넷 + Private IP로 구성하면 공인 IP 생성 없이 사용 가능 (Public Accessibility: No 설정)
  • Lambda, API Gateway 등 서버리스 서비스도 프리티어 한도(Lambda: 월 100만 요청, API Gateway: 월 100만 API 호출)를 확인하고 초과 방지

4. 정리 및 Action Item

AWS 프리티어 요금 폭탄은 예산 알림 설정 + 과금 유발 리소스 사전 점검 + 주기적 모니터링 3단계로 방어할 수 있다. 핵심은 $0.01 발생 시점에 즉시 알림을 받아 원인을 파악하고, 사용하지 않는 Elastic IP·EBS 볼륨·스냅샷을 방치하지 않는 것이다. 2024년 2월 이후 Elastic IP 정책 변경으로 프리티어에도 과금이 발생하므로, 고정 IP가 필요 없다면 EIP 할당 자체를 피하고 인스턴스 재부팅으로 Public IPv4를 유지하는 전략을 권장한다.

당장 실행할 Action Item

1) 지금 바로 AWS Budgets에서 '제로 지출 예산($0.01)' 생성 및 Free Tier Usage Alerts 활성화
2) EC2 콘솔 → Elastic IPs, Volumes, Snapshots 메뉴에서 미사용 리소스 전수 점검 후 삭제
3) 프리티어 만료일을 캘린더에 등록하고, 만료 1주일 전 알림 설정

이 3가지만 실행해도 AWS 프리티어 요금 폭탄은 90% 이상 예방할 수 있다. 추가로 CloudWatch 결제 경보를 예산 알림과 중복 설정하면 완벽한 이중 안전장치가 완성된다.


#함께 읽으면 좋은 글

Python JSONDecodeError Expecting value line 1 column 1 해결 완벽 가이드 : 바로보기

댓글