vast.ai で RTX 5090 を借りて ローカル LLM を動かす|2026-08 版
第 18 章

早見表・用語集・チェックリスト

迷ったらここに戻る。コマンド表・コスト表・GPU 選択フロー・用語辞典

この章で分かること

この章は読み物ではなく、作業中に開いて引くためのページです。表と図が主役なので、頭から通読する必要はありません。詰まったら該当する節だけを見て、詳しい理由が知りたくなったら各節が示す章に戻ってください。

目的から構成を決める

最初の分岐は「何をしたいか」の 1 問だけです。GPU の枚数と契約の種類はここで決まり、あとの手順は 4 つの枝でほとんど共通になります。

目的を 1 つ選ぶ (下の 4 択) まず試す API を立てる 32 GB に載らない 中断されてよい 1× RTX 5090 / On-demand(まずこれ) 0.3215〜0.4037 USD/時(最安〜中央値) ディスク 40 GB・終わったら destroy 1× RTX 5090 + direct SSH 検索条件に direct_port_count>=1 と reliability>0.99 ディスクはモデル容量より大きく取る(第 7 章) 2× RTX 5090 = 0.856 USD/時 1 枚あたり 0.428 USD/時に下がる(中央値) または VRAM の大きい GPU(次の表) Interruptible(入札)で借りる 中央値 0.34 USD/時・最安 0.106 USD/時 より高い入札に負けると止まる。保存はこまめに
図 18-1 金額はすべて 2026-08-24 に公開 API から取得した 1×RTX 5090 の実測値です。枠を強調した一番上が既定の選択で、下の 3 つは「上でうまくいかなかった理由」がある人だけが選びます。相場は日単位で動くので、数字は目安として使ってください。

3 番目の枝(32 GB に載らない)で他の GPU に移るときは、値段の桁が変わります。同じ日に取得した他機種の相場を並べておきます。

GPUVRAM最安 USD/時中央値 USD/時
RTX 309024576 MB0.0690.137
RTX 409024564 MB0.1350.336
RTX 509032607 MB0.32150.4037
L40S46068 MB0.5360.801
A100 SXM440960 / 81920 MB0.6010.801
RTX PRO 6000 WS97887 MB0.7611.136
H100 SXM81559 MB1.3361.936

2026-08-24 時点の実測です。出品数が 64 件を超える機種(3090・4090・5090)は安い順に 64 件しか取得できていないため、中央値は実際の分布より安い側に寄っています。最安値は信頼できます。理由と読み方は第 1 章と第 5 章にあります。

作業順とコストの発生点

本書の全体はこの 1 枚に収まります。課金メーターが回り始めるのは Rent を押した瞬間です。そこまでの 4 段(アカウント作成とメール検証・入金・鍵登録・検索)では、メーターは 1 秒も回りません。入金は残高に置くだけで、借りなければ減りません。ただしメールアドレスの検証を済ませていないとインスタンスは借りられません(未検証だと新規ユーザーの支出上限がほぼゼロのままになります)。

① 入金 残高を置く ② 鍵登録 借りる前に ③ 探す search offers ④ Rent 契約が成立 ⑤ loading 1〜5 分 ⑥ running 作業する ⑦ destroy 全部止まる 時間の流れ ここから課金 ここまで 0 USD ストレージ課金(作成した瞬間から destroy まで) GPU 課金(running の間だけ) 帯域課金(落とした分) 計算例: 2 時間 + ディスク 40 GB = 0.4037×2 + 40×0.200÷720×2 ≒ 0.83 USD
図 18-2 ストレージのバーだけが destroy まで途切れずに伸びている点が要点です。帯域はモデルを落とす場面で最も動きますが、公式には「状態を問わず送受信したバイトすべて」が対象なので、停止中でも転送があれば課金されます。左下の計算例は 2026-08-24 時点の中央値(GPU 0.4037 USD/時、ストレージ 0.200 USD/GB/月)を 1 か月 = 720 時間(30 日換算)で割ったものです。

各段の詳細に戻るときの索引です。

  1. アカウント作成とメール検証、入金 → 第 4 章
  2. SSH 公開鍵の登録(借りる前に済ませる) → 第 8 章
  3. offer を読む・種別を選ぶ・テンプレートとディスクを決める → 第 5 章・第 6 章・第 7 章
  4. Rent して起動を待つ → 第 8 章
  5. SSH で入る / ブラウザから使う → 第 9 章・第 10 章
  6. モデルを落とす → 第 11 章
  7. Ollama / vLLM / llama.cpp で動かす → 第 12 章・第 13 章・第 14 章
  8. 手元の Mac / PC から使う → 第 15 章
  9. 止める・消す・請求を確認する → 第 16 章
  10. 症状から原因を引く → 第 17 章

コマンド早見表

<...> で囲んだ部分は自分の値に置き換えます。CLI(= コマンドラインから vast.ai を操作する道具)の入れ方は公式に 2 通りあり、Mac・Linux・WSL(= Windows の中で Linux を動かす仕組み)はインストーラ、Windows はそのままなら pip(= Python にライブラリを入れるコマンド)です。入れた直後は新しいターミナルを開いてください(PATH = OS がコマンドを探す場所の一覧の更新をシェルに読み直させるため)。

やることコマンド覚えておく点
CLI を入れる(Mac / Linux / WSL)curl -fsSL https://vast.ai/install.sh | bash入れたら新しいターミナルを開く
CLI を入れる(Windows)pip install vastaiPython 3 が必要
API キーを保存vastai set api-key <YOUR_API_KEY>~/.config/vastai/vast_api_key に入る。環境変数 VAST_API_KEY があればそちらが優先
認証できているか確認vastai show usercredit(残高)が返れば成功
SSH 公開鍵を登録vastai create ssh-key ~/.ssh/id_ed25519.pubインスタンスを作る前に。鍵はコンテナ作成時に適用される
登録済みの鍵を見るvastai show ssh-keys登録は鍵ごとに 1 回でよい
後から鍵を足すvastai attach ssh <INSTANCE_ID> "$(cat ~/.ssh/id_ed25519.pub)"Docker インスタンスのみ。VM は後付けできない
5090 を探すvastai search offers 'gpu_name=RTX_5090 num_gpus=1 rentable=true' -o 'dph'CLI は RTX_5090(アンダースコア)。> < を使う条件はクォートで囲む。-o 'dph' は時間単価の安い順
未検証マシンも含めて探すvastai search offers 'gpu_name=RTX_5090 verified=any' -n-n は既定クエリ(external=false rentable=true verified=true)を外す。この既定が効いている間は verified のマシンだけが対象になる(2026-08-24 時点の 1×5090 は 64 件中 43 件が非 verified だったので、外すと候補が大きく増える)
借りるvastai create instance <OFFER_ID> --image <IMAGE> --disk 40 --ssh --direct<OFFER_ID> は検索結果の id、<IMAGE> は第 7 章で選んだテンプレートの Docker イメージ(5090 では CUDA 12.8 対応のものを保つ)。返る new_contract がインスタンス ID。--disk は必ず明示する
入札して借りる上に --bid_price 0.30 を足す数字は USD/時。offer の min_bid(現在の最低入札額)以上にしないと動き出さない。Interruptible になり、後から on-demand には変えられない
探すところから任せるvastai launch instance -g RTX_5090 -n 1 -i <IMAGE> -d 40検索結果の先頭 1 件で作る。-n に指定できるのは 1・2・4・8・12・14

この表でお金が動き出すのは、下 3 行(借りる・入札して借りる・探すところから任せる)だけです。Enter を押した瞬間に確保したディスクのストレージ課金が始まり、状態が running になった時点で GPU 課金(2026-08-24 時点の 1×RTX 5090 なら 0.32〜0.40 USD/時)が加わります。それ以外の行(検索・鍵登録・確認)は何度実行しても無料です。

借りたあとに使うコマンドです。--raw を付けると機械可読な JSON で返り、--explain を付けると裏で叩いている API の説明が出ます。

やることコマンド覚えておく点
持っているものを全部並べるvastai show instances-q で ID だけ。撤収前に必ず 1 回
1 台の状態を見るvastai show instance <ID>actual_status を見る。10〜30 秒おきに確認する
ログを見るvastai logs <ID> --tail 100ログ本体ではなく S3(= Amazon のクラウドストレージ)上のファイル URL が返る。開くまで数秒かかる
接続先を得るvastai ssh-url <ID>ファイル転送用は vastai scp-url <ID>
中身を覗くvastai execute <ID> 'du -d2 -h'使えるのは ls / rm / du の 3 つだけ。他は SSH で
送るvastai copy local:./data/ <ID>:/workspace/data/宛先に /root や / を使わない(以後の copy が壊れる)
取り出すvastai copy <ID>:/workspace/out/ local:./out/destroy の前に必ず
止めるvastai stop instance <ID>GPU 課金だけ止まる。ディスク課金は続く
再開するvastai start instance <ID>30 秒以上 Scheduling なら GPU は他の人に取られている
消すvastai destroy instance <ID>不可逆。3 本のメーターが止まる唯一の操作
まとめて消すvastai destroy instances <ID> <ID>消し忘れの一掃に使う
前払いして割引を受けるvastai prepay instance <ID> <AMOUNT>公式例では 50 USD で 0.546 か月分・割引 3.5%
使った額の内訳を見るvastai show invoices-v1 --chargesgpu / disk / bwd / bwu に分かれて出る
インスタンスの中から自分を消すvastai destroy instance $CONTAINER_IDコンテナには自分自身の start / stop / destroy だけができる CONTAINER_API_KEY が入っている。認識されないときは末尾に --api-key $CONTAINER_API_KEY を付ける

状態早見表

コンソールの表示と API が返す actual_status は語彙が違います。このうち 3 つ(exited / unknown / offline)は終端状態で、待っても running には戻りません。この判定を入れずに待ち続けると、ディスク課金だけが積み上がります。

Rent 起動 destroy stop start 起動失敗 destroy 作成(Rent) loading running GPU 課金あり destroy 済み cur_state = unloaded stopped ディスク課金は続く exited / unknown / offline running には戻らない 終端状態に落ちたら destroy して、別の offer で取り直す
図 18-3 右上へ抜ける矢印(destroy)だけが課金の出口です。左下の箱に入ったインスタンスは、待っても状態が変わらないまま stopped と同じディスク課金を発生させ続けます。
コンソールの表示API の actual_status意味と課金
Creatingnull作成が始まった直後。ストレージ課金はこの時点から
LoadingloadingDocker イメージをダウンロード中。GPU 課金なし・ストレージ課金あり。キャッシュ済みなら 30 秒程度、回線が遅いと数時間かかることもある
Connecting—Docker は動いているが接続が検証できていない。ポート設定が壊れている疑い。公式の対処は「マシンを report して別のマシンを試す」
Open / Connectrunning稼働中。GPU + ストレージ + 帯域のすべてが課金される
Inactivestopped停止。GPU 課金なし、ストレージ課金は続く
Scheduling—再開待ち。30 秒以上続くなら GPU は他の人に取られている
Offlineofflineホストが切断。GPU もストレージも課金されない
—exited / unknown終端状態。running には戻らない
—frozenメモリを保ったまま一時停止。GPU 課金あり

loading 中の課金について、公式ドキュメントには「Loading 中は課金されない」という書き方をしているページもあります。ただし CLI と SDK の入門ページはどちらも「ストレージ課金は作成時から、GPU 課金は running になってから」と書いており、こちらが具体的です。本書はこの読み方を採り、「Loading 中はストレージも無料」とは考えません。

コスト早見表と見積り式

数字はすべて 2026-08-24 に公開 API から取得した 1×RTX 5090(on-demand・64 件)の実測値です。

項目実測値(2026-08-24)単位
GPU(On-demand)最安 0.3215 / 中央値 0.4037 / 最高 0.6022USD/時
GPU(Interruptible)中央値 約 0.34 / 最安 0.106USD/時
ストレージ storage_cost最小 0.133 / 中央値 0.200 / 最大 0.867USD/GB/月
下り帯域 inet_down_cost中央値 0.0026USD/GB
上り帯域 inet_up_cost中央値 0.0039USD/GB
下り速度 inet_down最小 48 / 中央値 752Mbps

見積りに使う式は 2 本だけです。公式が式として掲げているものではなく、各フィールドの単位から組み立てたものなので、当てはめる値は必ず自分が借りる offer の実数を使ってください。storage_cost は「USD/GB/月」なので、時間あたりに直すには 1 か月 = 720 時間(30 日換算)で割ります。inet_down_cost は「USD/GB」なので、掛けるのはバイト数ではなく GB 数です。

月額ストレージ費用 = 確保した GB × storage_cost

ある作業の総額 = dph_total × running だった時間 + 確保した GB × storage_cost ÷ 720 × 作成から destroy までの時間 + 落とした GB 数 × inet_down_cost

2 本目の式で GPU 分だけ「running だった時間」なのは、stopped の間は GPU 課金が止まるのにストレージ課金は続くからです。手元へ送り返すデータが大きいときは、末尾に アップロードした GB 数 × inet_up_cost(2026-08-24 時点の中央値 0.0039 USD/GB)も足してください。

中央値で計算例を出すと、ディスク 40 GB のインスタンスを 2 時間使ったときの総額は約 0.83 USD(1 USD = 150 円として約 125 円)です。同じ 40 GB を消し忘れて 1 か月置くと 40 × 0.200 = 8.00 USD、これは GPU 約 20 時間分に相当します。止め忘れよりも消し忘れのほうが高くつきます。ストレージ単価はホスト差が大きく、最も高い storage_cost 0.867 のホストなら同じ 40 GB が月 34.7 USD になります(いずれも 2026-08-24 時点の実測値による計算例)。

相場は日単位で動くので、大きな出費の前には自分で取り直してください。次のコマンドは REST API(= CLI を通さずプログラムから直接叩く HTTP の窓口)を叩くもので、API キーなしでも公開 offer が返ってきました(2026-08-24 実測。公式仕様上は全エンドポイントで認証が必要とされているので、返らなくなったら自分のキーを -H "Authorization: Bearer <YOUR_API_KEY>" で添えてください)。

curl -s -X POST "https://console.vast.ai/api/v0/bundles" \
  -H "Content-Type: application/json" \
  -d '{"limit":64,"type":"ondemand","rentable":{"eq":true},
       "gpu_name":{"eq":"RTX 5090"},"num_gpus":{"eq":1},
       "order":[["dph_total","asc"]]}'

REST 側では "RTX 5090" とスペース区切りで書きます。CLI の書式である RTX_5090 を渡すと 0 件になります(2026-08-24 実測)。また limit に大きい値を渡しても返るのは最大 64 件でした。

3 つのチェックリスト

順番に潰せば、本書で扱った事故のほとんどは起きません。

借りる前(ここまで無料)
動かしている間
撤収(この順で)

用語辞典

本書で最も混同されるのは machine・offer・rental contract・instance の 4 語です。この 4 つの関係が分かれば、「値段が途中で変わらない理由」も「期限が来ると止まる理由」も同じ 1 つの仕組みで説明できます。

出品 Rent 起動 レシピ machine 物理マシン 1 台 offer(構成 A) offer(構成 B) offer(構成 C) rental contract 価格・期限が固定 instance Docker コンテナ template イメージとポート Rent の瞬間に固定される 1 台の machine から複数の offer が出る。借りた瞬間の条件だけが契約に写る
図 18-4 ホストが後から値段を上げても、掲示を取り下げても、すでにできた契約は変わりません。逆に言えば、借りた時点の期限より先には延ばせません。同じ物理マシンの上に、値段も期限も違う契約が同時に並ぶことがあります。
用語意味
host / renterGPU を貸す側 / 借りる側。本書の読者は renter
machinevast.ai に登録された 1 台の物理マシン。複数の offer を出せる
offerhost が貸し出す意思のある特定の構成。検索結果の 1 行
rental contractoffer を借りた瞬間にできる契約。価格・期限・スペックが固定される
instance契約に基づいて動く実体。ほぼすべてが Docker コンテナ
template再利用できる起動設定。技術的には docker run のラッパー
On-demand固定価格・高優先度・中断されない契約
Interruptible入札制・低優先度。より高い入札に負けると停止される
Reservedon-demand から前払いへ転換した状態。最初から選ぶことはできない
verified自動テストと需給アルゴリズムが「貸し出しに耐える」と判定した印。品質保証書ではない
deverifiedいったん verified になった後で基準を満たさなくなった状態
reliability scoreマシンの過去の稼働率の指標。全マシンが 60% から始まる
DLPerfvast.ai 独自の深層学習性能スコア。機種をまたいで比べるときに使う
dph_base / dph_totalGPU 単体の時間単価 / GPU + ディスクの合計時間単価。どちらも帯域費は含まない
min_bidその offer を Interruptible で借りるときの現在の最低入札額(USD/時)
duration最大レンタル期間。CLI の検索フィールドは日、REST の絞り込みは秒
storage_costストレージ単価(USD/GB/月)。実際に使った量ではなく確保した容量に対して課金される
direct_port_countホストのルータで開いているポート数。direct SSH には 1 以上が必要
direct / proxyホストへ直接つなぐ方式 / vast.ai の中継サーバー経由でつなぐ方式
runtype起動の型。ssh_direct は 22 番、jupyter_direct は 8080 番と 22 番を開く
onstart起動時に自動実行されるコマンド。書かないと SSH だけが立ち上がる
gpu_fracマシン全体の GPU のうち借りている割合。CPU と RAM も同じ比率で配分される
volumeインスタンスとは別建ての保存領域。destroy を生き延び、独立して課金される
Instance Portal推奨テンプレートで Open を押すと出る画面。認証を挟んで中のサービスへ入れる
Secure Cloud審査済みデータセンターだけに絞る検索フィルタ。青いラベルが目印
VRAMGPU 側のメモリ。モデルはここに載る。RTX 5090 の offer は 2026-08-24 時点で全件 gpu_ram = 32607 MB
CUDANVIDIA の GPU を計算に使うための基盤。RTX 5090 の世代(Blackwell)向けに、vast.ai 公式は CUDA 12.8 / PyTorch 2.7 以上のイメージを求めている
SSH遠くのコンピューターに安全にログインする仕組み

つまずきポイント

早見表のコマンドをコピペしたら 0 件だった

GPU の名前の書き方が入口によって違います。CLI は RTX_5090(アンダースコア)、REST API は "RTX 5090"(スペース)です。REST にアンダースコアを渡すと、エラーではなく静かに 0 件が返ります(2026-08-24 実測)。「在庫が無い」と誤解しやすいので、0 件のときはまず綴りを疑ってください。

同じ名前のフィールドなのに数字が合わない

単位が入口ごとに違うものがあります。gpu_ram は CLI が GB・REST が MB、duration は CLI が日・REST が秒、storage_cost は USD/GB/月です。本書の表で単位を毎回書いているのはこのためです。値だけを写して計算すると、GB と MB で約 1000 倍、日と秒で 86400 倍、月と時で 720 倍ずれます。

検索画面の USD/時 で予算を組んだ

表示価格はディスクを 5 GiB(CLI の既定)または 8 GB(REST の既定)確保した場合の値で、さらに帯域費が入っていません。40 GB 取れば差額が出ますし、20 GB のモデルを落とせば下り帯域が別に乗ります(2026-08-24 時点の中央値 0.0026 USD/GB なら 20 × 0.0026 ≒ 0.05 USD で誤差の範囲ですが、inet_down_cost が高いホストでは効いてきます)。予算を組むときは、この章の 2 本目の式に自分の値を入れてください。

この章の価格をそのまま来月も使った

掲載した数字は 2026-08-24 の 1 スナップショットです。vast.ai は世界中のホストが自分で値付けする市場なので、相場は日単位で動きます。出費が大きくなる前に、この章の curl で当日の分布を取り直してください。

理解度チェック

Q1. 「まず 1 時間だけ試したい」とき、どの構成を選びますか?

1×RTX 5090 の On-demand です。2026-08-24 時点で 0.3215〜0.4037 USD/時(1 USD = 150 円として約 48〜61 円)。ディスクは 40 GB 程度を明示指定し、終わったら destroy します。Interruptible は、他の人により高い額で入札されると止まります。しかもこの日の 1×5090 は on-demand の中央値 0.4037 に対し入札側の中央値が 0.34 前後で、差は 1〜2 割しかありませんでした(公式ガイドは「50〜80% 安い」と書いていますが、この日のスナップショットには当てはまっていません)。短時間の試用では割に合いません。

Q2. vastai show instance の actual_status が exited になりました。待てば running になりますか?

なりません。exited / unknown / offline は終端状態で、そこから running に戻ることは決してありません。待っている間もディスク課金は続くので、destroy して別の offer で取り直します。

Q3. ディスク 40 GB のインスタンスを 2 時間使いました。総額の目安は?

2026-08-24 の中央値(GPU 0.4037 USD/時、storage_cost 0.200 USD/GB/月)で計算すると 0.4037 × 2 + 40 × 0.200 ÷ 720 × 2 ≒ 0.83 USD(計算例)。1 USD = 150 円として約 125 円です。ここにモデルを落とした分の下り帯域(中央値 0.0026 USD/GB)が加わります。

Q4. SSH 公開鍵を登録する前にインスタンスを作ってしまいました。どうしますか?

Docker インスタンスなら vastai attach ssh <INSTANCE_ID> "$(cat ~/.ssh/id_ed25519.pub)" で後から足せます(コンソールのインスタンスカードの SSH キーボタンでも可)。ただし VM インスタンスでは後付けできません。作り直しになるので、鍵の登録は必ず借りる前に済ませます。

Q5. 撤収時、vastai destroy instance を実行しました。他に確認することは?

まず destroy の前にデータを回収したかです(destroy は不可逆で、破棄したインスタンスは閲覧すらできません)。次に volume の有無。volume はインスタンスとは別建てで、destroy を生き延びて課金され続けます。最後に vastai show instances で消し忘れがないかと、Billing の Charges タブで内訳を確認します。

まとめ

ここまでで、借りる・つなぐ・動かす・止めるの全工程が一巡しました。実際の作業では詰まるたびにこのページへ戻り、必要な章だけを読み直してください。数字が古くなったと感じたら、まず curl で当日の相場を取り直すところから始めるのが確実です。