5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

オンプレと同じスペックのCPUじゃクラウドは「強すぎる」!? ハイパーバイザー⇔クラウドの適正サイズ&スケール設計ガイド

Last updated at Posted at 2025-09-28

image.png

はじめに

先日、クラウドリフトの案件に携わりました。提示された前提は「オンプレのハイパーバイザー用サーバーの CPU スペックを、そのままクラウド VM に当てはめたい」。
でも、ちょっと待ってください。クラウドでは同一のチップ/クロック/構成を指名できないうえ、オンプレ機は複数 VM を束ねる前提で高クロック/多コアになりがちです。結果、同じ数値を当て込むほどオーバースペックになり、費用対効果が悪化します。
本稿は、この案件を起点に「なぜズレるのか」「どう適正化するか」を実務フレームで再整理します。


1. 背景と論点(案件の出発点)

  • 前提資料には「オンプレのハイパーバイザー用サーバーの CPU/メモリ値」が記載。
  • 発注側は「クラウドでも“同等クロック/同等コア数”を調達したい」と要望。
  • クラウドはインスタンス世代が流動し、同一 GHz でも IPC/キャッシュ/ターボ制御が異なるため体感性能は一致しない
  • ハイパーバイザー用途の太いサーバー ≠ 単一 VM に必要なスペックという構造差が存在。

2. どこでズレる?(構造差分の可視化)

観点 オンプレ
(ハイパーバイザー用)
クラウド
(IaaS/VM)
サイジング観点
役割 多数 VM を集約/
冗長吸収
用途ごとに小刻み配備 太め前提 vs
細切れ前提
vCPU 定義 柔軟でオーバー
コミット可能
多くは vCPU=HT1本 「8 vCPU」の
意味が違う
CPU クロック 高クロックを持続
させやすい
ターボ/電力制御は
プロバイダ依存
同 GHz でも体感差
I/O ローカル
NVMe/SAN 多い
ネット越しブロック/
ローカル一時
I/O 設計が鍵
スケール 垂直中心 水平前提
(オートスケール)
最初から大きく
買わない

3. 意思決定フレーム

  • 仮説:オンプレ 8CPU/32GB の VM は、クラウドでは 4vCPU/16GB で業務時間の 95% 程度を満たせる。
  • 根拠:直近 30~90 日の p50/p95 CPU、ランキュー、メモリ常駐、IOPS/pps を収集すると、多くの業務系で平均 CPU 使用率は 20% 未満
  • 再検証(POC):合成/リプレイ負荷で p95 レイテンシ×1.2 を閾値に段階増。
  • 示唆数値移植ではなく実効値ベースで小さく始め、観測しながら縮尺を合わせる。

4. 案件に適用したサイジング手順

  1. 対象選定:代表 VM(平常/ピーク/バッチ)を特定。

  2. 計測(30~90 日):CPU 利用率/ランキュー/stealメモリ常駐/ページングIOPS/待ち時間pps/遅延

  3. 初期サイズ算出

    C_initial = ceil( (U_p95 / U_target) * C_current * k )
    
    • U_target=40% など / k=世代差補正 0.9~1.3
    • メモリは 常駐 p95×1.3 を四捨五入。
  4. 小さめで POC:スローテスト/障害注入。

  5. 本番移行後も週次ライトサイジング:自動提案→承認→反映。


5. 数字合わせをやめる CPU クロックの扱い

5.1 同じ GHz でも同じ速さではない

  • 世代差/キャッシュ/命令セット/NUMA/ターボ持続/スケジューリングで単一スレッド/全コア持続の挙動が変わる。
  • 結論GHz 揃えではなく、自アプリの実測(RPS/コア、p95/p99)で判断。

5.2 ピークの扱いを決めてコストを変える

方針 内容 メリット デメリット/
リスク
向くケース
リッチ常設 最大値を常時
満たす高クロック
/大サイズ固定
常に速い/
運用簡単
コスト高/空き
リソース発生
超低遅延SLO
リサイズ不可
95% 設計+
一時拡張
p95 常設、上振れは
垂直一時アップ/
水平スケール
コスト最小/
柔軟
一時遅延/
再起動要件
大半の業務系
ハイブリッド 小さめ高周波×
複数+オート
スケール
レイテンシと
費用の折衷
設計が複雑 API/バッチ
混在

備考:一部クラウドの垂直一時アップは再起動を伴うため、メンテ時間とスケジュール拡張の併用が実務的です。


6. 初期目安

現行実効値
(オンプレ VM
クラウド
初期サイズ目安
補足
CPU p95<20%、
8 vCPU/32 GB
2~4 vCPU/16 GB CPU は段階増、メモリは実効+30%
CPU p95≈50%、
8 vCPU/32 GB
4~6 vCPU/16~32 GB I/O 待ちも同時監視
メモリ p95>24 GB メモリ最適化 CPU は維持
I/O 待ち高 プロビジョンド IOPS/
ローカル NVMe
vCPU 増より I/O 設計
日中ピーク型 オートスケール/
スケジュール拡縮
常時大型を買わない

7. 移行後の最適化

  • 週次ライトサイジング

    • CPU p95<20% が 2 週継続 → 1 段階ダウンサイズ。
    • メモリ p95>80% or ページアウト → メモリ重視へ。
    • I/O 待ち高 → ボリューム/キャッシュ再設計。
  • 水平スケール:スケジュール/しきい値/予測の 3 型。

  • 原価最適化:90 日安定 → 予約/貯蓄、停止可 → スポット併用。


8. リスクとリスク発生時の代替案

リスク 具体例 回避策/代替案
数値移植で
過大購入
ハイパーバイザー用の
値を VM に当て込み
実測→式→小さめ開始に変更
単一スレッド
劣化
同 GHz だが IPC
低い世代
高周波/専有/ピン留めの検討
I/O ボトル
ネック
EBS/PD 相当で待ち時間増 IOPS/スループット予約、ローカル NVMe
変更に弱い
運用
再起動が痛い ローリング/カナリア、再起動時間の確保

9. なぜで深掘り

  1. なぜ オンプレ値を当て込むとオーバースペック化するのか?
     → ハイパーバイザー前提の太い値だから。
  2. なぜ 同じ GHz に合わせても体感が違うのか?
     → 世代/IPC/ターボ/スケジューリングの非対称があるから。
  3. なぜ その非対称が見落とされるのか?
     → vCPU 定義や I/O 前提を共通言語にしていないから。
  4. なぜ 適正サイズに収束しないのか?
     → 実測→検証→リサイズの運用ループがないから。
  5. なぜ 運用ループがないのか?
     → p95・SLO・費用ラインが合意されていないから。

原因:構造差を数値化し共有する仕組みが欠落していること。
対策:現行を 30~90 日計測→式で初期化→小さめ開始→週次ライトサイジング→90 日で予約化。


おわりに

案件の学びは明快です。“オンプレの強いサーバーの数字”をクラウド VM に移植しないGHz ではなく自アプリの実測で語り、p95 常設+ピーク時拡張を前提に小さく始めて測る。この型に沿えば、性能とコストの両立は十分に実現できます。まずは代表の VM 1 台から、同じ要領で実施してみてください。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?