SSD Nodes Learn 🎉 VPS $5.50/月〜
ガイド Matt Connor著者 Matt Connor ・更新日 2026-08-09

ストレージ VPS と通常の VPS の違いは?

ストレージ VPS は安価な TB 容量と引き換えに CPU とディスク速度を抑えた構成です。NVMe、容量、vCPU の違いと、バックアップやデータベースなど用途別の選び方を解説します。

ストレージ VPS と通常の VPS:簡単な答え

ストレージ VPS はテラバイト単位で提供される仮想プライベートサーバーで、通常の VPS は CPU コア単位で提供されます。ストレージプランでは、少ない CPU リソースに低速な数 TB のディスクが割り当てられます。標準プランでは、同じ料金で、容量が通常 20 分の 1 程度の高速な NVMe(non-volatile memory express)ディスクに加え、より多くのプロセッサリソースとメモリを利用できます。その他の仕様は同じです。同じハイパーバイザー、同じ root シェル、同じ Ubuntu イメージ、同じネットワークスタックを使用します。

この違いだけで、適した用途が決まります。ストレージ VPS は、バックアップ先、メディアライブラリ、コールドアーカイブ、1 度書き込んだ後にほとんど読み取らないデータに適しています。データベースや、ユーザーが画面の前で応答を待つページには適していません。これらの処理では、小さなランダム読み取りを約 1 ミリ秒で完了させる必要があるためです。低価格で大容量のストレージが提供されるのは、まさにこの処理ができないためです。

料金ページで目にするプラン名

ほぼすべてのプロバイダーで使われるラベルは4つあります。ただし、具体的な意味を持つのはそのうち2つだけです。

  • Standard VPS. 2〜8 vCPU、2 GB〜32 GB の RAM、20 GB〜400 GB の NVMe または SATA SSD を備え、これらはホストノード自体に搭載されています。
  • Storage VPS. 1 TB〜20 TB 以上の容量を持ち、通常は回転式 SATA ディスクまたは大容量 SATA SSD を使用します。共有 vCPU は1〜4個で、RAM は控えめです。小容量の標準プランと月額が同じこともよくあります。
  • VDS. virtual dedicated server の略称です。この語に共通の定義はありません。代わりに何を確認すべきかは、以下のセクションで説明します。
  • Block storage volume. これはプランではありません。既存の VPS に追加するネットワーク接続ディスクで、月額 GB 単位で課金されます。4つのうち、サーバーを移行せずに容量を拡張できるのはこれだけです。

これらの範囲は市場全体で一般的な構成であり、特定の会社の提供内容を示すものではありません。プランのラベルはカテゴリを示すため、サーバーがどのような筐体上で動作するかをおおまかに判断できます。ただし、ディスクの種類、CPU の割り当て方針、帯域幅の上限までは分かりません。ワークロードが正常に動作するかどうかを決めるのは、これらの項目です。

2 つのプランで実際に変わる点

ディスクの種類と容量。 これが製品上の唯一の大きな違いです。標準プランでは、PCI Express バス経由で接続された NVMe フラッシュを使用します。ストレージプランでは、大容量の回転ディスクアレイまたは大容量 SATA SSD を使用します。これらの用語のうち、どれが自分に重要か分からない場合は、まず SSD VPS とは何か、従来のディスクプランとどう異なるかを確認し、次に NVMe と SATA SSD の実用上の違いを確認してください。

CPU 比率。 ストレージプランは、1 TB あたりの vCPU が少なく、ほぼ常に他のテナントと共有されます。これは欠点ではありません。バックアップ先はほとんどの時間、ネットワークからの転送を待機するため、多数のコアを必要としません。

RAM。 ストレージプランは、料金に対して RAM が少なめです。特に影響するのはファイルシステムのメタデータです。数百万個の小さなファイルを扱うには、ディレクトリキャッシュと inode キャッシュ用のメモリが必要です。メモリが不足すると、一覧表示のたびにディスクへアクセスすることになります。

ネットワーク使用量の上限。 ストレージプランでは、この項目を注意して確認してください。復元に使えない容量は、バックアップとはいえません。月間転送量の上限を TB 単位で、ポート速度を Gbit/s 単位で確認してください。4 TB を 1 Gbit/s のポートから回線速度で完全に復元するには約 9 時間かかり、ポートを共有している場合はさらに長くなります。

ChartTypical advertised disk cost per TB per month, August 2026
The data behind this chart
[
  {
    "plan": "Storage VPS, HDD",
    "usd_per_tb_month": 3
  },
  {
    "plan": "Storage VPS, SATA SSD",
    "usd_per_tb_month": 9
  },
  {
    "plan": "Standard VPS, NVMe",
    "usd_per_tb_month": 40
  },
  {
    "plan": "Block storage add-on",
    "usd_per_tb_month": 90
  }
]

これらは、2026 年 8 月に複数のプロバイダーが公開していた料金ページから取得した概算値です。特定の企業による見積もりではなく、料金は変動します。長期的に変わらないのは、おおまかな価格構成です。回転ディスクを使用するストレージプランでは、1 TB あたりの料金は月額約 3 米ドルです。標準プランで同じ容量の NVMe を使用すると、月額約 40 かかります。ネットワーク接続型のブロックボリュームは、4 つの選択肢の中で最も高く、月額 90 です。月額料金の内訳を詳しく確認するには、VPS の実際の月額料金を参照してください。

TB あたりの価格とコアあたりの価格が逆方向に動く理由

ストレージノードは、12~16 台の大容量ディスクを搭載し、その前段に控えめなプロセッサを 1 基備えたシャーシです。コンピュートノードはその逆で、多数のコア、大容量の RAM、2 台または 4 台の NVMe ドライブを備えています。プロバイダーは、そのシャーシで余っているリソースを販売します。そのため、テラバイトあたりの料金が安いプランはコアあたりの料金が高く、コアあたりの料金が安いプランはテラバイトあたりの料金が高くなります。両方が安いプランはありません。そのような構成のシャーシは製造されていないためです。

このため、「どちらを購入すべきか」という質問への正直な答えは、「両方」が適切な場合がよくあります。アプリケーションを実行する小容量の NVMe VPS と、バックアップを保持するストレージ VPS を組み合わせるほうが、両方の役割を十分に担える 1 台のマシンより安く済みます。1 台のマシンで本当に両方の役割を担う必要があるなら、VPS の範囲を超えています。専用サーバーが VPS より適する場合を参照してください。

安価なディスクではランダム読み取りを処理できません

ChartRandom 4k read figures by disk class, vendor datasheet order of magnitude
The data behind this chart
[
  {
    "disk": "7200 rpm SATA HDD",
    "random_read_iops": "180",
    "typical_latency_ms": 8.5
  },
  {
    "disk": "SATA SSD",
    "random_read_iops": "75,000",
    "typical_latency_ms": 0.2
  },
  {
    "disk": "NVMe SSD",
    "random_read_iops": "600,000",
    "typical_latency_ms": 0.08
  }
]

これらは、特定のプロバイダーでのベンチマークではなく、データシート上のクラス別の値です。7200 rpm のディスクが処理できる 4k ランダム読み取りは、1 秒あたりおよそ 180 回です。これは、ヘッドが物理的にトラックまで移動し、その下にセクターが来るまでプラッターの回転を待つ必要があるためです。この処理には毎回およそ 8.5 ms かかります。フラッシュには移動する部品がないため、SATA SSD は 75,000 IOPS 前後、NVMe デバイスは 600,000 IOPS 前後を、0.08 ms のレイテンシーで処理できます。差は 3000 倍を超えます。RAM や CPU を増やしても、この差は埋まりません。

シーケンシャル処理はまったく異なります。これが、ストレージプランに意味がある理由です。回転ディスク 1 台でも 150 MB/s から 250 MB/s でデータを連続的に読み書きでき、複数台のアレイならさらに高速になります。これは 1 Gbit/s ポートを飽和させる速度です。そのため、バックアップのアップロードはネットワークの最大速度で実行され、ディスクがボトルネックになることはありません。実際の値はアレイの構成にも左右されます。ストライピングでは、1 つの要求が複数のディスクに分散されるためです。RAID 10 がストレージプランの性能をどのように変えるかで詳しく説明します。

VDS とは何ですか?

通常、VDS はマーケティング上の呼称です。一般的には 3 つの意味で使われますが、プロバイダーがどの意味かを明示することはほとんどありません。VDS を、他のテナントと CPU サイクルを奪い合わない、固定または専用の CPU コアを指す名称として使うプロバイダーがあります。KVM などの完全仮想化を指し、LXC や OpenVZ などのコンテナ仮想化と区別する場合もあります。コンテナ仮想化では、ホストのカーネルを共有します。単に VPS より強そうに聞こえる名称として使い、実質的な意味を持たせない場合もあります。

サーバー内から、その一部を確認できます。systemd-detect-virt を実行すると、完全仮想マシンでは kvm が出力され、コンテナでは lxc が出力されます。コンテナの場合、カーネルモジュールをロードしたり、独自のカーネルを実行したりすることはできません。CPU が専用かどうかは、後述する steal time の確認で測定する必要があります。プラン名の文字は手掛かりとして扱い、仕様欄の記載を契約上の条件として確認してください。

名前ではなく確認すべき仕様項目

  • 容量の横に記載された単語を確認します。NVMeSSDSATAHDDのいずれかです。ページ内のどこにもディスクを示す単語がない場合は、価格に収まる最も安価なハードウェアだと判断します。
  • ディスクがノードにローカル接続されているか、ネットワーク接続ストレージかを確認します。ネットワーク接続ストレージはすべてのリクエストに遅延を追加しますが、ノード障害後もデータを維持できます。ローカルディスクは高速ですが、ノードとともに停止します。
  • CPU の表記を確認します。"dedicated" または "pinned" か、"shared"、"fair share"、または表記なしのいずれかです。
  • プランに IOPS または MB/s の上限が記載されているかを確認します。上限が 500 IOPS であれば、ディスクの種類はほとんど影響しません。
  • 月間転送量とポート速度を確認します。これらによって、完全なリストアにかかる時間が決まります。
  • スナップショット、バックアップ、追加の IP アドレスが含まれているか、別料金かを確認します。

実際に割り当てられたディスクを確認する方法

まずカーネルの報告を確認し、その後はそれを鵜呑みにしないでください。

lsblk -d -o NAME,ROTA,SIZE,MODEL
df -h /
nproc
free -h

ROTA は回転デバイスの場合は 1、フラッシュストレージの場合は 0 です。VPS 内ではこの値を信頼しないでください。virtio ディスクは通常、背後にあるデバイスの種類に関係なく ROTA=0 を報告します。ハイパーバイザーが汎用ブロックデバイスとして提示するため、ゲストから物理ドライブを確認できないためです。MODEL が空なのも同じ理由です。このフラグが示すのはハイパーバイザーが宣言した内容であり、ラック内で実際に回転しているものではありません。そのため、実測してください。

sudo apt update && sudo apt install -y fio
fio --name=randread --filename=/var/tmp/fio.test --size=1G --bs=4k --rw=randread \
  --ioengine=libaio --direct=1 --iodepth=32 --runtime=30 --time_based --group_reporting
rm -f /var/tmp/fio.test

--direct=1 はページキャッシュをバイパスするため、RAM ではなくディスクを測定できます。確認する行は read: IOPS= で、その下にディストリビューションが clat percentiles (usec) と表示されます。標準的な NVMe プランでは、数万 IOPS、99 パーセンタイル 1 ミリ秒未満が報告されます。回転ディスクのストレージプランでは、数百 IOPS、99 パーセンタイル 10 ミリ秒台が報告されます。fio が libaio エンジンをロードできないと報告した場合は --ioengine=psync --iodepth=1 を使用してください。このエンジンは一度に 1 件のリクエストしか発行しないため、数値は低くなります。

vmstat 1 5
sudo apt install -y sysstat
iostat -x 1 5

vmstatst 列は steal time です。これは、vCPU が実行可能な状態だった時間のうち、ホストがその CPU サイクルを別のゲストに割り当てた割合です。継続的に 5 を超える場合、そのノードは過剰収容されています。これは「専用 CPU」という主張を検証する実質的なテストです。iostat -x では %utilr_awaitw_await を確認してください。%util が 100 近く、w_await が数十ミリ秒の場合、ボトルネックはディスクです。アプリケーションを調整しても改善しません。フラッシュストレージ固有の確認については、NVMe ディスクが実際に NVMe であることを確認するで詳しく説明しています。

ワークロード別の選び方

  • restic、Borg、または rsync のバックアップ先。 Storage VPS が適しています。この用途を想定して設計されたプランです。書き込みは大容量のシーケンシャル処理で、重複排除はソースマシン上で行われ、処理結果を待つ必要もありません。ただし、restic prunerestic check --read-data はリポジトリ全体を小さな単位で読み取るため、完了まで数時間かかることを見込み、スケジュールを設定して実行してください。VPS で restic バックアップを実行するを参照してください。
  • Immich または Jellyfin のメディアライブラリ。 ファイルの保存先には Storage VPS が適していますが、CPU には注意が必要です。Immich はインポート時にサムネイルを生成し、機械学習ジョブを実行します。Jellyfin は再生時にトランスコードを行います。共有 vCPU が 2 基だけの場合、写真 200 GB の初回インポートには非常に時間がかかります。データベースとサムネイルキャッシュは、サーバー内で最も高速なディスクに配置してください。サイジングについては、Google Photos の代替として Immich をセルフホストするで説明しています。
  • PostgreSQL または MySQL。 Standard NVMe プランを選択してください。すべてのコミットは、トランザクションが戻る前に永続ストレージへ到達する必要がある fsync で終了します。そのため、コミットのレイテンシはディスクのレイテンシになります。また、インデックス検索は 8 kB のランダム読み取りであり、回転ディスクが最も苦手とする処理です。
  • Web アプリケーション、API、またはコントロールプレーン。 Standard プランが適しています。これらは CPU コアと予測可能なレイテンシを必要とし、100 GB を超える容量を必要とすることはほとんどありません。
  • CI キャッシュまたはアーティファクトストア。 ファイルサイズによって異なります。大きな tarball は、Storage プランからネットワーク速度を最大限に利用してストリーミングできます。一方、数十万個の小さなファイルを複数の runner が並列で取得するキャッシュは、実質的にランダム IO であり、期待どおりの性能が得られません。

この設定を誤った場合の状態

障害はすぐには発生しません。回転ディスクのストレージプラン上にあるデータベースは、ユーザーが 1 人なら問題なく動作しても、10 人になると処理能力が急激に低下します。これまで RAM に収まっていたクエリがディスクアクセスに変わり、1 件あたりの処理時間がマイクロ秒単位からミリ秒単位になるためです。top では CPU 使用率がほぼアイドル状態なのに %wa の値が高くなり、ロードアベレージが上昇します。これは、プロセスが計算処理ではなくディスク応答を待ってブロックされていることを示します。iostat -x 1 では %util がほぼ 100 に張り付きます。

PostgreSQL 自身のログにも明確に記録されます。log_checkpoints はバージョン 15 からデフォルトで有効になっているためです。

LOG:  checkpoint complete: wrote 8241 buffers (2.5%); ... write=112.402 s, sync=9.318 s, total=121.914 s

重要なのは sync= の値です。これはチェックポイントが fsync の応答を待機した時間です。秒単位の値になる場合、データベースが生成する書き込みをディスクが処理しきれていません。その間、クエリ自体の処理が軽くても、クライアント接続は停止します。必要なのは設定変更ではありません。データディレクトリを NVMe に移し、現在のストレージプランは、その強みであるデータベースのバックアップ保管に使います。

FAQ

ストレージ VPS は通常の VPS より遅いですか?

ランダムな読み書きでは、大幅に遅くなります。回転ディスクを使うストレージプランでは、1 件あたり約 8 ms で毎秒数百件の小さなランダムリクエストを処理します。一方、NVMe プランでは、1 ms 未満で毎秒数万件を処理できます。シーケンシャル転送では差が小さくなります。ストレージアレイでも 150 MB/s 以上でストリーミングでき、1 Gbit/s のポートを十分に使い切れるためです。判断する前に、fio --rw=randread --bs=4k --direct=1 で実環境を測定してください。

ストレージ VPS で PostgreSQL を実行できますか?

起動でき、ワーキングセットが RAM に収まる間は動作します。収まらなくなると、低速なディスクへの fsync を毎回のコミットで待つことになります。Postgres は checkpoint complete 内でこれを秒単位の sync= 値として記録し、iostat -x 1 には %util が 100 近くで w_await が高い状態として現れます。一般的な構成は、データベースに小容量の NVMe VPS を使い、ダンプの保存先としてストレージ VPS を使う方法です。

VDS なら専用ハードウェアを利用できますか?

必ずしも利用できません。VDS に標準的な意味はありません。プロバイダーによっては CPU コアの固定を指し、共有カーネルのコンテナではなく完全な KVM 仮想化を指す場合もあります。単なる名称として使われる場合もあります。systemd-detect-virt を実行して、kvmlxc のどちらで動作しているか確認してください。さらに vmstat 1 5 を実行し、st 列を監視すると、他のテナントが CPU サイクルを消費しているか確認できます。

VPS のディスクが本当に NVMe かどうかを確認するにはどうすればよいですか?

lsblk -d -o NAME,ROTA,MODEL をそのまま信用しないでください。virtio ディスクでは通常、実際のハードウェアに関係なく ROTA=0 と報告され、モデル文字列も空になるためです。--direct=1 を使って 30 秒間の fio ランダム読み取りテストを実行し、IOPS と 99 パーセンタイルのレイテンシを確認してください。IOPS が数百で、レイテンシが 2 桁のミリ秒なら、回転ディスクのアレイです。1 ms 未満で数万 IOPS なら、フラッシュストレージです。