ファイナンス/コスト効率 — GKE Autopilot移行 + GCS ライフサイクル最適化(94%削減)

2026-05-08 (Day 8) E: 会計/ファイナンス・コスト効率 ★★★☆☆ GKE Standard → Autopilot GCS ライフサイクルルール / ペイバック計算

問題

ECサイトのMOpsチームのエンジニアとして、販促メール配信システムのインフラコストを最適化せよ。

現行構成

項目現状
GKE Standard ノードn2-standard-4(4vCPU/16GB)× 3台(常時稼働)
月間メール配信数500万通
バッチ処理毎朝 03:00〜05:00 の2時間のみ高負荷(CPU 80%)
アイドル時間それ以外: CPU使用率 5〜10%(22時間/日)
GCS: 直近7日Standard クラス、200GB(頻繁にアクセス)
GCS: 7〜30日Standard クラス、500GB(週1〜2回)
GCS: 30〜90日Standard クラス、800GB(ほぼアクセスなし)
GCS: 90日超Standard クラス、500GB(アクセスなし)

GCP 料金(参考)

リソース単価
n2-standard-4(東京リージョン)$0.19/時間
GKE Autopilot vCPU$0.048/vCPU時間
GKE Autopilot メモリ$0.006/GiB時間
GCS Standard$0.020/GiB/月
GCS Nearline$0.010/GiB/月(最小30日保存)
GCS Coldline$0.004/GiB/月(最小90日保存)
GCS Archive$0.0012/GiB/月(最小365日保存)
タスク:
1. 現行月額インフラコストを試算(GKE + GCS)
2. GKE Autopilot移行 + GCS ライフサイクル適用後の月額コストを試算
3. 削減額・削減率・ROIを計算(移行工数: エンジニア10人日、5,000円/時間)
4. ペイバック期間(投資回収期間)を計算

ヒント(段階的開示)

ヒント1 — GKE コスト計算式
GKE のコストは「ノード台数 × 単価 × 稼働時間」で計算できます。現行は常時3台稼働なので、アイドル時間も含めてフルコストがかかっています。
ヒント2 — 計算式の骨格
【GKE Standard の月額コスト】
3台 × $0.19 × 720時間 = ?

【GKE Autopilot の月額コスト(バッチ処理のみ)】
バッチは月30日 × 2時間 = 60時間
- vCPU: 4 × $0.048 × 60時間 = ?
- メモリ: 12GiB × $0.006 × 60時間 = ?

【GCS ライフサイクル最適化】
アクセスパターンに合わせてストレージクラスを選ぶ:
- 直近7日    → Standard
- 7〜30日    → Nearline
- 30〜90日   → Coldline
- 90日超     → Archive
ヒント3 — 計算の答え合わせ
【現行月額試算】
GKE:  $0.19 × 3 × 720 = $410.4
GCS Standard(全2TB = 2,048GiB): 2,048 × $0.020 = $40.96
合計: 約 $451

【Autopilot + ライフサイクル後】
GKE Autopilot vCPU: 4 × $0.048 × 60 = $11.52
GKE Autopilot メモリ: 12 × $0.006 × 60 = $4.32
GCS Standard: 200 × $0.020 = $4.00
GCS Nearline: 500 × $0.010 = $5.00
GCS Coldline: 800 × $0.004 = $3.20
GCS Archive:  500 × $0.0012 = $0.60
合計: 約 $28.6

削減額・ROI・ペイバック期間を自分で計算して確認してください。

コスト構造: Before vs After

Before: $451.4/月 GKE Standard: $410.4(91%) 3台 × $0.19 × 720h — アイドル22時間/日が無駄 GCS $41 ↓ GKE Autopilot + GCS ライフサイクル適用 After: $28.6/月(94%削減) Auto- pilot $15.8 GCS Standard 200GiB: $4.00 Nearline 500GiB: $5.00 Coldline 800GiB: $3.20 Archive 500GiB: $0.60 削減額: $422.8/月 ≒ 63,420円/月 削減率: 93.7% ROI(初年度): 90.2% ペイバック期間: 約 6.3ヶ月 移行コスト: 400,000円(10人日) 年間削減: 760,940円 6〜7ヶ月で初期投資を完全回収

1. 現行の月額インフラコスト

項目計算式月額(USD)
GKE Standard(n2-standard-4 × 3台)$0.19 × 3 × 720h$410.4
GCS Standard(2,048GiB)2,048GiB × $0.020$41.0
合計$451.4

2. 最適化後の月額インフラコスト

GKE Autopilot(バッチ処理 30日 × 2h = 60時間)

項目計算式月額(USD)
vCPU(4コア)4 × $0.048 × 60h$11.5
メモリ(12GiB)12 × $0.006 × 60h$4.3
GKE Autopilot 小計$15.8

GCS ライフサイクル最適化

期間容量クラス単価月額(USD)
直近7日200GiBStandard$0.020$4.0
7〜30日500GiBNearline$0.010$5.0
30〜90日800GiBColdline$0.004$3.2
90日超500GiBArchive$0.0012$0.6
GCS 小計$12.8
項目月額(USD)
GKE Autopilot$15.8
GCS(最適化後)$12.8
合計$28.6

Terraform ライフサイクルルール実装例

resource "google_storage_bucket" "mops_data" {
  name     = "mops-data"
  location = "asia-northeast1"

  lifecycle_rule {
    condition { age = 7 }
    action { type = "SetStorageClass"; storage_class = "NEARLINE" }
  }
  lifecycle_rule {
    condition { age = 30 }
    action { type = "SetStorageClass"; storage_class = "COLDLINE" }
  }
  lifecycle_rule {
    condition { age = 90 }
    action { type = "SetStorageClass"; storage_class = "ARCHIVE" }
  }
}

3. 削減額・削減率・ROI

【月間削減額】
$451.4 - $28.6 = $422.8/月
1USD = 150円 換算 → 約 63,420円/月

【削減率】
$422.8 / $451.4 × 100 ≒ 93.7%

【移行コスト(工数費)】
10人日 × 8時間 = 80時間
80時間 × 5,000円/時間 = 400,000円(4万円/月 × 0.5人月相当)

【ROI(初年度)】
年間削減額: 63,420円 × 12 = 760,940円
ROI = (760,940 - 400,000) / 400,000 × 100 ≒ 90.2%

4. ペイバック期間

ペイバック期間 = 移行コスト / 月間削減額
              = 400,000円 / 63,420円
              ≒ 6.3ヶ月
一般的にペイバック12ヶ月以内が投資承認の目安。本案件は 6ヶ月以内 で回収でき、多くの企業で承認が得やすい。

5. 非エンジニア向け提案サマリー

結論: 10人日(約40万円)の投資で、インフラコストを 月約6.3万円(94%削減) できます。6〜7ヶ月で初期投資を回収し、以降は毎月約6.3万円の継続的なコスト削減が見込めます。

主な改善内容:
GKEの最適化: バッチ処理が走る2時間だけサーバーリソースを使う形に変更(従来は24時間常時稼働)
ストレージの最適化: アクセス頻度の低いデータを安価な保管クラスへ自動移行するルールを設定

リスク: Autopilotへの移行に際して、Argo Workflowsのノードアフィニティ設定を更新する必要があります。移行前にステージング環境での動作確認が必要です(工数内に含む想定)。

ポイント解説

1 アイドルコストの可視化
GKE Standard は常時3台稼働で、1日22時間(92%)がほぼアイドル状態。このムダを定量化することで改善の優先度が明確になる。
2 GCSのストレージ階層設計
「とりあえず全部Standard」はよくある過ちで、Coldline/Archiveを使い分けることで GCS コストを $41 → $12.8(69%削減)できる。ライフサイクルルールは gsutil lifecycle set や Terraform の lifecycle_rule で自動化できる。
3 ペイバック期間で説明する
エンジニアは「削減率93%」に目が行きがちだが、ビジネスサイドは「いつ元が取れるか」(ペイバック期間)で判断する。6ヶ月以内なら多くの企業で承認が得やすい。

実務への応用

Argo Workflows を GKE Autopilot に移行する際の注意点:
# Argo Workflows: Autopilot 対応の設定変更
templates:
  - name: batch-step
    container:
      resources:
        requests:
          cpu: "2"      # Autopilot は requests に基づいて課金される(明示必須)
          memory: "6Gi"
      # NG: nodeSelector や tolerations は削除する(Autopilot のスケジューラに任せる)
      # nodeSelector:
      #   cloud.google.com/gke-nodepool: batch-pool  ← 削除
  • podTemplate.nodeSelectortolerations を削除し、Autopilot のスケジューラに任せる
  • リソースリクエスト(resources.requests)を明示的に設定する(Autopilot は requests に基づいて課金される)
  • GCS ライフサイクルルールは Terraform google_storage_bucketlifecycle_rule ブロックで管理するとIaC化できる

今日のまとめ

「常時稼働 → 必要な時だけ稼働」への転換と、アクセスパターンに合わせたストレージ階層設計の組み合わせで、インフラコストを94%削減できる。

コスト改善提案は「削減率」よりも「ペイバック期間(何ヶ月で元が取れるか)」で語ると、非エンジニアの意思決定者に刺さりやすい。

自己評価

自分の回答

気づき・メモ