Independent testing Updated August 2026 387 self-hosting guides 5 VPS providers tested

guide

Kamal VPS 要件:RAM、CPU、ストレージガイド

Kamalはサーバーではなく手元のマシンで動きます。デプロイ先のVPSの見積もり方——デプロイ重複分を含むRAMと、3日分のロールバック用イメージを置くディスク。

Kamalはサーバー上ではなく、自分のマシンやCIランナーで動くデプロイツールです。ですから「KamalのVPS要件」とは、実際にはKamalがデプロイする先のマシンについての話になります。そのマシンは、アプリケーションのコンテナ、kamal-proxy、宣言したアクセサリ、そしてロールバック用に保持される数日分の古いイメージを載せる必要があります。

Kamal自身がホストで消費するリソースはゼロです。見積もるべきはそれ以外のすべてです。

ホスト上でリソースを使うもの

kamal setupのあと、サーバーでは3つが動きます。

見積もりに効いてくるのは真ん中の2つだけです。kamal-proxyは単一の静的バイナリで、実際のアプリケーションの傍らでは存在感がありません。

RAM

見落とされがちなのは定常時のメモリではなく、デプロイ重複分です。Kamalは旧コンテナがトラフィックを処理したまま新コンテナを起動し、新しい方がヘルスチェックを通ってから旧コンテナを停止します。したがってメモリのピークは、通常の使用量にアプリコンテナおよそ1つ分を足した値になります。

Postgresをマネージドサービスではなくアクセサリとして動かすなら、その分を明示的に見積もってください。マシン上で最も食うのはKamalではなく、そちらです。

CPU

妥当な下限は2 vCPUですが、その理由は定常時の負荷とは関係ありません。デプロイ中のホストは、イメージの取得、コンテナの起動、ヘルスチェック、そして旧コンテナからのトラフィック処理を同時に行います。1 vCPUではこの競合がデプロイ時間を引き伸ばします。

ストレージ

Kamalの挙動が数字を実際に変えるのはここです。Kamalはkamal rollbackがレジストリから取得せずに以前のバージョンを起動できるよう、古いコンテナとイメージをサーバーに残し、既定では3日後に整理します。

つまりディスクが抱えるのは次のものです。

1 GBのイメージを1日数回デプロイする程度なら、40 GB NVMeで問題ありません。25 GBのディスクに3 GBのイメージなら1週間で埋まります。障害の出方は知っておく価値があります。ディスクが埋まって壊れるのは、それを埋めたデプロイではなく次のデプロイなので、原因と症状のあいだに数日の開きが生じます。

デプロイの頻度が高いなら、kamal prune allで3日の猶予を待たずに溜まった分を掃除できます。

VPSプロバイダーと価格

プロバイダー月額主な特徴アフィリエイトリンク
Contabo€5.99400 GBのディスク。イメージ履歴が制約になりませんContabo
Hetzner Cloud€5.492 vCPU / 4 GB / 40 GB NVMe。危ないデプロイの前にスナップショットHetzner Cloud
DigitalOcean$6 USDKamalが扱わないホスト側の設定について最も明快なドキュメントDigitalOcean
Vultr$5 USDリージョンの選択肢。アプリを利用者の近くに置きたいときに効きますVultr
Linode (Akamai Cloud)$5 USD価格が読みやすく、ネットワーク構成も素直Linode

選択肢を一通り見るには、VPS比較をご覧ください。

入口として最も楽なのはDigitalOceanです。KamalはDockerより先のホスト管理を意図的に行わないため、ファイアウォール、スワップ、自動更新は自分の担当として残り、DigitalOceanのドキュメントはその3つをすべて押さえています。その設定を自分でやることに抵抗がなければ、Hetznerのほうが同じ金額でRAMとディスクを多く得られます。

運用上のヒント

まとめ

単一アプリの構成であれば、2 vCPU・4 GB RAM・40 GBのSSDまたはNVMeがあれば、アプリ、データベース、デプロイ重複分、3日分のロールバック用イメージまで収まります。RAMより先にディスクを増やしてください。メモリ不足は自己申告してくれますが、イメージの蓄積は黙っています。ほかの選択肢は、VPS比較で構成に合うものを探してみてください。

Frequently asked questions

Kamalのデプロイ先となるVPSにはどれくらいのRAMが必要ですか?

アプリ本体、そのアクセサリ、そしてアプリコンテナのもう1つ分をまかなえる量です。デプロイ中は旧コンテナと新コンテナが同時に動くため、メモリのピークは定常時の使用量にアプリコンテナ1つ分を足した程度になります。1 GBのアプリなら4 GBのホストで余裕がありますが、きついようならスワップを追加してください。

Kamal自体はサーバーのCPUやメモリを消費しますか?

いいえ。Kamalは自分のマシンやCIで実行するgemであり、デプロイが終われば終了します。ホストに恒久的に加わるのはkamal-proxyだけです。これはGoで書かれた小さなHTTPプロキシで、実際のアプリケーションと比べれば消費量は無視できる水準です。

Kamalのホストはなぜ時間とともにディスクが足りなくなるのですか?

Kamalはロールバック時にレジストリから取得せずに済むよう古いコンテナとイメージを保持し、既定では3日後に整理します。大きなイメージを頻繁にデプロイすると急速に蓄積し、しかもディスクが埋まるのは原因となったデプロイではなく、後日のデプロイの途中であることがほとんどです。