/인프라/Cloud Cost Optimization Strategies: 10 Practical Savings Techniques
Infrastructure클라우드비용FinOps

Cloud Cost Optimization Strategies: 10 Practical Savings Techniques

Flexera research finds that enterprises waste an average of 32% of cloud spend. At ₩10 million per month, that can mean ₩3 million going to waste.

Cloud Cost Optimization Strategies: 10 Practical Savings Techniques

The Reality of Cloud Waste

According to Flexera research, enterprises waste an average of 32% of their cloud spend. If you spend ₩10 million a month, ₩3 million of that may be waste.

Strategy 1: Clean Up Unused Resources

Bash
# 미사용 EBS 볼륨 찾기
aws ec2 describe-volumes \
  --filters Name=status,Values=available \
  --query 'Volumes[*].[VolumeId,Size]'

# 연결 안 된 탄력적 IP (연결 없으면 과금)
aws ec2 describe-addresses \
  --query 'Addresses[?AssociationId==null].[PublicIp]'

Strategy 2: Reserved Instances / Savings Plans

CODE
On-Demand m5.xlarge: $0.192/시간 = $140/월
1년 RI (선납): $0.095/시간 = $69/월 (51% 절감)
3년 RI (선납): $0.060/시간 = $44/월 (69% 절감)

Strategy 3: Spot Instances (Up to 90% Savings)

YAML
# EKS Spot 인스턴스 노드 그룹
managedNodeGroups:
- name: spot-workers
  spot: true
  instanceTypes:
  - m5.xlarge
  - m5a.xlarge  # 여러 타입으로 가용성 향상
  - m4.xlarge

Strategy 4: Optimize Auto Scaling

YAML
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
spec:
  minReplicas: 2
  maxReplicas: 20
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        averageUtilization: 70
  behavior:
    scaleDown:
      stabilizationWindowSeconds: 300

Strategy 5: S3 Intelligent-Tiering

Bash
aws s3api put-bucket-intelligent-tiering-configuration \
  --bucket my-bucket \
  --id EntireBucket \
  --intelligent-tiering-configuration '{
    "Status": "Enabled",
    "Tierings": [
      {"Days": 90, "AccessTier": "ARCHIVE_ACCESS"},
      {"Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS"}
    ]
  }'

Strategy 6: Cut Data Transfer Costs

  • Place services in the same AZ (inter-AZ transfer is billed too!)
  • Use CloudFront to reduce origin traffic
  • Connect to S3 for free with VPC Gateway Endpoints

Strategy 7: Schedule Development Environments

Python
# 평일 밤 10시~오전 8시, 주말 전체 중지
def stop_dev_instances():
    ec2 = boto3.client('ec2')
    instances = ec2.describe_instances(
        Filters=[
            {'Name': 'tag:Environment', 'Values': ['dev', 'staging']},
            {'Name': 'instance-state-name', 'Values': ['running']}
        ]
    )
    ids = [i['InstanceId'] for r in instances['Reservations'] for i in r['Instances']]
    if ids:
        ec2.stop_instances(InstanceIds=ids)

Strategy 8: Right-Size Resource Requests with VPA

Bash
# Vertical Pod Autoscaler 적정 리소스 추천
kubectl describe vpa my-app-vpa
# 결과: cpu: 120m, memory: 180Mi
# (기존 500m/512Mi 대비 75% 절감)

Strategy 9: Cost Tagging

Bash
aws ce get-cost-and-usage \
  --time-period Start=2025-01-01,End=2025-01-31 \
  --granularity MONTHLY \
  --metrics BlendedCost \
  --group-by Type=TAG,Key=Service

Strategy 10: Cost Anomaly Alerts

Configure AWS Budgets to alert immediately when spend exceeds budget. Catch sudden bill shock before it hits.

Cloud cost optimization is not a one-off task. Make a monthly cost review part of your team's routine.

확인 정보
✦ ✦ ✦
편집 검토 · Editorial Review

Nodelog는 모든 콘텐츠의 내용과 출처를 공개 전에 검토합니다. 환경(OS·버전)에 따라 결과가 달라질 수 있는 기술 정보는 공식 문서와 함께 확인하며, 검토 기준과 정정 원칙은 편집 정책에서 안내합니다. 오류를 발견하시면 이메일로 제보해 주세요 — 확인 후 신속히 정정합니다.

편집 책임 · Nodelog 기술 편집팀·발행 · ·업데이트 ·

Comments

Be the first to comment.