포스트

AWS 비용 50% 절감한 방법 💰

AWS 비용 50% 절감한 방법 💰

배경

어느 날 AWS 청구서를 보니… 😱

1
예상 비용: $3,000/월 → 실제: $6,000/월

이대로는 안 되겠다 싶어 비용 최적화에 돌입했습니다.


🔍 비용 분석 먼저

AWS Cost Explorer 활용

1
2
3
1. AWS Console → Cost Explorer
2. 서비스별 비용 분석
3. 일별/주별 트렌드 확인

우리 경우 비용 Top 3:

  1. EC2 (45%) - 컴퓨팅
  2. RDS (25%) - 데이터베이스
  3. Data Transfer (15%) - 네트워크

💡 최적화 전략

1. EC2 Right-sizing

문제: 대부분의 인스턴스가 CPU 사용률 10% 미만

해결:

1
2
3
4
5
6
7
8
# AWS Compute Optimizer 활용
# 추천 인스턴스 타입 확인

# Before
m5.xlarge (4 vCPU, 16GB) - $140/월

# After  
t3.medium (2 vCPU, 4GB) - $30/월

절감: 인스턴스당 약 78% 절감

2. Reserved Instances & Savings Plans

1년 이상 사용할 인스턴스는 예약!

1
2
3
4
On-Demand: $100/월
1년 예약 (선결제 없음): $63/월  → 37% 절감
1년 예약 (전체 선결제): $55/월  → 45% 절감
3년 예약 (전체 선결제): $37/월  → 63% 절감

: Savings Plans가 더 유연해서 추천

3. Spot Instances 활용

배치 작업, 개발 환경에 적합

1
2
3
4
5
6
7
8
9
10
11
# EKS에서 Spot 노드 그룹 설정
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
  name: my-cluster
nodeGroups:
  - name: spot-workers
    instanceTypes: ["m5.large", "m5a.large", "m4.large"]
    spot: true
    minSize: 2
    maxSize: 10

절감: On-Demand 대비 최대 90% 절감

4. RDS 최적화

Multi-AZ가 정말 필요한가?

1
2
개발/스테이징: Single-AZ로 변경
프로덕션: Multi-AZ 유지 (가용성 중요)

Aurora Serverless v2 고려

1
2
트래픽 변동이 큰 경우 → Aurora Serverless
일정한 트래픽 → Provisioned

5. 스토리지 정리

S3 Lifecycle Policy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "Rules": [
    {
      "ID": "MoveToIA",
      "Status": "Enabled",
      "Transitions": [
        {
          "Days": 30,
          "StorageClass": "STANDARD_IA"
        },
        {
          "Days": 90,
          "StorageClass": "GLACIER"
        }
      ]
    }
  ]
}

EBS 스냅샷 정리

1
2
3
4
# 30일 이상 된 스냅샷 삭제
aws ec2 describe-snapshots --owner-ids self \
  --query 'Snapshots[?StartTime<=`2025-11-01`].SnapshotId' \
  --output text | xargs -n 1 aws ec2 delete-snapshot --snapshot-id

6. 네트워크 비용

NAT Gateway 비용 폭탄 주의!

1
2
3
4
5
6
NAT Gateway: $0.045/GB + $0.045/시간

대안:
- NAT Instance (t3.nano): 저렴하지만 관리 필요
- VPC Endpoint: S3, DynamoDB 등은 무료
- IPv6: NAT 불필요

VPC Endpoint 추가

1
2
3
4
aws ec2 create-vpc-endpoint \
  --vpc-id vpc-xxx \
  --service-name com.amazonaws.ap-northeast-2.s3 \
  --route-table-ids rtb-xxx

📊 결과

항목BeforeAfter절감률
EC2$2,700$1,20056%
RDS$1,500$80047%
Network$900$40056%
Storage$600$30050%
Total$6,000$2,90052%

🛠️ 자동화

AWS Budget 알림 설정

1
2
3
4
aws budgets create-budget \
  --account-id 123456789012 \
  --budget file://budget.json \
  --notifications-with-subscribers file://notifications.json

태그 기반 비용 추적

1
2
3
4
필수 태그:
- Environment: prod/staging/dev
- Team: backend/frontend/data
- Project: project-name

🎯 마무리

비용 최적화 체크리스트:

  • Cost Explorer로 현황 파악
  • Right-sizing (Compute Optimizer 활용)
  • Reserved Instances / Savings Plans 검토
  • 개발 환경 Spot 전환
  • S3 Lifecycle Policy 적용
  • 사용하지 않는 리소스 정리
  • Budget 알림 설정

클라우드 비용은 방심하면 순식간에 늘어납니다. 정기적인 모니터링이 핵심이에요! 💪

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.