MENU

【AWS】月額料金を30%削減した実践的コスト最適化テクニック — 見直すべき7つのポイント

AWSの請求額を見て驚いた経験はありませんか?クラウドの「使った分だけ」は、裏を返せば「気づかないうちに使いすぎる」リスクと表裏一体です。この記事では、実際にAWS月額料金を30%以上削減できた具体的なテクニックを紹介します。

目次

1. 使われていないリソースの棚卸し

まず最初にやるべきは、使われていないリソースの洗い出しです。AWS Cost Explorerで「サービス別」の内訳を確認し、Trusted Advisorのコスト最適化カテゴリをチェックします。

# 未アタッチのEBSボリュームを検索
aws ec2 describe-volumes \
  --filters Name=status,Values=available \
  --query 'Volumes[*].{ID:VolumeId,Size:Size,Created:CreateTime}' \
  --output table

# 未使用のElastic IPを検索
aws ec2 describe-addresses \
  --query 'Addresses[?AssociationId==null].{IP:PublicIp,AllocId:AllocationId}' \
  --output table

# 14日以上停止しているEC2インスタンス
aws ec2 describe-instances \
  --filters "Name=instance-state-name,Values=stopped" \
  --query 'Reservations[*].Instances[*].{ID:InstanceId,Type:InstanceType,Stopped:StateTransitionReason}'

2. EC2のRight Sizing

CloudWatchのCPU/メモリ使用率を1ヶ月分確認し、常に20%以下のインスタンスはサイズダウンの候補です。AWS Compute Optimizerを使えば、使用パターンに基づいた推奨インスタンスタイプを提示してくれます。

3. リザーブドインスタンス / Savings Plans

1年以上稼働し続けるEC2やRDSは、リザーブドインスタンスで最大40%、Savings Plansで最大30%のコスト削減が可能です。全額前払いが最も安くなりますが、キャッシュフローとの相談になります。

4. S3ストレージクラスの最適化

アクセス頻度に応じてストレージクラスを使い分けます。S3 Intelligent-Tieringを使えば自動的に最適なクラスに移動してくれますが、ライフサイクルポリシーを手動で設定した方がコスト予測がしやすいです。

resource "aws_s3_bucket_lifecycle_configuration" "logs" {
  bucket = aws_s3_bucket.logs.id

  rule {
    id     = "log-lifecycle"
    status = "Enabled"

    transition {
      days          = 30
      storage_class = "STANDARD_IA"
    }

    transition {
      days          = 90
      storage_class = "GLACIER"
    }

    expiration {
      days = 365
    }
  }
}

5. NATゲートウェイのデータ転送料

意外と高額になるのがNATゲートウェイのデータ転送料です。VPCエンドポイント(Gateway型はS3/DynamoDB向けで無料)を設定するだけで、NATゲートウェイを経由するトラフィックを大幅に削減できます。

resource "aws_vpc_endpoint" "s3" {
  vpc_id       = aws_vpc.main.id
  service_name = "com.amazonaws.ap-northeast-1.s3"
  vpc_endpoint_type = "Gateway"

  route_table_ids = [aws_route_table.private.id]
}

6. 開発環境の自動停止

開発・検証環境を24時間365日稼働させる必要はありません。EventBridge + Lambda で平日の業務時間外に自動停止する仕組みを作れば、約65%のコスト削減になります(24時間 → 8時間稼働)。

7. コスト異常検知の設定

AWS Cost Anomaly Detectionを有効にしておくと、通常と異なるコストパターンを検知してアラートを送ってくれます。設定ミスによる意図しないリソース作成を早期発見できるため、全AWSアカウントで有効にすべきです。

まとめ

コスト最適化は一度やって終わりではなく、毎月の請求書をレビューする習慣が大切です。この記事で紹介した7つのポイントを順番に実施するだけでも、月額料金の20〜30%削減は十分に実現可能です。まずは未使用リソースの棚卸しから始めましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次