왜 비용 최적화를 배워야 할까?
어느 스타트업의 CTO가 아침에 AWS 청구서를 확인합니다. $4,300. 지난달보다 60% 증가했습니다. "무슨 일이지?" 조사를 시작합니다.

원인 1: 3개월 전 테스트로 만든 RDS 인스턴스가 아직 실행 중이었습니다. 아무도 접속하지 않는 데이터베이스에 매달 $150가 청구되었습니다.
원인 2: 개발 서버 3대가 주말과 야간에도 24시간 실행 중이었습니다. 실제로 사용하는 시간은 하루 8시간뿐인데 나머지 16시간도 과금됩니다. 월 $600의 낭비.
원인 3: 프로덕션 서버가 m5.xlarge(4 vCPU, 16GB RAM)인데, 평균 CPU 사용률이 12%입니다. t3.medium으로 충분한 워크로드에 4배 비싼 인스턴스를 사용하고 있었습니다.
이 모든 것을 합치면 월 $1,000 이상의 불필요한 비용입니다. 연간으로 계산하면 $12,000. 이 돈이면 풀타임 개발자의 2개월 급여에 해당합니다.
FinOps(Finance + DevOps)는 클라우드 비용을 엔지니어링 관점에서 최적화하는 분야입니다. "비용을 줄이자"가 아니라 "지출 대비 가치를 극대화하자"가 핵심입니다.
이 실습에서는 AWS의 비용 관리 도구들을 활용하여 다음을 직접 경험합니다:
- Cost Explorer로 비용 트렌드를 분석하고 이상 지출을 발견
- Budgets로 예산 알림을 설정하여 초과 지출을 사전 방지
- Trusted Advisor의 비용 최적화 추천을 분석하고 절감 기회 파악
- Compute Optimizer로 Right-Sizing 분석 수행
- Savings Plan 시뮬레이션으로 장기 약정 효과 비교
실습을 시작하기 전에 AWS 콘솔에 로그인되어 있는지 확인하세요. 비용 관련 서비스는 글로벌 서비스이므로 리전 선택이 필요 없습니다.
아키텍처 개요

비용 최적화 흐름
비용 절감 시뮬레이터
비용 계산기
시간
시간
시간
* 실제 비용은 AWS 요금 정책에 따라 달라질 수 있습니다.
Step 1: Cost Explorer 비용 트렌드 분석
Cost Explorer는 AWS 비용의 "현미경"입니다. 서비스별, 리전별, 태그별, 인스턴스 유형별로 비용을 필터링하고 시각화할 수 있습니다. 지난 12개월의 데이터를 분석하여 트렌드를 파악하고, 비정상적인 비용 증가(Cost Anomaly)를 발견하는 데 활용합니다.
비용 분석의 첫 단계는 "어디에 돈이 가장 많이 쓰이는가"를 파악하는 것입니다. 대부분의 경우 EC2, RDS, S3가 상위 3개 서비스를 차지합니다. 서비스별 비용 추이를 확인하여 급증한 항목이 없는지 점검합니다.
- AWS 콘솔 → Billing → Cost Explorer 클릭
- Cost Explorer가 비활성화된 경우 Cost Explorer 활성화 클릭 (데이터 수집에 최대 24시간 소요)
- 날짜 범위: 최근 3개월 선택
- 그룹 기준: 서비스 선택하여 서비스별 비용 확인
- 필터: EC2, S3, RDS 등 주요 서비스별 필터링
- 일별/월별 세분화로 비용 패턴 파악
- 보고서 저장:
monthly-cost-report이름으로 저장
# 월별 비용 조회
aws ce get-cost-and-usage \
--time-period Start=2026-01-01,End=2026-04-01 \
--granularity MONTHLY \
--metrics "BlendedCost" \
--group-by Type=DIMENSION,Key=SERVICE
# 서비스별 비용 상위 5개 확인
aws ce get-cost-and-usage \
--time-period Start=2026-03-01,End=2026-04-01 \
--granularity MONTHLY \
--metrics "BlendedCost" \
--group-by Type=DIMENSION,Key=SERVICE \
--query 'ResultsByTime[0].Groups | sort_by(@, &Metrics.BlendedCost.Amount) | [-5:]'Cost Explorer는 활성화 후 약 24시간 뒤부터 데이터가 표시됩니다. 새 계정이라면 며칠간 사용 후 다시 확인하세요.
Step 2: Budgets 예산 생성 및 알림 설정
Budgets는 "지출의 경보 시스템"입니다. 예산을 설정하고, 실제 비용이 임계값에 도달하면 즉시 알림을 보냅니다. 중요한 것은 예측(Forecasted) 알림도 설정하는 것입니다. 실제 비용이 아직 예산 이내이지만, 현재 추세라면 월말에 예산을 초과할 것으로 예측되면 미리 경고합니다.
두 가지 임계값을 설정하는 것을 권장합니다. 실제 비용 80% 알림은 "지금 지출이 많아지고 있으니 확인하세요"라는 의미이고, 예측 비용 100% 알림은 "이 추세면 이번 달 예산을 초과합니다"라는 조기 경고입니다.
- 1AWS 콘솔 → Billing → Budgets → 예산 생성 클릭
- 2예산 유형: 비용 예산 선택
- 3예산 이름: lab-monthly-budget
- 4예산 금액: $10 (월별)
- 5알림 임계값 1: 실제 비용 80% 도달 시 이메일 알림
- 6알림 임계값 2: 예측 비용 100% 초과 시 이메일 알림
- 7이메일 수신자 입력 → 예산 생성 클릭
AWS 프리 티어 사용자라면 Budgets에서 프리 티어 사용량 추적 예산도 함께 설정하세요. 프리 티어 한도 초과 전에 미리 알림을 받을 수 있습니다.
비용 최적화 체크리스트
Cost Explorer로 분석한 데이터를 바탕으로 아래 체크리스트를 순서대로 확인합니다. 대부분의 AWS 비용 낭비는 이 체크리스트로 발견할 수 있습니다.
- 1유휴 리소스 정리: 실행 중이지만 사용되지 않는 EC2, RDS, Redshift 인스턴스 확인
- 2미사용 리소스 삭제: 연결되지 않은 EBS 볼륨, 미사용 Elastic IP, 빈 로드 밸런서 확인
- 3Right-Sizing: 과다 프로비저닝된 인스턴스의 적절한 크기 변경
- 4스토리지 최적화: S3 Lifecycle 정책으로 오래된 데이터를 Glacier로 이동
- 5네트워크 비용: 불필요한 NAT Gateway, 리전 간 데이터 전송 확인
- 6약정 할인: 안정적 워크로드에 Reserved Instance 또는 Savings Plan 적용
- 7개발 환경 스케줄링: 업무 시간 외 개발/테스트 서버 자동 중지
Step 3: Trusted Advisor 추천 분석
Trusted Advisor는 AWS 환경을 자동으로 스캔하여 비용 최적화, 보안, 성능, 내결함성, 서비스 한도 등 5가지 카테고리에서 개선 추천을 제공합니다. 비용 최적화 카테고리에서는 "돈을 낭비하고 있는 곳"을 구체적으로 알려줍니다.
주요 체크 항목은 유휴 EC2 인스턴스(CPU 10% 미만), 유휴 RDS 인스턴스(연결 0개), 사용되지 않는 EBS 볼륨, 할당되었지만 연결되지 않은 Elastic IP입니다. 각 항목에는 예상 월간 절감액이 표시되므로, 절감 효과가 큰 것부터 우선 조치합니다.
- AWS 콘솔 → Trusted Advisor → 대시보드 확인
- 비용 최적화 카테고리 클릭
- 유휴 EC2 인스턴스 확인 (CPU 사용률 10% 미만)
- 유휴 RDS 인스턴스 확인 (연결 0개)
- 사용되지 않는 EBS 볼륨 확인
- 사용되지 않는 Elastic IP 확인
- 각 추천 항목의 예상 절감액 확인
# Trusted Advisor 비용 최적화 검사 결과 조회
aws support describe-trusted-advisor-checks \
--language ko \
--query 'checks[?category==`cost_optimizing`].{id:id,name:name}'
# 검사 결과 확인 (검사 ID 필요)
aws support describe-trusted-advisor-check-result \
--check-id Qch7DwouX1 \
--query 'result.flaggedResources'Step 4: Right-Sizing 분석
Right-Sizing은 "적절한 크기의 인스턴스를 사용하고 있는가?"를 분석하는 것입니다. 많은 조직이 "혹시 부족하면 어쩌지"라는 걱정에 필요 이상으로 큰 인스턴스를 사용합니다. Compute Optimizer는 CloudWatch 메트릭 데이터(최소 14일)를 분석하여 최적의 인스턴스 유형을 추천합니다.
과다 프로비저닝된 인스턴스를 적절한 크기로 변경하는 것만으로도 30~50%의 비용 절감이 가능한 경우가 많습니다. 반대로 과소 프로비저닝된 인스턴스를 발견하면 성능 문제를 사전에 해결할 수도 있습니다.
- 1AWS 콘솔 → Compute Optimizer → 대시보드 확인
- 2EC2 인스턴스 → 과다 프로비저닝 필터 적용
- 3추천 인스턴스 유형과 예상 절감액 비교
- 4CPU/메모리 사용률 그래프로 실제 사용 패턴 확인
- 5추천 적용 시 월간 절감액 계산
본인의 말로 설명해 보세요
온디맨드, 예약 인스턴스, Savings Plan, 스팟 인스턴스의 차이를 설명해보세요.
💡 온디맨드: 약정 없이 쓴 만큼 과금. 예약 인스턴스: 1~3년 약정, 특정 인스턴스 유형 고정, 최대 72% 할인. Savings Plan: 시간당 사용량 약정, 더 유연. 스팟: 여유 용량 사용, 최대 90% 할인, 중단 가능...
Step 5: Savings Plan 시뮬레이션
Savings Plan은 예약 인스턴스(RI)의 진화된 형태입니다. RI는 특정 인스턴스 유형, 리전에 고정되지만, Savings Plan(특히 Compute Savings Plan)은 EC2, Fargate, Lambda 등 다양한 컴퓨팅 서비스에 걸쳐 적용됩니다.
결제 옵션에 따라 할인율이 달라집니다. 전체 선결제가 가장 높은 할인을 제공하지만, 초기 자금이 필요합니다. 선결제 없음은 할인율이 낮지만 초기 비용이 없습니다. 대부분의 기업은 부분 선결제를 선택하여 할인율과 현금 흐름의 균형을 맞춥니다.
- AWS 콘솔 → Cost Explorer → Savings Plans → 추천 클릭
- 기간: 1년 선택
- 결제 옵션: 전체 선결제 / 부분 선결제 / 선결제 없음 비교
- 예상 월별 절감액 확인
- 적용 대상 서비스 범위 확인 (EC2, Fargate, Lambda)
- 온디맨드 대비 절감률 비교 분석
# Savings Plans 추천 조회
aws ce get-savings-plans-purchase-recommendation \
--savings-plans-type COMPUTE_SP \
--term-in-years ONE_YEAR \
--payment-option NO_UPFRONT \
--lookback-period-in-days SIXTY_DAYS
# 현재 Savings Plans 사용률 확인
aws ce get-savings-plans-utilization \
--time-period Start=2026-03-01,End=2026-04-01트러블슈팅 가이드
Cost Explorer에 데이터가 표시되지 않는 경우
- Cost Explorer를 처음 활성화한 경우 최대 24시간이 소요됩니다.
- 프리 티어만 사용 중이라면 비용이 $0이므로 그래프가 비어 보일 수 있습니다. 필터를 "사용량"으로 변경해보세요.
- 새로 생성된 AWS 계정(24시간 이내)은 데이터가 아직 수집되지 않았을 수 있습니다.
Trusted Advisor 검사 항목이 회색(사용 불가)으로 표시되는 경우
- 일부 Trusted Advisor 검사는 Business 또는 Enterprise Support Plan에서만 사용 가능합니다.
- Basic/Developer Plan에서는 비용 최적화 카테고리의 일부 검사만 무료로 제공됩니다.
- Compute Optimizer는 별도 서비스이므로 모든 플랜에서 무료로 사용 가능합니다.
Compute Optimizer에서 "데이터 부족" 메시지가 표시되는 경우
- Compute Optimizer는 최소 14일간의 CloudWatch 메트릭 데이터가 필요합니다.
- EC2 인스턴스에 CloudWatch Agent가 설치되어 메모리 사용률도 수집하면 더 정확한 추천이 가능합니다.
- 새로 생성된 인스턴스는 충분한 데이터가 쌓인 후 다시 확인하세요.
핵심 개념 확인
완성 후 테스트 가이드
- 1Cost Explorer 보고서 확인: 서비스별 비용 보고서가 정상적으로 저장되고 조회되는지 확인합니다.
- 2Budget 알림 테스트: Budget 임계값을 현재 실제 비용보다 낮게 설정하여 알림 이메일이 도착하는지 확인합니다. 확인 후 원래 값으로 복원합니다.
- 3Trusted Advisor 추천 검토: 비용 최적화 카테고리의 모든 항목을 확인하고, 각 추천의 예상 절감액을 기록합니다.
- 4Right-Sizing 계획 수립: Compute Optimizer의 추천을 기반으로, 변경 대상 인스턴스와 예상 절감액을 표로 정리합니다.
- 5Savings Plan 시뮬레이션 비교: 1년 전체 선결제 vs 부분 선결제 vs 선결제 없음의 총 비용을 비교하여 최적의 옵션을 선택합니다.
본인의 말로 설명해 보세요
친구가 AWS 비용이 너무 많이 나온다고 도움을 요청했습니다. 어떤 순서로 분석하고 최적화하겠습니까?
💡 1) Cost Explorer로 어디에 돈이 쓰이는지 파악 2) Trusted Advisor로 낭비 포인트 발견 3) 유휴 리소스 정리 4) Right-Sizing 5) 안정적 워크로드에 Savings Plan 적용...
실무에서 자주 묻는 질문
Q: Reserved Instance와 Savings Plan 중 무엇을 선택해야 하나요?
Savings Plan을 먼저 검토하세요. 특히 Compute Savings Plan은 EC2뿐 아니라 Fargate, Lambda에도 적용되어 유연성이 높습니다. RI는 특정 인스턴스 유형/리전에 고정되므로, 인프라 변경 시 활용률이 떨어질 수 있습니다. 단, 특정 인스턴스 유형을 장기간 사용할 것이 확실하다면 RI(특히 3년 전체 선결제)가 할인율이 더 높습니다.
Q: 태그(Tag)가 비용 최적화에 왜 중요한가요?
태그가 없으면 "이 비용이 어느 팀/프로젝트에서 발생한 것인지" 추적할 수 없습니다. Team, Project, Environment(dev/staging/prod), Owner 태그를 모든 리소스에 의무적으로 부여하면, Cost Explorer에서 팀별/프로젝트별 비용을 정확히 분석할 수 있습니다. AWS Organizations의 태그 정책을 사용하면 태그 형식을 강제할 수 있습니다.
Q: 프리 티어 한도를 초과하지 않으려면 어떻게 해야 하나요?
Budgets에서 프리 티어 사용량 추적 예산을 생성하세요. 프리 티어 한도의 80%에 도달하면 알림을 받을 수 있습니다. 또한, EC2 t2.micro의 월 750시간 한도는 인스턴스 수에 관계없이 합산이므로, 2개 인스턴스를 동시에 실행하면 375시간(약 15일)만에 한도에 도달합니다.
확장 아이디어
- Cost Anomaly Detection 설정: Cost Explorer의 이상 탐지 기능을 활성화하여, 비정상적인 비용 증가를 자동으로 감지하고 알림을 받습니다.
- 태그 기반 비용 할당: 팀별, 프로젝트별, 환경별(dev/staging/prod) 태그를 부여하고, Cost Explorer에서 태그 기반 비용 분석을 수행합니다.
- Budgets Actions 자동화: Budget 초과 시 자동으로 EC2 인스턴스를 중지하거나, IAM 정책을 적용하여 새 리소스 생성을 차단하는 자동 조치를 설정합니다.
- CUR (Cost and Usage Report) 분석: S3에 상세 비용 보고서를 출력하고, Athena로 SQL 쿼리를 실행하여 더 깊은 비용 분석을 수행합니다.
- 스팟 인스턴스 전환: 개발/테스트 환경을 스팟 인스턴스로 전환하고, 스팟 중단 이벤트에 대응하는 자동화를 구현합니다.
비용 최적화 우선순위 매트릭스
비용 최적화 조치는 "절감 효과"와 "실행 난이도"를 기준으로 우선순위를 정합니다.
| 조치 | 절감 효과 | 난이도 | 우선순위 |
|---|---|---|---|
| 유휴 리소스 삭제 | 높음 | 쉬움 | 1순위 |
| 개발 환경 스케줄링 | 중간 | 쉬움 | 2순위 |
| Right-Sizing | 중간~높음 | 중간 | 3순위 |
| S3 Lifecycle 정책 | 낮음~중간 | 쉬움 | 4순위 |
| Savings Plan 구매 | 높음 | 중간 | 5순위 |
| 아키텍처 전환(서버리스) | 매우 높음 | 어려움 | 6순위 |
학습 정리
핵심 치트시트
리소스 정리
비용 관리 서비스 자체는 대부분 무료이므로 별도의 삭제가 필요하지 않습니다. 다만 아래 항목은 확인하세요.
- 생성한 Budget 삭제 (불필요한 알림 방지)
- Cost Explorer 저장된 보고서 삭제 (선택)
- 실습 중 발견한 유휴 리소스가 있다면 정리 (EC2, EBS, EIP 등)