비용 관리는 세 단계다 — 알기, 막기, 줄이기
AWS 비용 문제는 “비싸다”보다 “어디서 왜 발생했는지 모른다”에서 시작합니다. 먼저 비용을 서비스·Region·환경·프로젝트별로 보이게 만들고, 예산과 이상징후 알림으로 예상 밖 증가를 빨리 발견한 뒤, Rightsizing과 Commitment로 구조적으로 줄입니다.
Budgets와 Cost Anomaly Detection으로 예상하지 못한 증가를 빨리 발견합니다.
Idle Resource 제거, Rightsizing, Architecture 개선, Savings Plans 같은 장기 최적화를 수행합니다.
비용이 새는 대표 지점 — “멈췄다”와 “과금이 멈췄다”는 다르다
| 리소스 | 자주 생기는 오해 | 확인 포인트 |
|---|---|---|
| Public IPv4 | Elastic IP가 연결돼 있으면 무료라고 생각 | 현재 AWS는 사용 중인 주소를 포함해 Public IPv4 Address에 요금을 부과하므로 필요 수를 줄임 |
| EBS | EC2를 Stop/Terminate하면 Volume도 항상 사라진다고 생각 | Available Volume과 Snapshot 잔존 확인 |
| RDS | Stop하면 모든 비용이 0이라고 생각 | Storage·Backup 비용과 일반 RDS 자동 재시작 조건 확인 |
| NAT Gateway | 트래픽이 없으면 비용이 거의 없다고 생각 | 가동 시간과 처리 데이터, 대체 가능한 VPC Endpoint 검토 |
| Load Balancer | Target이 없어도 비용이 없다고 생각 | 사용하지 않는 ALB/NLB와 Target Group 정리 |
| Snapshots | 원본 리소스 삭제 시 자동 제거된다고 생각 | EBS/RDS Snapshot 보존 목적과 Lifecycle 확인 |
| Route 53 | DNS Query가 없으면 Hosted Zone 비용도 없다고 생각 | 사용하지 않는 Hosted Zone·Health Check 확인 |
| CloudWatch | 로그를 모으기만 하면 비용 영향이 작다고 생각 | Log Ingestion·Retention·Insights Query·Custom Metric 범위 확인 |
다른 Region에 실수로 생성한 EC2·RDS·NAT Gateway·Snapshot이 남을 수 있습니다. Billing과 Cost Explorer에서 Region별 비용을 먼저 보고, 필요하면 AWS Resource Explorer 같은 도구로 실제 리소스를 찾습니다.
AWS Budgets — “얼마가 정상인지”를 숫자로 선언한다
예산은 다른 사람의 금액을 복사하는 것이 아니라 내 계정에서 허용할 월간 비용을 정하는 장치입니다. 전체 계정뿐 아니라 서비스·계정·태그 등 필요한 범위로 나눠 실제 비용과 예측 비용에 알림을 둘 수 있습니다.
| 알림 | 의미 | 사용 시점 |
|---|---|---|
| Actual | 실제 누적 비용이 Threshold 도달 | 이미 발생한 비용 통제 |
| Forecasted | 현재 사용 추세로 예산 초과가 예상됨 | 월말 전에 선제 대응 |
AWS Budgets의 예측은 과거 사용 데이터를 기반으로 하므로 새 계정이나 사용 이력이 짧은 환경에서는 Forecast Alert가 바로 동작하지 않을 수 있습니다. Actual Alert와 함께 사용합니다.
예산 설계 예시
| 범위 | 기준 | 예시 의도 |
|---|---|---|
| 전체 계정 | 월간 Cost | 총 비용 상한 감시 |
| 학습 환경 | Environment Tag | 실습 리소스 누수 감시 |
| 비용 민감 서비스 | Service Filter | NAT·RDS·Compute 증가 조기 탐지 |
Cost Anomaly Detection — “예산 안쪽의 이상한 증가”도 잡는다
Budget은 정해둔 선을 넘는지 확인하는 데 좋지만, 예산을 초과하지 않아도 평소보다 갑자기 비용이 튈 수 있습니다. AWS Cost Anomaly Detection은 사용 패턴을 분석해 비정상적인 Spend를 탐지하고 Alert Subscription으로 알릴 수 있습니다.
Budget으로 절대 한도를 감시하고 Anomaly Detection으로 예상 밖 패턴을 감시하면 비용 사고의 발견 시간을 줄일 수 있습니다.
Cost Explorer — 비용 증가의 원인을 분해한다
비용이 늘었다면 총액만 보지 말고 Service, Region, Usage Type, Account, Tag 같은 Dimension으로 잘라 봅니다. 비용 최적화의 첫 질문은 “무엇을 줄일까?”가 아니라 “증가분이 어디서 생겼나?”입니다.
어떤 AWS 서비스가 증가를 만들었는지 확인합니다.
의도하지 않은 Region 사용이 있는지 확인합니다.
Compute, Data Transfer, Public IPv4 등 실제 비용 항목을 좁힙니다.
Project·Environment·Owner 기준으로 책임과 목적을 분리합니다.
Cost Allocation Tag — “누가 왜 쓰는 비용인지” 보이게 한다
리소스에 Tag를 붙이는 것만으로 Billing 분석이 바로 되는 것은 아닙니다. 사용자 정의 Tag Key를 Billing and Cost Management의 Cost Allocation Tags에서 활성화해야 비용 분석 Dimension으로 활용할 수 있습니다.
| Tag Key | 예시 값 | 목적 |
|---|---|---|
| Project | rewards | 프로젝트별 비용 |
| Environment | dev / staging / prod | 환경별 비용 |
| Owner | team-web | 관리 주체 |
| CostCenter | web-ops | 조직 비용 배분 |
AWS 문서상 사용자 정의 Cost Allocation Tag는 리소스에 적용한 뒤 Billing 화면에 나타나기까지, 그리고 활성 상태가 되기까지 각각 시간이 걸릴 수 있습니다. 비용 분류는 배포 전에 Tag 표준부터 정하는 편이 좋습니다.
Rightsizing — 큰 인스턴스를 작은 인스턴스로 바꾸는 것 이상의 작업
Rightsizing은 실제 사용량을 보고 과도한 Compute·Memory·Storage를 줄이는 과정입니다. AWS Compute Optimizer는 여러 리소스의 구성과 사용량 Metrics를 분석해 Rightsizing Recommendation과 Idle Resource 기회를 제공합니다.
| 순서 | 확인 | 주의 |
|---|---|---|
| 1 | 최근 사용량과 Peak | 평균만 보고 줄이지 않음 |
| 2 | CPU·Memory·Network·Storage | 한 지표만으로 판단하지 않음 |
| 3 | 추천 Instance/Resource | 성능·가용성 요구 확인 |
| 4 | Staging 또는 점진 적용 | 변경 후 성능 재측정 |
과도하게 큰 Compute를 그대로 둔 채 Savings Plans 같은 장기 Commitment를 먼저 구매하면 불필요한 사용량까지 약정할 수 있습니다. 정상 크기를 먼저 찾고 안정된 사용 패턴에서 Commitment를 검토합니다.
Savings Plans — “싸게 쓰기”와 “약정하기”를 구분한다
Savings Plans는 일정한 Compute 사용이 지속되는 환경에서 On-Demand 대비 비용을 낮출 수 있지만, Commitment입니다. 학습 환경처럼 사용량이 자주 꺼지거나 변하는 시스템에는 무조건 맞는 선택이 아닙니다.
| 먼저 확인 | 질문 |
|---|---|
| Rightsizing 완료 | 현재 Resource 크기가 과하지 않은가? |
| 사용 패턴 | 24시간·장기간 안정적으로 사용하는가? |
| 기존 Commitment | 이미 적용된 Savings Plans/RI가 있는가? |
| 추천 분석 | AWS의 과거 사용량 기반 Recommendation을 검토했는가? |
Trusted Advisor — Support Plan에 따라 보이는 Check가 다르다
Trusted Advisor는 Cost Optimization, Performance, Security, Fault Tolerance, Service Limits, Operational Excellence 등의 Recommendation을 제공합니다. 단, 사용 가능한 Check와 API 기능은 AWS Support Plan에 따라 다릅니다.
현재 Basic Support에서는 Service Limits 전체와 Security/Fault Tolerance의 일부 Core Check를 사용할 수 있으며, Business Support+·Enterprise Support·Unified Operations 등에서는 더 넓은 Trusted Advisor 기능을 제공합니다. 지원 플랜과 Check 목록은 AWS 문서에서 현재 상태를 확인합니다.
운영 루틴 — 매일 자동 감시 + 월간 구조 개선
| 주기 | 할 일 | 목적 |
|---|---|---|
| 상시 | Budget / Anomaly Alert 수신 | 비용 사고 조기 발견 |
| 주간 | Cost Explorer 증가 서비스 확인 | 비정상 추세 조기 확인 |
| 월간 | Idle Resource·Public IPv4·Snapshot·NAT·RDS 점검 | 잔존 비용 제거 |
| 월간 | Tag 미분류 비용 확인 | 비용 책임 100% 분류에 접근 |
| 분기 | Compute Optimizer·Architecture Review | Rightsizing과 구조 개선 |
| 안정화 후 | Savings Plans Recommendation 검토 | 장기 사용량 Commitment 판단 |