새발블로그

[AWS SAA] 비용 최적화 본문

자격증/SAA

[AWS SAA] 비용 최적화

EUG 2026. 6. 22. 00:07

 

비용 최적화 핵심 개념

  • AWS 비용 최적화는 필요한 성능과 가용성을 유지하면서 불필요한 비용을 줄이는 것
  • 사용량이 일정한 워크로드는 약정 기반 할인 옵션을 고려
  • 중단 가능한 워크로드는 Spot Instance를 고려
  • 사용하지 않는 리소스는 중지하거나 삭제
  • 과도하게 큰 인스턴스, 볼륨, 데이터베이스는 실제 사용량에 맞게 조정
  • S3 데이터는 접근 패턴에 맞는 스토리지 클래스를 사용
  • NAT Gateway, 데이터 전송, 미완료 멀티파트 업로드처럼 눈에 잘 보이지 않는 비용도 확인 필요
  • 비용 분석은 Cost Explorer, 예산 알림은 AWS Budgets, 이상 지출 탐지는 Cost Anomaly Detection을 사용

EC2 구매 옵션 비교

옵션 특징 사용 시나리오
On-Demand 약정 없이 필요한 만큼 사용. 비용은 상대적으로 높음 단기 테스트, 예측 불가 워크로드, 갑작스러운 확장
Reserved Instance 1년 또는 3년 약정으로 비용 절감 상시 실행 워크로드, DB, 안정적인 사용량
Spot Instance AWS의 남는 용량을 저렴하게 사용. 중단 가능 배치, 시뮬레이션, CI/CD, 중단 감내 가능 워크로드
Dedicated Host 물리 서버 단위 전용 호스트 할당 BYOL, 라이선스 호환성, 규제 준수
Savings Plans 일정 사용량을 약정하고 비용 절감 장기적으로 안정적인 컴퓨팅 사용량
  • On-Demand는 약정이 없고 유연하지만 비용이 높음
  • Reserved Instance는 특정 인스턴스나 DB처럼 장기 상시 실행되는 워크로드에 적합
  • Spot Instance는 최대 90%까지 할인될 수 있지만 중단 가능성을 감수해야 함
  • Dedicated Host는 전용 호스트를 구매하는 것이 아니라, 물리 호스트 단위로 전용 용량을 할당받는 옵션
  • 라이선스 BYOL, 소켓/코어 단위 라이선스 관리, 강한 물리적 격리 요구사항이 있으면 Dedicated Host 고려
  • 장기적으로 항상 필요한 기본 용량은 Reserved Instance 또는 Savings Plans로 커버하고, 피크 부하는 On-Demand 또는 Spot Instance로 처리하는 조합이 비용 효율적
  • 중단을 감내할 수 있는 피크 부하, 배치, 분석 작업은 Spot Instance를 적극 고려
  • 중단되면 안 되는 핵심 서비스의 갑작스러운 피크 부하는 On-Demand가 더 적합할 수 있음

Savings Plans

핵심 개념

  • Savings Plans는 일정 사용량을 약정하고 할인받는 비용 절감 모델
  • 1년 또는 3년 약정을 선택할 수 있음
  • 시간당 일정 금액 사용을 약정하는 방식
  • 사용량 약정 범위 안에서 할인 적용
  • 사용량이 안정적으로 발생하는 컴퓨팅 워크로드에 적합
  • Reserved Instance보다 더 유연한 비용 절감 옵션으로 사용되는 경우가 많음

Savings Plans 유형

유형 특징
Compute Savings Plans EC2, Lambda, Fargate 사용량에 적용. 인스턴스 패밀리, 크기, AZ, 리전, OS 변경에 유연
EC2 Instance Savings Plans 특정 리전과 특정 EC2 인스턴스 패밀리에 적용. Compute Savings Plans보다 할인율이 높을 수 있음
Database Savings Plans 지원되는 AWS 데이터베이스 사용량에 적용
SageMaker AI Savings Plans SageMaker AI 워크로드에 적용
  • Compute Savings Plans는 EC2뿐 아니라 Lambda와 Fargate에도 적용 가능
  • EC2 Instance Savings Plans는 특정 리전과 인스턴스 패밀리에 묶이는 대신 더 높은 할인율을 제공할 수 있음
  • 사용 패턴이 안정적이면 Savings Plans를 고려
  • 인스턴스 패밀리나 리전을 자주 바꿀 가능성이 있으면 Compute Savings Plans가 더 유연
  • 특정 리전과 특정 EC2 패밀리를 장기간 사용할 것이 확실하면 EC2 Instance Savings Plans가 더 비용 효율적일 수 있음

Reserved Instance

  • Reserved Instance는 1년 또는 3년 약정 기반 할인 옵션
  • EC2, RDS, ElastiCache, OpenSearch Service, Redshift 등 일부 서비스에서 사용
  • 장기간 안정적으로 실행되는 워크로드에 적합
  • RDS처럼 항상 켜져 있는 데이터베이스 워크로드는 Reserved Instance를 고려할 수 있음
  • 사용량이 예측 가능하고 지속적일수록 약정 기반 할인이 유리
  • 반대로 사용량이 불규칙하거나 자주 변경되는 워크로드에는 On-Demand 또는 Savings Plans를 더 유연하게 검토

Spot Instance

  • Spot Instance는 AWS의 남는 EC2 용량을 저렴하게 사용하는 옵션
  • On-Demand 대비 큰 폭의 비용 절감 가능
  • 단, AWS가 용량을 회수해야 하면 2분 예고 후 중단될 수 있음
  • 중단 가능한 작업에 적합
  • 배치 작업, 데이터 분석, 렌더링, 시뮬레이션, CI/CD, 테스트 워크로드에 적합
  • 상태를 로컬에만 저장하면 중단 시 데이터가 유실될 수 있으므로 외부 저장소나 체크포인트 설계가 필요
  • Auto Scaling Group에서 On-Demand와 Spot을 혼합하여 사용할 수 있음
  • 핵심 기본 용량은 On-Demand 또는 Savings Plans로 유지하고, 추가 확장 용량을 Spot으로 구성하는 방식이 비용 효율적

S3 비용 최적화

스토리지 클래스 선택

접근 패턴 최적 클래스
자주 접근 S3 Standard
자주 접근하지 않지만 빠른 접근 필요 S3 Standard-IA
재생 가능하고 중요도가 낮은 비활성 데이터 S3 One Zone-IA
접근 패턴을 예측하기 어려움 S3 Intelligent-Tiering
아카이브지만 즉시 검색 필요 S3 Glacier Instant Retrieval
장기 보관, 수 분~수 시간 검색 허용 S3 Glacier Flexible Retrieval
거의 접근하지 않는 최장기 보관 S3 Glacier Deep Archive
  • S3 Standard는 자주 접근하는 데이터에 적합
  • Standard-IA는 자주 접근하지 않지만 필요 시 빠르게 검색해야 하는 데이터에 적합
  • One Zone-IA는 단일 AZ에 저장되므로 AZ 장애 시 데이터 손실 위험이 있음
  • 재생 가능한 데이터나 중요도가 낮은 데이터에 적합
  • Intelligent-Tiering은 접근 패턴을 예측하기 어려운 데이터에 적합
  • Glacier 계열은 장기 보관 비용을 줄일 수 있지만 검색 시간과 최소 보관 기간을 고려해야 함

Lifecycle 정책

  • Lifecycle 정책은 객체를 시간에 따라 더 저렴한 스토리지 클래스로 자동 이동하거나 삭제하는 기능
  • 예를 들어 30일 후 Standard-IA, 90일 후 Glacier Flexible Retrieval, 1년 후 Deep Archive로 이동 가능
  • 오래된 로그, 백업, 접근 빈도가 낮아지는 데이터의 비용 최적화에 적합
  • S3 Versioning을 사용하는 경우 이전 버전도 계속 저장되어 비용이 증가할 수 있음
  • Lifecycle 정책으로 이전 버전 만료 또는 이전 버전 스토리지 클래스 전환을 함께 고려

미완료 멀티파트 업로드 비용

  • S3 멀티파트 업로드가 완료되지 않고 남아 있으면 업로드된 파트에 대해 스토리지 비용이 발생할 수 있음
  • Lifecycle 정책으로 미완료 멀티파트 업로드를 일정 기간 후 자동 삭제할 수 있음
  • 대용량 파일 업로드가 많은 환경에서는 미완료 멀티파트 업로드 정리 규칙을 설정하는 것이 비용 절감에 도움
  • 완료되지 않은 멀티파트 업로드를 중단하면 업로드된 파트가 삭제되고 해당 파트에 대한 비용이 더 이상 발생하지 않음

NAT Gateway 비용 절감

  • NAT Gateway는 시간당 요금과 데이터 처리 요금이 발생
  • 프라이빗 서브넷의 리소스가 S3에 접근할 때 NAT Gateway를 거치면 NAT Gateway 데이터 처리 비용이 발생할 수 있음
  • S3 또는 DynamoDB 접근이 많다면 Gateway VPC Endpoint를 사용하여 NAT Gateway 비용을 줄일 수 있음
  • Gateway VPC Endpoint는 S3와 DynamoDB에 사용할 수 있음
  • Gateway Endpoint는 추가 요금이 없음
  • Interface Endpoint는 시간당 요금과 데이터 처리 요금이 발생
  • S3 접근만을 위해 NAT Gateway를 사용하고 있다면 S3 Gateway Endpoint를 우선 고려
  • SQS, SNS, Secrets Manager, CloudWatch Logs 같은 서비스는 Interface Endpoint를 사용해야 함

Compute Optimizer

  • Compute Optimizer는 AWS 리소스의 구성과 사용량 지표를 분석하여 최적화 권장 사항을 제공하는 서비스
  • 과도하게 프로비저닝된 리소스나 부족하게 프로비저닝된 리소스를 찾는 데 도움
  • 비용 절감뿐 아니라 성능 개선 권장 사항도 제공
  • EC2 인스턴스, EC2 Auto Scaling 그룹, EBS 볼륨, Lambda 함수, ECS on Fargate, 일부 RDS/Aurora 리소스 등에 대한 권장 사항을 제공
  • Lambda는 메모리 크기 권장 사항을 제공
  • ECS on Fargate는 태스크와 컨테이너의 CPU/메모리 크기 권장 사항을 제공
  • NAT Gateway 같은 일부 리소스의 유휴 상태 권장도 확인할 수 있음
  • 실제 사용 패턴 기반으로 리소스 크기 조정, 인스턴스 타입 변경, 메모리 조정 등을 검토할 수 있음
  • Savings Plans나 Reserved Instance를 구매하기 전, 먼저 과도한 리소스를 줄이는 것이 좋음

Cost Explorer

  • Cost Explorer는 AWS 비용과 사용량을 분석하는 서비스
  • 서비스별, 계정별, 리전별, 태그별 비용 추이를 확인할 수 있음
  • 일별, 월별 비용 추이를 시각화할 수 있음
  • 과거 사용량 기반 비용 예측을 확인할 수 있음
  • Savings Plans와 Reserved Instance의 사용률과 커버리지를 분석할 수 있음
  • 비용이 증가한 서비스나 계정을 파악할 때 사용
  • 장기 비용 추세와 최적화 후보를 찾는 데 유용

AWS Budgets

  • AWS Budgets는 예산 한도와 사용량 기준으로 알림을 설정하는 서비스
  • 월별 비용, 사용량, RI/SP 사용률, RI/SP 커버리지 등에 대해 예산 설정 가능
  • 예산 초과 또는 초과 예상 시 이메일, SNS, AWS Chatbot 등으로 알림 가능
  • 예산 한도를 기준으로 관리해야 할 때 사용
  • 비용이 일정 금액을 넘으면 알림을 받고 싶을 때 적합
  • Budgets Actions를 사용하면 특정 IAM 정책 적용, SCP 적용, EC2/RDS 중지 같은 자동 조치를 구성할 수 있음
  • 단, 자동 조치는 신중하게 설계해야 함

Cost Anomaly Detection

  • Cost Anomaly Detection은 비정상적인 지출 패턴을 탐지하고 알림을 보내는 서비스
  • 과거 사용 패턴과 비교해 갑작스러운 비용 증가를 찾는 데 적합
  • AWS Budgets가 예산 한도 초과 알림이라면, Cost Anomaly Detection은 이상 지출 패턴 탐지에 초점
  • 특정 서비스, 계정, 비용 카테고리 단위로 이상 비용을 감지할 수 있음
  • 예상하지 못한 비용 급증을 빠르게 발견하는 데 유용

비용 할당 태그

  • 비용 할당 태그는 비용을 프로젝트, 팀, 서비스, 환경별로 나누어 분석할 때 사용
  • 리소스에 태그를 적용한 뒤 Cost Allocation Tags에서 활성화해야 비용 분석에 사용할 수 있음
  • 사용자 정의 태그는 리소스에 적용한 뒤 비용 할당 태그 페이지에 나타나기까지 최대 24시간이 걸릴 수 있음
  • 태그 키를 활성화한 뒤에도 비용 할당 태그로 반영되기까지 최대 24시간이 걸릴 수 있음
  • Cost Explorer에서 태그 기준으로 비용을 필터링하거나 그룹화할 수 있음
  • 태그가 모든 과거 비용에 소급 적용되는 것은 아님
  • 이미 태그를 지원하지 않는 일부 오래된 리소스나 서비스는 태그 기반 비용 분류가 제한될 수 있음
  • 비용 관리를 위해 Project, Owner, Environment, CostCenter 같은 표준 태그 체계를 정해두는 것이 좋음

DynamoDB 비용 최적화

  • DynamoDB TTL을 사용하면 만료 데이터가 자동 삭제되어 스토리지 비용을 줄일 수 있음
  • 트래픽이 예측 불가능하면 온디맨드 모드가 운영상 유리
  • 트래픽이 일정하고 예측 가능하면 프로비저닝 모드가 온디맨드보다 비용 효율적일 수 있음
  • 프로비저닝 모드에서는 Auto Scaling을 사용하여 읽기/쓰기 용량을 자동 조정 가능
  • 장기적으로 일정한 사용량이 있으면 예약 용량을 고려할 수 있음
  • 큰 객체는 DynamoDB에 직접 저장하기보다 S3에 저장하고 DynamoDB에는 S3 URL 또는 메타데이터를 저장하는 방식이 비용 효율적

Aurora / RDS 비용 최적화

  • 트래픽이 불규칙한 관계형 DB 워크로드는 Aurora Serverless를 고려
  • Aurora Serverless v2는 사용량에 따라 ACU 단위로 용량을 조정
  • 단, 최소 ACU 설정에 따라 트래픽이 없어도 비용이 발생할 수 있음
  • 상시 실행되는 RDS 인스턴스는 Reserved Instance를 고려
  • 읽기 부하가 높은 경우 무조건 인스턴스를 키우기보다 Read Replica, ElastiCache, 쿼리 튜닝을 함께 고려
  • 스토리지 자동 확장은 용량 부족 장애를 줄이는 데 유용하지만, 확장된 스토리지는 자동으로 줄어들지 않으므로 비용 증가에 주의
  • 사용하지 않는 개발/테스트 DB는 중지하거나 삭제 고려
  • RDS를 중지해도 스토리지 비용과 백업 비용은 계속 발생할 수 있음

Instance Scheduler

  • Instance Scheduler는 업무 시간에만 필요한 EC2와 RDS를 자동으로 시작하고 중지하여 비용을 줄이는 솔루션
  • 개발, 테스트, 교육 환경처럼 24시간 실행할 필요가 없는 리소스에 적합
  • 야간이나 주말에 사용하지 않는 인스턴스를 중지하면 컴퓨팅 비용을 절감할 수 있음
  • 단, 중지해도 EBS 볼륨, 스냅샷, RDS 스토리지 같은 저장 비용은 계속 발생할 수 있음

비용 절감 전략 요약

시나리오 최적 솔루션
상시 실행 구성요소 Reserved Instance 또는 Savings Plans
장기적으로 안정적인 컴퓨팅 사용량 Savings Plans
특정 EC2 패밀리 장기 사용 EC2 Instance Savings Plans
단기 또는 예측 불가 워크로드 On-Demand
중단 허용 워크로드 Spot Instance
서버리스 컴퓨팅 사용량 절감 Compute Savings Plans
오래된 S3 데이터 Lifecycle 정책으로 스토리지 클래스 전환
S3 Versioning으로 인한 이전 버전 비용 증가 Lifecycle 정책으로 이전 버전 만료
미완료 멀티파트 업로드 비용 Lifecycle 정책으로 자동 삭제
S3/DynamoDB 접근으로 인한 NAT Gateway 비용 Gateway VPC Endpoint
비용 한도 알림 AWS Budgets
이상 지출 감지 Cost Anomaly Detection
과도 프로비저닝 탐지 Compute Optimizer
비용 분석 Cost Explorer
프로젝트/팀별 비용 분리 Cost Allocation Tags
업무 시간만 실행 Instance Scheduler
DynamoDB 만료 데이터 삭제 DynamoDB TTL
트래픽 불규칙 관계형 DB Aurora Serverless

'자격증 > SAA' 카테고리의 다른 글

[AWS SAA] 배포 / 인프라 자동화  (0) 2026.06.23
[AWS SAA] 재해복구 / 마이그레이션  (0) 2026.06.23
[AWS SAA] 서버리스  (0) 2026.06.22
[AWS SAA] 애플리케이션 통합  (0) 2026.06.22
[AWS SAA] 모니터링 / 운영  (0) 2026.06.22