비용 최적화

비용 사용량을 파악하고 EC2·S3 자원을 조정한 뒤 예산 알림으로 관리하는 흐름

비용 최적화는 단가를 낮추는 것만으로 끝나지 않는다. 중단 가능한 작업에 Spot을 쓸 수 있는지, 사용량을 약정할 수 있는지, 드물게 읽는 데이터의 검색 비용이 저장 비용 절감보다 큰지 함께 봐야 한다. 이 글은 비용 가시화부터 구매 옵션과 저장·전송 비용 조정까지 연결한다.


1. EC2 구매 옵션

온디맨드 (On-Demand)

사용한 시간만큼 초 단위 과금 (Linux), 시간 단위 (Windows)
약정 없음, 언제든 시작·중지
  • 사용 시나리오: 단기 워크로드, 예측 불가한 트래픽, 개발·테스트

예약 인스턴스 (Reserved Instances, RI)

1년 또는 3년 약정 → 온디맨드 대비 최대 72% 할인

결제 방식:
  전액 선결제 (All Upfront)    → 최대 할인
  부분 선결제 (Partial Upfront) → 중간 할인
  선결제 없음 (No Upfront)     → 최소 할인

RI 유형

유형 특성
Standard RI 인스턴스 패밀리·리전 고정, 최대 할인
Convertible RI 인스턴스 패밀리 변경 가능, 할인율 낮음
Scheduled RI 특정 시간대만 실행 (현재 사용 중단)

RI 범위

  • 리전 RI: 리전 내 어느 AZ든 적용, AZ 간 유연
  • AZ RI: 특정 AZ 고정, 용량 예약 보장

RI 마켓플레이스

  • 불필요한 RI를 다른 AWS 고객에게 판매 가능
  • Standard RI만 판매 가능 (Convertible RI 판매 불가)

Savings Plans

예약 인스턴스보다 유연한 약정 할인. 시간당 사용 금액을 약정한다.

약정: 시간당 $10 사용 → 1년 또는 3년
  → 약정 금액까지는 할인 요금
  → 초과분은 온디맨드 요금

유형 비교

유형 적용 범위 할인율
Compute Savings Plans EC2 전체 + Lambda + Fargate (인스턴스 패밀리·리전 무관) 최대 66%
EC2 Instance Savings Plans 특정 인스턴스 패밀리·리전 고정 최대 72%
SageMaker Savings Plans SageMaker 전용 최대 64%

RI vs Savings Plans 비교

항목 예약 인스턴스 Savings Plans
약정 방식 인스턴스 속성 시간당 사용 금액
유연성 낮음 높음
Lambda·Fargate 적용 불가 Compute SP만 가능
마켓플레이스 판매 가능 (Standard) 불가

SAP 핵심: 유연하게 인스턴스 변경하면서 할인 = Compute Savings Plans / 최대 할인 고정 워크로드 = EC2 Instance SP or Standard RI

스팟 인스턴스 (Spot)

AWS 유휴 EC2 용량을 경매 방식으로 저렴하게 구매
온디맨드 대비 최대 90% 저렴

단점: AWS가 용량 필요 시 2분 전 알림 후 중단

사용 가능 워크로드 (중단 허용)

  • 빅데이터 분석 (EMR)
  • 배치 처리
  • CI/CD 빌드
  • 머신러닝 학습
  • 스테이트리스 웹 서버 (Auto Scaling과 조합)

스팟 중단 대응

스팟 중단 알림 (2분 전)
  → EC2 인스턴스 메타데이터에서 감지
    → 진행 중인 작업 체크포인트 저장
    → Auto Scaling → 온디맨드로 교체

스팟 플릿 (Spot Fleet)

여러 인스턴스 유형·AZ 조합 → 목표 용량 유지
할당 전략:
  lowestPrice  — 최저 가격 우선
  diversified  — 여러 풀에 분산 (중단 위험 분산)
  capacityOptimized — 용량 여유 있는 풀 우선

온디맨드 용량 예약 (On-Demand Capacity Reservation)

특정 AZ에 EC2 용량을 미리 예약 (사용 여부 무관 과금)
RI나 Savings Plans와 결합해 할인 적용 가능

사용 시나리오: 재해 복구, 규정 준수, 중요 이벤트 대비

구매 옵션 선택 기준 요약

워크로드 특성 구매 옵션
예측 가능, 1~3년 지속 예약 인스턴스 or Savings Plans
인스턴스 유형 변경 가능성 있음 Convertible RI or Compute Savings Plans
중단 허용, 비용 최소화 스팟 인스턴스
단기·불규칙 온디맨드
용량 보장 필요 온디맨드 용량 예약
혼합 (기본 + 버스트) RI/SP(기본) + 스팟(버스트)

2. S3 스토리지 클래스 비용 최적화

스토리지 클래스 비교

클래스 가용성 최소 보존 사용 시나리오
S3 Standard 99.99% 없음 자주 접근하는 데이터
S3 Intelligent-Tiering 99.9% 없음 접근 패턴 불규칙
S3 Standard-IA 99.9% 30일 가끔 접근, 빠른 복원 필요
S3 One Zone-IA 99.5% 30일 재생성 가능한 데이터
S3 Glacier Instant 99.9% 90일 분기 1회 접근, 즉시 복원
S3 Glacier Flexible 99.99% 90일 연 1회 접근, 수 시간 복원
S3 Glacier Deep Archive 99.99% 180일 7~10년 장기 보존

비용 구조 핵심

Standard → 저장 비용 높음, 조회 비용 낮음
Glacier  → 저장 비용 낮음, 조회 비용 높음 + 조회 시간 있음

S3 Intelligent-Tiering

접근 패턴을 자동 모니터링
  → 30일 미접근 → Infrequent Access 계층으로 자동 이동 (40% 저렴)
  → 90일 미접근 → Archive Instant Access (68% 저렴)
  → 180일 미접근 → Archive Access (95% 저렴)
  → 접근 시 → 자동으로 Frequent Access 복귀

모니터링 비용: 오브젝트 1,000개당 소액
128KB 미만 오브젝트는 자동 이동 안 함 (Standard 유지)

S3 수명 주기 정책

규칙 예시:
  생성 후 30일 → Standard-IA로 전환
  생성 후 90일 → Glacier Flexible으로 전환
  생성 후 365일 → Glacier Deep Archive로 전환
  생성 후 2555일 (7년) → 삭제

SAP 핵심: 접근 패턴 예측 불가 = Intelligent-Tiering / 패턴 명확, 비용 최소화 = 수명 주기 정책


3. 데이터 전송 비용 최적화

비용 발생 구조

무료:
  인터넷 → AWS (인바운드)
  같은 AZ 내 EC2 간 (프라이빗 IP)
  CloudFront → 인터넷

비용 발생:
  AWS → 인터넷 (아웃바운드): GB당 과금
  리전 간 데이터 전송: GB당 과금
  다른 AZ 간 전송: GB당 과금 (같은 리전)

비용 절감 방법

CloudFront 활용

S3 → 직접 인터넷 배포: 아웃바운드 비용 발생
S3 → CloudFront → 인터넷: 아웃바운드 무료 (CloudFront → 사용자)
  + 캐싱으로 오리진 요청 감소
  + 전 세계 엣지에서 빠른 응답

같은 AZ 사용

EC2 (AZ-a) → EC2 (AZ-b): 비용 발생
EC2 (AZ-a) → EC2 (AZ-a): 무료 (프라이빗 IP 사용 시)
→ 데이터 집약적 서비스는 같은 AZ 배치 고려

VPC Endpoint 활용

EC2 → NAT Gateway → 인터넷 → S3: NAT + 아웃바운드 비용
EC2 → S3 Gateway Endpoint → S3: 무료 (VPC 내부 경로)

Direct Connect

대용량 데이터 정기 전송:
  인터넷 아웃바운드: GB당 $0.09 (리전별 상이)
  Direct Connect:   GB당 $0.02 (인터넷의 1/4 수준)

4. 비용 관리 도구

AWS Cost Explorer

과거 비용 분석 (최대 13개월)
  → 서비스별, 리전별, 태그별 비용 분석
  → 비용 이상 탐지
  → 예약 인스턴스 / Savings Plans 추천
  → 미래 12개월 비용 예측

RI/SP 추천 기능

  • 과거 사용 패턴 분석 → 최적 RI/SP 추천
  • 예상 절감액 자동 계산

AWS Budgets

예산 설정 → 임계값 도달 시 알림

유형:
  비용 예산:   월 $1,000 초과 시 SNS 알림
  사용량 예산: EC2 시간 500시간 초과 시 알림
  RI 활용률:   RI 활용률 80% 미만 시 알림
  SP 활용률:   Savings Plans 활용률 80% 미만 시 알림

액션:
  예산 초과 시 자동으로 IAM 정책 적용 → EC2 생성 차단
  SNS → Lambda → 리소스 자동 중지

AWS Cost Anomaly Detection

머신러닝으로 비용 이상 자동 탐지
  → 예상치 못한 비용 급증 알림
  → 원인 서비스·리전·태그 자동 식별
  → SNS or 이메일 알림

AWS Trusted Advisor

AWS 환경을 자동으로 검사해 개선 권고를 제공한다.

5가지 검사 카테고리

카테고리 예시
비용 최적화 사용하지 않는 RI, 낮은 활용률 EC2, 아이들 로드 밸런서
성능 CloudFront 미사용, 고활용률 EC2
보안 MFA 미설정, 공개 S3 버킷, 루트 계정 사용
내결함성 Multi-AZ 미사용, 스냅샷 없는 EBS
서비스 한도 한도 80% 초과 리소스

지원 플랜별 접근

  • Basic / Developer: 기본 7개 검사
  • Business / Enterprise: 전체 검사 + API 접근

AWS Compute Optimizer

EC2, Auto Scaling, Lambda, EBS의 사용률 분석
  → 최적 인스턴스 유형·크기 추천
  → 과도하게 프로비저닝된 리소스 식별
  → 비용 절감 예상액 제시

예시:
  현재: m5.4xlarge (CPU 평균 8% 사용)
  추천: m5.large (비용 75% 절감)

5. 태그 기반 비용 배분

비용 배분 태그

리소스에 태그 부착:
  Environment: Production
  Team: Backend
  Project: UserService

Cost Explorer → 태그별 비용 분석
  → 팀별, 프로젝트별, 환경별 비용 파악
  → 부서 간 비용 배분 (Chargeback)

AWS Organizations + 태그 정책

Organizations 태그 정책
  → 모든 계정에 필수 태그 강제
  → 태그 없는 리소스 생성 차단 (SCP 활용)

6. 비용 최적화 패턴

패턴 1: 혼합 구매 전략

기본 워크로드 (항상 실행):
  → 1년 Savings Plans or 예약 인스턴스
    → 온디맨드 대비 40~60% 절감

피크 트래픽 대응:
  → 스팟 인스턴스 (Auto Scaling 혼합 정책)
    → 온디맨드 대비 70~90% 절감

결과: 전체 비용 50~70% 절감

패턴 2: 개발 환경 비용 절감

EventBridge 스케줄 (평일 오전 8시)
  → Lambda → EC2 개발 인스턴스 시작

EventBridge 스케줄 (평일 오후 7시)
  → Lambda → EC2 개발 인스턴스 중지

결과: 개발 인스턴스 비용 70% 절감 (하루 11시간만 실행)

패턴 3: S3 비용 최적화

신규 오브젝트 → S3 Standard
  → 30일 후 → S3 Standard-IA (자동)
  → 90일 후 → S3 Glacier Flexible (자동)
  → 7년 후  → 삭제 (자동)

접근 패턴 불규칙한 버킷:
  → S3 Intelligent-Tiering (자동 계층 이동)

패턴 4: 데이터 전송 비용 최적화

S3 정적 콘텐츠 배포:
  S3 → CloudFront → 사용자 (아웃바운드 절감)

내부 AWS 서비스 통신:
  EC2 → VPC Endpoint → S3/DynamoDB (NAT 비용 제거)

대용량 데이터 센터 → AWS:
  Direct Connect (인터넷 대비 1/4 비용)

패턴 5: 비용 이상 자동 대응

Cost Anomaly Detection
  → 비용 이상 탐지 (예: 어제 대비 300% 증가)
    → SNS 알림
      → Lambda
        → Budgets 액션: IAM 정책 적용 (추가 EC2 생성 차단)
        → Slack 알림 (운영팀)

7. 핵심 암기 포인트

키워드 선택
1~3년 고정 워크로드 최대 할인 Standard RI (전액 선결제)
인스턴스 유형 변경 가능성, 할인 Convertible RI or Compute Savings Plans
EC2 + Lambda + Fargate 통합 할인 Compute Savings Plans
중단 허용 배치·빅데이터 최저 비용 스팟 인스턴스
접근 패턴 불규칙한 S3 Intelligent-Tiering
S3 장기 보존 최저 비용 Glacier Deep Archive
S3 → 인터넷 아웃바운드 절감 CloudFront
EC2 → S3 전송 비용 제거 S3 Gateway Endpoint
대용량 온프레미스 → AWS 전송 비용 절감 Direct Connect
과거 비용 분석·RI 추천 Cost Explorer
예산 초과 시 알림·자동 조치 AWS Budgets
비용 급증 자동 탐지 Cost Anomaly Detection
과도 프로비저닝 EC2 감지 Compute Optimizer
사용하지 않는 RI·낮은 활용률 감지 Trusted Advisor
팀·프로젝트별 비용 분리 비용 배분 태그 + Cost Explorer

핵심 내용을 다시 정리하면

  • EC2 구매 옵션: 온디맨드(단기) → Savings Plans/RI(장기) → 스팟(중단 허용), 혼합 전략으로 최적화
  • S3: 접근 빈도에 따라 Standard → IA → Glacier 계층 이동, 불규칙 패턴은 Intelligent-Tiering
  • 데이터 전송: CloudFront(아웃바운드), VPC Endpoint(내부), Direct Connect(대용량)로 절감
  • 비용 관리 도구: Cost Explorer(분석), Budgets(예산·알림), Anomaly Detection(이상 탐지), Trusted Advisor(권고), Compute Optimizer(우측 사이징)
  • 태그: 팀·프로젝트별 비용 배분의 기초

이어 읽기: 17. Organizations와 멀티 계정 거버넌스