システム開発

クラウドコスト最適化の実践ガイド

2025-10-22
22分

クラウドコスト最適化の実践ガイド

適切なリソース管理とコスト最適化により、弊社のあるプロジェクトではAWS費用が月額180万円から68万円へ62%削減(年間1,344万円の削減)、無駄なリソースを83%削減、予算超過アラートにより計画外コスト増加をゼロにしました。

クラウドコストは放置すると雪だるま式に増加します。しかし、適切な監視と最適化施策により、パフォーマンスを維持しながら大幅なコスト削減が可能です。

なぜクラウドコストは増え続けるのか

クラウドコスト増大の3大原因:

1. リソースの放置

開発・テスト用に作成したリソースを削除し忘れ、課金され続ける。

  • • 停止中のEC2インスタンス(EBS課金は継続)
  • • 古いEBSスナップショット(数百GB〜数TB)
  • • 未使用のElastic IP(使用していない場合は課金)
  • • 削除し忘れたLoad Balancer

→ 典型例: 月5-15万円の無駄なコスト

2. オーバースペック

「とりあえず大きめ」で選んだインスタンスが、実際にはCPU使用率10%以下。

  • • t3.2xlarge($0.3328/h)を使用、実際はt3.medium($0.0416/h)で十分
  • • RDS db.m5.4xlarge を使用、実際は1/4のスペックで十分

→ 典型例: 月20-40万円の無駄なコスト

3. 最適化の不足

オンデマンドインスタンスのみを使用、リザーブドやSavings Plansを活用していない。

→ 典型例: 本来の費用の3倍を支払っている

施策1: 未使用リソースの徹底削除

1
停止中のEC2インスタンス

停止中でもEBS(ディスク)料金は課金され続けます。

実例:

500GB EBSを持つt3.largeインスタンス10台が停止状態で放置

→ $0.10/GB/月 × 500GB × 10台 = $500/月(約7万円)

対策:

# 停止中のインスタンスを検索
aws ec2 describe-instances \
  --filters "Name=instance-state-name,Values=stopped" \
  --query 'Reservations[].Instances[].[InstanceId,Tags[?Key==`Name`].Value|[0],LaunchTime]' \
  --output table

# 30日以上停止しているものは削除を検討
2
古いEBSスナップショット

バックアップ目的のスナップショットが無限に蓄積。

実例:

日次バックアップを2年間保存 → 730個のスナップショット × 100GB = 73TB

→ $0.05/GB/月 × 73,000GB = $3,650/月(約50万円)

対策: ライフサイクルポリシー設定

  • • 日次バックアップ: 7日間保持
  • • 週次バックアップ: 4週間保持
  • • 月次バックアップ: 3ヶ月保持
  • • 四半期バックアップ: 1年保持

→ 約90%削減: $365/月(約5万円)

3
未使用のElastic IP

EC2に割り当てられていないElastic IPは$0.005/時間(月約$3.6)課金。

確認コマンド:

aws ec2 describe-addresses \
  --query 'Addresses[?AssociationId==null].[PublicIp,AllocationId]' \
  --output table

施策2: リザーブドインスタンス / Savings Plans

24時間365日稼働するインスタンスは、オンデマンドではなくリザーブド購入で最大72%削減

プラン前払い割引率柔軟性
オンデマンドなし0%最高
RI(1年・前払いなし)なし約40%
RI(1年・全額前払い)全額約45%
RI(3年・全額前払い)全額約72%
Savings Plansなし〜全額約66-72%

実例: 月額コスト比較(t3.large × 5台)

  • • オンデマンド: $0.0832/時 × 24h × 30日 × 5台 = $299/月
  • • RI(3年全額前払い): $0.0233/時 × 24h × 30日 × 5台 = $84/月
  • 削減額: $215/月(年間$2,580)、削減率72%

推奨戦略:

  • • 本番環境の定常リソース: Savings Plans(柔軟性が高い)
  • • 確実に3年使うリソース: RI 3年全額前払い(最大割引)
  • • 開発・ステージング: オンデマンド(夜間・週末は停止)

施策3: Auto Scaling の適切な設定

トラフィックに応じて自動でスケールアップ/ダウン。夜間・週末は最小構成でコスト削減。

❌ 固定台数(常時5台)

  • • 平日昼間: 5台必要
  • • 夜間・週末: 1台で十分
  • • 無駄な稼働: 4台 × 16時間/日 × 30日 = 1,920時間/月

コスト: $299/月

✅ Auto Scaling

  • • 平日9-18時: 3-5台(負荷に応じて)
  • • 夜間・週末: 1台(最小構成)
  • • 実稼働: 約1,200時間/月

コスト: $120/月(60%削減)

Auto Scaling 設定例:

# 最小: 1台、希望: 2台、最大: 10台
MinSize: 1
DesiredCapacity: 2
MaxSize: 10

# スケールアウト: CPU 70%超で1台追加
# スケールイン: CPU 30%以下で1台削減

# スケジュールベース
# 平日9時: 希望台数を3台に
# 平日19時: 希望台数を1台に

施策4: S3 ストレージクラスの最適化

アクセス頻度に応じて適切なストレージクラスを選択することで、最大95%削減。

クラス料金推奨用途
Standard$0.023/GB頻繁にアクセス
Intelligent-Tiering$0.023-0.0125/GB自動最適化
Standard-IA$0.0125/GB月1回程度アクセス
Glacier Instant$0.004/GB四半期に1回
Glacier Flexible$0.0036/GB年1回程度
Glacier Deep Archive$0.00099/GB長期保存(7年以上)

実例: 10TB のログデータ

  • • Standard: $0.023/GB × 10,000GB = $230/月
  • • Glacier Deep Archive: $0.00099/GB × 10,000GB = $9.9/月
  • 削減額: $220/月(年間$2,640)、削減率95.7%

ライフサイクルポリシー設定例:

  • • 作成後30日: Standard → Standard-IA
  • • 作成後90日: Standard-IA → Glacier
  • • 作成後365日: Glacier → Deep Archive
  • • 作成後7年: 削除(法的要件に応じて)

施策5: Cost Explorer による定期監視

週次でコストレポートを確認し、急増があれば即座に調査。

監視すべき指標:

  • • 前月比: 10%以上の増加があればアラート
  • • サービス別コスト: EC2、RDS、S3、Data Transferの内訳
  • • タグ別コスト: プロジェクト・環境(prod/dev)ごとの集計
  • • 予算アラート: 月間予算の80%、100%、120%で通知

AWS Budgets 設定例:

# 月間予算: $1,000
# アラート:
# - $800(80%): Slack通知
# - $1,000(100%): Slackとメール通知
# - $1,200(120%): 緊急通知 + マネージャーへ報告

よくある失敗と対策

失敗1: Data Transfer コストを見落とす

リージョン間・AZ間のデータ転送で月数十万円発生。

対策: 同一AZ内で通信、CloudFront経由でキャッシュ、VPC Endpointを活用。

失敗2: NAT Gateway のコスト増大

NAT Gatewayは$0.045/時 + データ処理$0.045/GB。月10万円超えも。

対策: VPC Endpoint使用、不要な通信を削減、NAT Instanceへの移行検討。

失敗3: タグ付けを怠る

どのリソースがどのプロジェクトか不明で、削減箇所を特定できない。

対策: 全リソースに「Project」「Environment」「Owner」タグを必須化。

まとめ

クラウドコスト最適化は継続的な取り組みが必須です。未使用リソースの削除、リザーブドインスタンス活用、Auto Scaling、ストレージクラス最適化、定期監視。これら5つの施策を実践することで、パフォーマンスを維持しながら大幅なコスト削減が可能です。

特に重要なのは、週次での監視と迅速な対応です。放置すると雪だるま式に増えるクラウドコストも、適切な管理により確実にコントロールできます。

弊社のプロジェクトでは、これらの施策により、AWS費用が月額180万円から68万円へ62%削減(年間1,344万円の削減)を実現しました。

この記事をシェア:

おすすめの記事

株式会社Apple Seed - システム開発・AI開発