Runpod(ランポッド)は、GPUを秒単位で借りられるAI開発向けのクラウドです。RTX 4090なら1時間0.34〜0.89ドル、H100 SXMなら2.69〜3.99ドルで、コンテナ化された環境をすぐに起動できます(公式料金ページ、2026年10月8日更新)。旧表記は「RunPod」ですが、公式ドキュメントは2025年6月以降「Runpod」表記に統一しています。この記事では、料金の内訳、支払い方法、Podの起動からSSH接続・停止までの手順、ComfyUIで画像生成を始める手順、Serverlessで推論APIを動かす手順とAPIキーの権限、GPUの選び方、AWSなど大手クラウドやGoogle Colab・Vast.aiとの違いを、公式ドキュメントとrunpodctl(公式CLI)v2.15.0の--help出力をもとに整理します。
まとめ:Runpodの料金と使い方の要点
- Runpodの中心は、専有GPUを借りるPodsと、リクエスト単位で動くServerlessの2つです。Podの計算資源とContainer disk・Volume diskは秒単位、Network volumeは時間単位で課金され、データ転送料(ingress/egress)はかかりません。
- Podsの料金は、期間の縛りがないOn-demandと、3か月または6か月を前払いするSavings planから選びます。現行の料金ドキュメントにスポットは載っていません。
- 無料枠はなく、前払いのクレジット制です。入金は10ドルから、支払いはクレジットカード・暗号資産・請求書払い(5,000ドル超)に対応しています。
- 停止したPodでも、Volume diskには1GBあたり月0.20ドルがかかり続けます。実行中の2倍の単価なので、止めたまま放置するなら削除かネットワークボリュームへの移行が安上がりです。
- 残高が0ドルになると全Podが止まり、ネットワークボリュームを付けていないPodは終了されてデータを復旧できません。
- 画像生成なら、公式のComfyUIテンプレートでPodを立て、ポート8188のHTTPサービスにブラウザで接続します。RTX 5090・B200では専用のBlackwell Editionを選びます。
- Serverlessは、
handler.pyに関数を1つ書いてエンドポイント化し、/runと/statusで呼び出します。自分でデプロイせず既製モデルを従量課金で呼ぶだけなら、Public Endpointsで足ります。 - GPUクラウドの選び方は「今日すぐGPUを使いたいか」「社内の権限管理や閉域網の中で処理する必要があるか」で分かれます。前者はRunpod、後者は大手クラウドのGPUが向きます。
以下、料金、支払い、手順、GPU選び、他サービスとの比較の順に根拠を示します。
Runpodの運営会社・提供サービスとGPU計算に特化したクラウドの位置づけ
大手クラウドのような汎用サービス群は持たず、GPU計算に特化したクラウドです。こうしたGPU専業のクラウドの全体像はネオクラウドの定義と技術的優位性で整理しています。
運営会社Runpod, Inc.の所在地と資金調達・利用者数
運営は米国のRunpod, Inc.です。利用規約が契約当事者と連絡先として示す所在地は、サンフランシスコ(329 Bryant St #4D, San Francisco, CA 94107)です。Zhen Lu氏とPardeep Singh氏が共同で創業し、2021年後半に米ニュージャージー州の自宅地下にあったGPUを貸し出す形で開発が始まりました。2026年6月24日には、Summit Partnersが主導する1億ドルの資金調達を発表し、企業評価額は10億ドルとしています(公式プレスリリース)。2026年10月13日の発表では、年間経常収益(ARR)が3億2,500万ドルを超え、2026年1月の1億2,000万ドルから増えたこと、利用する開発者が120万人を超えたことを公表しました(公式プレスリリース)。公式ドキュメントには日本語版がなく、手順の確認は英語のページで行います。
Pods・Serverless・Clusters・Hub・Public Endpointsの役割
| サービス | 中身 | 向く用途 |
|---|---|---|
| Pods | 専有GPU/CPUのコンテナ | 学習・検証・画像生成 |
| Serverless | 自動スケールする推論基盤 | API化した推論 |
| Instant Clusters | マルチノードのGPUクラスター | 大規模な分散学習 |
| Hub | 構成済みAIリポジトリの配布 | 既製モデルの即デプロイ |
| Public Endpoints | デプロイ済みモデルのAPI | 画像・動画・音声の生成を従量課金で |
個人の利用や検証のほとんどはPodsで足ります。PodはDockerコンテナとして起動し、PyTorchなどが入った公式テンプレートを選べば、CUDAやJupyterLabを自分で用意する必要はありません。
Secure CloudとCommunity Cloudの違い
Podsには2種類の置き場所があります。Secure CloudはTier 3/Tier 4のデータセンターで動き、冗長性が高く、本番運用や機密データ向けです。Community Cloudは審査済みの個人・事業者のマシンを仲介する方式で、単価は安い反面、信頼性はマシンによって差があります。なお公式ドキュメントによれば、Community Cloudの新規ホストの受け入れは停止中です。既存のリソースは引き続き利用できます。ただし、新規ホストの受付停止だけでは、既存ホストによる増設を含む将来の供給量までは判断できません。Windowsが使えない、Pod内でDockerを起動できない、UDPが通らないといった実行環境の制約は、後述の「Runpodを選ぶべきでない場面」にまとめています。
Runpodの料金:GPU別の時間単価と停止中も続くストレージ課金
Podの料金は「GPU時間単価×稼働時間」に「ストレージ容量×保管時間」を足した合計です。データのアップロード・ダウンロードに転送料はかかりません。
GPU別の時間単価と提供形態による差(2026年10月8日更新版)
公式料金ページ(2026年10月8日更新)の主なGPUの単価です。Serverlessの列はFlex worker(アイドル時にゼロまで縮む方式)の単価で、一部のGPUは共通の料金グループにまとめられていますが、同じVRAM容量でもGPUによって単価は異なります。
| GPU | VRAM | Community | Secure | Serverless |
|---|---|---|---|---|
| RTX A5000 | 24GB | $0.16 | $0.27 | $0.69 |
| RTX 3090 | 24GB | $0.22 | $0.50 | $0.69 |
| L4 | 24GB | $0.44 | $0.59 | $0.69 |
| RTX 4090 | 24GB | $0.34 | $0.89 | $1.10 |
| RTX 5090 | 32GB | $0.69 | $1.19 | $1.58 |
| RTX A6000 | 48GB | $0.33 | $0.59 | $1.22 |
| A40 | 48GB | $0.35 | $0.59 | $1.22 |
| L40S | 48GB | $0.79 | $1.09 | $1.75 |
| RTX PRO 6000 | 96GB | $1.69 | $2.49 | $3.49 |
| A100 PCIe | 80GB | $1.19 | $1.79 | $2.72 |
| A100 SXM | 80GB | $1.39 | $1.79 | $2.72 |
| H100 PCIe | 80GB | $1.99 | $2.89 | $4.79 |
| H100 SXM | 80GB | $2.69 | $3.99 | $4.79 |
| H200 | 141GB | $3.59 | $5.29 | $5.93 |
| B200 | 180GB | $5.98 | $7.99 | $8.64 |
単価はすべて1時間あたりの米ドルで、税は含みません。GPUの単価は改定されることがあるため、実際にデプロイするときはコンソールのPod作成画面に出る金額が正です。RTX 4090ではSecureがCommunityの約2.6倍ある一方、L4ではSecureが1時間0.15ドル高く約34%増、A100 SXMでは0.40ドル高く約29%増です。A100はPCIeとSXMのSecure単価が同じ1.79ドルです。
料金ページには検索エンジン向けの構造化データも埋め込まれていますが、2026年10月15日時点ではSecure Cloudの値が表示中の表より低い旧単価のまま残っていました(RTX 4090は表示0.89ドルに対し構造化データ0.74ドル)。上の表は、料金ページに表示される値と、認証なしで呼べる公開GraphQL API(https://api.runpod.io/graphqlのgpuTypes)が返すsecurePrice・communityPriceが一致することを、2026年10月15日に確かめたものです。検索結果のスニペットや他サイトに出る単価が安く見えても、それは古い値の可能性があります。
On-demandとSavings planの契約条件とスポット価格の記載状況
現行の料金ドキュメント(Pods pricing)が挙げる選択肢は2つです。On-demandは縛りのない従量課金で、割り当てたGPUが他の利用者に奪われることはありません。Savings planは3か月か6か月分を前払いして割引を受ける方式で、Podを止めても同じGPU種別の次回デプロイに自動で適用されます。ただし割引はGPU計算だけが対象で、ストレージは通常料金のままです。途中解約による返金もありません。
旧版の記事や古い解説では「スポット(interruptible)で安く借りる」方法が紹介されていますが、現行の料金ドキュメントと料金ページの表にスポットの価格はありません。一方で、Lambdaとの公式比較ページは「On-demandより最大50〜70%安いスポットインスタンス」を挙げており、公式の中でも記載が揃っていません。2026年10月15日に公開GraphQL APIのgpuTypesを引いたところ、48種のGPUすべてでスポット価格の項目(secureSpotPrice・communitySpotPrice)は空でした。中断されてよい安価な枠を前提に予算を組むのは避け、On-demand単価で見積もるのが安全です。
ストレージ3種の容量別料金とPodの実行中・停止中の課金の違い
| 種類 | 実行中 | 停止中 | データの寿命 |
|---|---|---|---|
| Container disk | $0.10/GB/月 | 課金なし | 停止で消える |
| Volume disk | $0.10/GB/月 | $0.20/GB/月 | Pod削除まで |
| Network volume | $0.07/GB/月 | $0.07/GB/月 | Podと独立 |
Network volumeはSecure CloudのPodでしか使えず、1TBを超えた分は$0.05/GB/月に下がります。高速版のHigh-performance storageは$0.14/GB/月の別料金です。見落としやすいのは、/workspaceに載るVolume diskが停止中に実行中の2倍の単価になる点です。GPUを止めれば料金は止まる、という前提で数十GBのモデルを置いたままにすると、使っていない月にもストレージ代が積み上がります。
GPUの稼働時間とストレージの保管容量・停止時間を含む月額の試算方法
次のコードは、1か月を730時間、稼働時間を0〜730時間、StandardのNetwork volumeを1TB以下かつ1か月保持する前提とした簡易試算です。税と割引は含みません。例として、RTX 4090(Secure Cloud、$0.89/時)を月40時間使い、モデル置き場に50GBを確保した場合を比べます。ローカルのPython 3で実行して値を確認しました。
HOURS_PER_MONTH = 730
def monthly_cost(gpu_per_hr, run_hours, container_gb=20, volume_gb=0, network_gb=0):
idle_hours = HOURS_PER_MONTH - run_hours
gpu = gpu_per_hr * run_hours
container = container_gb * 0.10 * run_hours / HOURS_PER_MONTH
volume = volume_gb * (0.10 * run_hours + 0.20 * idle_hours) / HOURS_PER_MONTH
network = network_gb * 0.07
return round(gpu + container + volume + network, 2)
# RTX 4090(Secure Cloud 0.89USD/時)を月40時間、モデル置き場50GB
print("volume disk 50GB :", monthly_cost(0.89, 40, volume_gb=50))
print("network vol 50GB :", monthly_cost(0.89, 40, network_gb=50))
# Community Cloud 0.34USD/時の場合(Network volumeはSecure Cloud専用のためVolume disk)
print("community + vd :", monthly_cost(0.34, 40, volume_gb=50))
実行結果は、Volume diskが45.44ドル、Network volumeが39.21ドル、Community CloudでVolume disk 50GBを使うと23.44ドルです。Secure同士ではGPU代35.60ドルが同じで、差はストレージだけです。Volume diskは50GBで9.73ドルかかるのに対し、Network volumeは3.50ドルで済みます。稼働時間が月の1割に満たない使い方なら、モデルはNetwork volumeに置くほうが安くなります。Network volumeはSecure CloudのPodにしか付けられないため、Community Cloudでは停止中に単価が上がるVolume diskを使うことになります。それでも合計はSecure Cloud+Network volume(39.21ドル)の約60%に収まりますが、ホストによって信頼性に差がある点は前述のとおりです。
Serverlessの課金単位と起動・処理・アイドル時間の費用
Serverlessは、ワーカーが起動してから完全に止まるまでを1秒単位に切り上げて課金します。課金対象はモデルをGPUに載せる起動時間、リクエストの処理時間、処理後に次のリクエストを待つアイドル時間(既定5秒)の3つです。コンテナイメージの取得と、モデルキャッシュ機能によるモデルのダウンロードは、ワーカーが動き出す前の処理なので課金されません(Serverless pricing)。常時起動のActive workerは割引があるものの、単価は営業経由の個別見積もりで公開されていません。推論をAPIとして常設する構成の考え方はモデルサービングの構成と選定基準が参考になります。
Runpodの支払い方法と前払いクレジットの入金条件・残高管理
Runpodは前払いのクレジット制です(公式のBilling overview)。コンソールのBillingページで入金した残高から、使った分がリアルタイムに引かれます。課金処理は5分ごとに走ります。
Runpodの支払い手段別の入金条件とカード・暗号資産の注意点
| 方法 | 条件 |
|---|---|
| クレジットカード | Visa・Mastercard・Amex等 |
| プリペイドカード | 1回100ドル以上の入金を推奨 |
| 暗号資産 | 初回前にKYC(本人確認)が必要 |
| 請求書払い | 5,000ドル超の取引。ACH・電信送金・カード |
クレジットカードはStripeが対応するVisa・Mastercard・Amex等を使えます。料金はドル建てです。日本のカードで払う場合、円への換算レートと手数料はカード会社の規定に従います。プリペイド式のカードでは、公式ドキュメントは1回100ドル以上の入金を推奨しています。100ドル未満の決済が一律に不可とは明記されていません。カードが通らないときは、公式の「Troubleshoot payment card declines」ページに対処手順があります。
Podの起動に必要な最低入金額・残高と全リソースの支出上限の確認
入金は10ドルから始められます。ただしPodを新規にデプロイするには、選んだ構成の1時間分以上の残高が必要です。H200(Secure、$5.29/時)を選ぶなら、少なくとも5.29ドルの残高が要ります。全リソース合計の支出上限は既定で1時間80ドルです。利用実績に応じて自動で引き上げられ、急ぐ場合はサポートに申請します。入金したクレジットは返金も引き出しもできません。
クレジット残高がゼロになったときのPod停止・データ削除の条件
残高が0ドルになると、実行中のPodはすべて自動で停止します。このとき、Network volumeを付けたPodは停止でとどまりデータも残りますが、付けていないPodは終了(削除)され、データは復旧できません。Network volume自体も停止中に課金が続くため、残高0の状態が続けば最終的に削除されることがあります。長時間の学習を回すなら、Billingページで残高低下の通知メールか、閾値を下回るとカードから自動入金するauto-pay(試行は1時間に1回まで)を設定しておきます。
Runpodの使い方:Pod作成・接続から停止・削除までの操作手順
RunpodコンソールでのPod作成・GPU選択と接続までの手順
- console.runpod.ioでアカウントを作成し、Billingページで入金する。
- SSHで接続する予定なら、Credentialsページに公開鍵(
id_ed25519.pubの中身。SHA256:で始まる指紋ではない)を登録する。 - Podsページで「Deploy」を選び、GPUの種類とSecure/Communityを選ぶ。
- テンプレート(例:Runpod PyTorch)を選び、Container diskとVolume diskの容量を決めて起動する。
- 起動後は、JupyterLab、Webターミナル、SSH、VS CodeやCursorから接続する。公開したポートには
https://<pod-id>-<port>.proxy.runpod.netの形式でアクセスできる。
JupyterLabのカーネルは予期せず落ちることがあり、ノートブックで回した長時間の処理が途中で失われます。長い学習はターミナルでtmuxを使って実行すれば、切断後も処理の継続が可能です。tmuxは既定では入っていないため、apt-get install -y tmuxで導入します。
SSHとVS Code・Cursorで接続する手順と2種類のSSHの違い
PodのConnectタブには、SSHのコマンドが2種類表示されます(Connect to a Pod with SSH)。どちらを使うかで、できることが変わります。
| 方式 | コマンドの形 | SCP・SFTP |
|---|---|---|
| 基本SSH(プロキシ経由) | ssh <pod-id>-<番号>@ssh.runpod.io |
使えない |
| SSH over exposed TCP | ssh root@<IP> -p <ポート> |
使える |
基本SSHはすべてのPodで使えますが、Runpodのプロキシを経由するためファイル転送のコマンドが通りません。VS CodeやCursorのRemote-SSHで接続する場合も、公開IPとポート22を使う「SSH over exposed TCP」が必要です(Connect to a Pod with VSCode or Cursor)。デプロイ画面でテンプレートを選んだあと「SSH Terminal Access」にチェックが入っているかを確かめ、起動後にConnectタブの2つ目のコマンドをVS Codeの「Remote-SSH: Connect to Host」→「Add New SSH Host」に貼り付けます。公式のPyTorchテンプレートはこの方式に対応しています。
# 手元で鍵を作り、公開鍵の中身をCredentialsページに貼る
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "[email protected]"
cat ~/.ssh/id_ed25519.pub
# ConnectタブのSSH over exposed TCPのコマンド(IPとポートはPodごとに異なる)
ssh root@<POD_IP> -p <SSH_PORT> -i ~/.ssh/id_ed25519
RunpodのSSHはパスワードを使わないため、接続時にパスワードを聞かれたら鍵の設定がどこかで食い違っています。公式ドキュメントは、登録側の誤り(SHA256:で始まる指紋を貼った、先頭のssh-ed25519を落とした、複数の鍵を改行で区切らずに貼った)と、接続側の誤り(-iで指定した秘密鍵のパスが違う、秘密鍵のファイルが他のユーザーから読める権限になっている、~/.ssh/configのIdentityFileが別の鍵を指している)を挙げています。鍵の登録はPodの起動前に済ませておくと、起動時に自動でauthorized_keysへ書き込まれます。
runpodctlでのPod作成・停止とGPUの確認に使う操作手順
公式CLIのrunpodctlを使うと、ローカルのターミナルからPodを作成・停止できます。以下のフラグは、2026年10月9日公開のv2.15.0の--help出力と公式リファレンスに記載されているものです。
# インストールと初期設定(APIキーとSSH鍵を対話で登録)
bash <(curl -sL cli.runpod.io)
runpodctl doctor
# 使えるGPUのID(--gpu-idに渡す正式名)を確認
runpodctl gpu list
# 公式PyTorchテンプレートでRTX 4090のPodを作成し、SSHが通るまで待つ
runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA GeForce RTX 4090" --volume-in-gb 50 --wait
runpodctl pod list # 実行中のPod(停止済みも見るなら --all)
runpodctl pod stop <pod-id> # 停止:GPU代は止まるがVolume diskは課金継続
runpodctl pod delete <pod-id> # 削除:ストレージ課金も止まる
runpodctl billing pods # Podの請求履歴
--cloud-typeの既定値はSECUREです。Community Cloudで--waitを使う場合は、ポート22を公開するために--public-ipも付ける必要があります。--waitの待ち時間の上限は--wait-timeoutで指定し、既定は10分です。時間切れになってもPodは残るため、課金を止めるにはpod deleteが要ります。古い記事にあるrunpodctl stop podのような「動詞が先」の書き方は、v2系では非推奨(deprecated)に分類されています。
停止(Stop)と削除(Terminate)の課金・データ保持の違い
停止するとGPUが解放され、GPUの課金が止まります。Container diskの中身は消えますが、/workspaceのVolume diskは残り、$0.20/GB/月の課金が続きます。削除(Terminate)するとVolume diskも消え、そのPodへの課金はすべて停止する仕組みです。Network volumeはPodを削除しても残ります。数日以上使わないなら、必要なファイルをNetwork volumeか外部ストレージに移して削除するのが、費用面でもデータ保全面でも確実です。
runpodctl send・receiveとscpによるファイル転送の使い分け
モデルやデータセットを手元とPodの間で移す方法は、公式ドキュメント(Transfer files)が4つ挙げています。runpodctlはすべてのPodに最初から入っているため、手元にも入れれば設定なしで使えます。送る側でsendを実行すると使い捨てのコードが表示され、受け取る側でそのコードをreceiveに渡します。
# 送る側(手元のPCまたはPod)
runpodctl send model.safetensors
# 表示例: Code is: 8338-galileo-collect-fidel
# 受け取る側(Pod内のターミナルなど)
runpodctl receive 8338-galileo-collect-fidel
# 公開IPのSSHが使えるPodならscpでも送れる(ポートとIPはConnectタブの値)
scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 model.safetensors root@<POD_IP>:/workspace/
runpodctlのヘルプは、この転送をcrocというオープンソースの転送ツールで行うと説明しています。公式は小〜中サイズのファイル向けとしており、数十GBのデータセットや定期的な同期には、差分だけを送れるrsync(SSH over exposed TCPが必要)か、S3などのクラウドストレージとの同期を使います。
RunpodでComfyUI・Stable Diffusionの画像生成を始める手順
画像生成でRunpodを使うなら、ComfyUIとComfyUI Managerがあらかじめ入った公式テンプレートを使うと、環境構築を省けます。公式チュートリアル(Generate images with ComfyUI)は、ComfyUIとプラグインのComfyUI Managerが入ったテンプレートを使い、SDXL-Turboで1枚生成するまでを示しています。
GPUに合わせたComfyUIテンプレートの選択とPodの起動
テンプレートは2種類あり、GPUの世代で選び分けます。RTX 4090・L40・A100などの一般的なGPUは「ComfyUI」、RTX 5090やB200のBlackwell世代は「ComfyUI Blackwell Edition」です。公式は、Blackwell世代はアーキテクチャが異なるため、専用のテンプレートで互換性を確保すると説明しています。
- コンソールのHubで対象のComfyUIテンプレートを開き、「Deploy」を選ぶ。
- GPUを選ぶ。公式はSDXL-TurboならL40かRTX 4090を挙げている。ストレージはテンプレートの既定値で足りる。
- 「Deploy On-Demand」で起動する。初回はコンテナの準備に最大30分かかる。
- PodのConnectから「Connect to HTTP Service [Port 8188]」を選ぶと、
https://<pod-id>-8188.proxy.runpod.netでComfyUIが開く。「Not Ready」やBad Gatewayが出たら2〜3分待って再読み込みする。
同じ構成はrunpodctlでも作れます。次のコマンドは、公式チュートリアルのREST APIの例(イメージrunpod/comfyui:latest、Container disk 50GB、Volume disk 100GB、公開ポート3つ)を、v2.15.0の--helpにあるフラグへ置き換えたものです。
# 公式テンプレートのIDを調べる場合
runpodctl template search comfyui --type official
# 8188=ComfyUIの画面、22=SSH、8080=ファイルブラウザ
runpodctl pod create --name comfyui-pod --image runpod/comfyui:latest \
--gpu-id "NVIDIA GeForce RTX 4090" --container-disk-in-gb 50 --volume-in-gb 100 \
--ports "8188/http,22/tcp,8080/http"
RTX 5090やB200で動かす場合、REST APIの例ではイメージをrunpod/comfyui:cuda12.8に替えます。
テンプレートに入っていないモデルの導入と保存先の費用
ワークフローは、使うモデル向けに作られたものを選びます。公式チュートリアルでは、画面右上の「Workflow」→「Browse Templates」→「Image」タブからSDXL-Turboのテンプレートを読み込みます。テンプレートにモデルは入っていないため、読み込むと「Missing Models」が表示されますが、そこのダウンロードボタンはモデルを手元のPCに落とすだけです。Podに入れるには、画面右上のManagerから「Model Manager」を開き、モデル名(例:SDXL-Turbo 1.0 (fp16))で検索してInstallを押し、画面を再読み込み(Rキー)してからLoad Checkpointノードでモデルを選びます。あとは「CLIP Text Encode (Prompt)」ノードにプロンプトを入れて「Run」(Ctrl+Enter)を押すと、出力ノードに画像が表示され、右クリックで保存できます。初回はモデルの読み込みに数分かかります。Model Managerにないモデルは、前述のrunpodctl sendで/workspace/madapps/ComfyUI/modelsに送ります。
見落としやすいのは保存先の費用です。公式例の100GBのVolume diskは、実行中は月10ドル、停止中は単価が2倍になり月20ドルかかります。FLUX系のように1本で数十GBになるモデルを何本も置くなら、Secure CloudのPodであれば、停止中も単価が変わらないNetwork volume(100GBで月7ドル)に置き、作業のたびにPodを作り直すほうが安くなります。FLUX.2の各モデルの違いと必要な規模はFLUX.2の全5モデル比較で、ComfyUIで動画生成モデルを動かす手順はWan2.2の使い方で解説しています。
ComfyUIのワークフローを推論APIとして公開したい場合は、HubからServerlessのエンドポイントにComfyUIをデプロイする公式手順もあります(Deploy ComfyUI on Serverless)。
Runpod Serverlessのhandler.py作成・APIキーの権限とAPI呼び出し手順
Podが「GPU付きのサーバーを借りる」使い方なのに対し、Serverlessは「関数を置いておき、リクエストが来たときだけGPUを動かす」使い方です。推論をAPIとして公開したいが、待機中のGPU代は払いたくない、という場面に向きます。
handler.pyの作成と入力JSONを使ったローカル動作の確認
公式のHandler functionsが示す最小構成は、ジョブを受け取る関数を1つ書き、runpod.serverless.startに渡すだけです。ジョブの入力はjob["input"]に入っています。次の例は、受け取ったプロンプトの文字数を返すだけの関数です。実際にはこの中でモデルを呼び出します。
# handler.py(事前に pip install runpod で公式SDKを入れる)
import runpod
def handler(job):
job_input = job["input"]
prompt = job_input.get("prompt", "")
# ここで推論処理を呼ぶ。例として文字数を返す
return {"prompt": prompt, "length": len(prompt)}
runpod.serverless.start({"handler": handler})
手元での動作確認は、--test_inputに入力JSONを渡して実行します。同じ内容をtest_input.jsonとして置き、python handler.pyだけで動かす方法もあります。
python handler.py --test_input '{"input": {"prompt": "Test prompt"}}'
動作を確かめたら、このファイルとモデルの依存関係をコンテナイメージにまとめ、コンソールのServerlessページでエンドポイントを作成します。モデルの重みを毎回ダウンロードすると起動時間がそのまま課金されるため、重みはイメージに含めるかNetwork volumeに置きます。
APIキーの作成とAll・Restricted・Read Onlyの権限の選び方
エンドポイントの呼び出しにはAPIキーが要ります。コンソールのCredentialsページで「API Keys」タブを開き、「Create API Key」から名前と権限を決めて作成します(Manage credentials)。権限はAll・Restricted・Read Onlyの3つです。Restrictedを選ぶと、RunpodのAPIごとに「None(アクセスなし)」「Read/Write」「Read Only」に加え、Serverlessのエンドポイント単位で個別に許可する「Restricted」を選べます。キーはRunpod側に保存されないため、作成直後にコピーしてパスワード管理ツールやGitHubのシークレットに控えます。
アプリに組み込むキーは、呼び出すエンドポイントだけを許可したRestrictedにしておくと、漏れたときにPodの作成や削除まで操作される事態を防げます。2024年11月11日より前に作ったキーは旧形式で、AI APIには全権限を持つため、公式は最小権限のRestrictedキーへの作り直しを勧めています。なお、各Podには起動時からPodに限定されたAPIキーが入っているため、Pod内でrunpodctlを使うだけなら自分のキーを置く必要はありません。
/run・/status・/runsyncによるエンドポイントの呼び出し
エンドポイントができたら、エンドポイントIDとAPIキーでHTTPリクエストを送ります。書式は公式のOperation referenceに沿っています。
# 非同期でジョブを投入する(ジョブIDが返る)
curl --request POST \
--url https://api.runpod.ai/v2/$ENDPOINT_ID/run \
-H "authorization: $RUNPOD_API_KEY" \
-H "content-type: application/json" \
-d '{"input": {"prompt": "Hello, world!"}}'
# 応答例: {"id": "eaebd6e7-6a92-4bb8-a911-f996ac5ea99d", "status": "IN_QUEUE"}
# 返ってきたジョブIDで結果を取りに行く
curl --request GET \
--url https://api.runpod.ai/v2/$ENDPOINT_ID/status/YOUR_JOB_ID \
-H "authorization: $RUNPOD_API_KEY"
# 完了まで待って結果を受け取る同期版
curl --request POST \
--url https://api.runpod.ai/v2/$ENDPOINT_ID/runsync \
-H "authorization: $RUNPOD_API_KEY" \
-H "content-type: application/json" \
-d '{"input": {"prompt": "Hello, world!"}}'
使い分けの目安は処理時間です。公式ドキュメントによれば、/runsyncの待機は既定で90秒(?wait=で1,000〜300,000ミリ秒の範囲で指定)、結果の保持は完了後1分です。/runの結果は完了後30分保持されます。入力の上限は/runが10MB、/runsyncが20MBです(Send API requests、2026年10月時点)。数秒で返る分類や短文生成なら/runsync、画像生成や長文生成のように時間が読めない処理は/runで投げて/statusを問い合わせる形にすると、タイムアウトで結果を取り逃しません。
Public Endpointsでデプロイせずに既製モデルを呼ぶ方法と料金
自分でコンテナを作らず、公開済みのモデルを呼ぶだけで足りるなら、Public Endpointsが使えます(Public Endpoints overview)。画像(Flux Dev・Flux Schnell・Qwen Imageなど)、動画(WAN・Klingなど)、音声、テキスト(Qwen3 32Bなど)のモデルがRunpod側にデプロイ済みで、APIキーを付けてhttps://api.runpod.ai/v2/<モデルのID>/runsyncへPOSTするだけで結果が返ります。呼び方は上の/run・/runsyncと同じです。
課金はGPUの時間ではなく出力量です。公式の例では、Flux Devが1メガピクセルあたり0.02ドル(1024×1024の1枚で約0.021ドル)、Flux Schnellが0.0024ドル、Qwen3 32Bが100万トークンあたり10ドルで、生成に失敗した分は課金されません。1024×1024をFlux Devで月500枚生成すると約10.5ドルで、待機中のGPU代とモデルの保管代はかかりません。生成枚数が少なく、使わない期間が長いほど、Podにモデルを置いておくより有利になります。反対に、自前のLoRAや独自のワークフローを使うなら、ServerlessかPodで自分のコンテナを動かす必要があります。
停止後に起動できないZero GPU問題とNetwork volume
止めたPodを再開しようとして「Zero GPU Pods」と表示されるのは、Runpodでよくあるトラブルです。原因は仕組みにあります。Podは特定の物理マシンのGPUに結び付けられており、停止するとそのGPUは解放され、ほかの利用者が借りられるようになります。Volume diskは同じマシンに残ったままなので、GPUが埋まっていると元のマシンでは起動できません。
公式ドキュメントが示す対処は3つです。GPUなしで起動してデータだけ取り出す、空くまで待って再試行する、必要なデータを退避してからPodを削除して同じ構成で作り直す、のいずれかです。予防策として公式はNetwork volumeの使用を推奨しています。データを特定マシンから切り離しておけば、空いている別マシンに新しいPodを立てて同じボリュームを付けるだけで作業を再開できます。ただしNetwork volumeはSecure CloudのPodにしか付けられず、付けられるのもPod作成時だけで、後から付け外しはできません。また作成したデータセンターに固定されるため、そのデータセンターで目的のGPUが空いているかも確認しておく必要があります。
画像生成・LLMの学習と推論に向けた用途別のGPUとVRAMの選び方
GPU選びで最初に効くのはVRAM容量です。公式のPod選定ガイドは、LLMの目安をパラメータ10億あたり約2GBとしています。重みだけの概算では、16bitの7Bは約14GB、70Bは約140GB、4bitの70Bは約35GBです。実際の推論にはKVキャッシュなどの追加メモリが必要で、複数GPUが要るかはGPUの容量と実行条件によって変わります。同時リクエスト数や文脈長でKVキャッシュがどれだけ膨らむかは、KVキャッシュの仕組みとメモリ削減の手法で計算方法を解説しています。Podを起動したら、ターミナルでnvidia-smiを実行すると、割り当てられたGPUの型番とVRAMの使用量を確認できます。出力の読み方はnvidia-smiの使い方にまとめています。
| 用途 | 公式推奨のGPU帯 | VRAM目安 |
|---|---|---|
| 画像生成(SDXL・Flux) | RTX 4090、L4 | 16〜24GB |
| LLM推論(7B〜13B) | RTX 4090、L4 | 24GB |
| LLM推論(30B〜70B) | A100、H100 | 48〜80GB |
| LLMの学習・微調整 | A100、H100 | 40〜80GB |
| 3Dレンダリング | RTコア付きの中位帯 | 16〜24GB |
SDXLやFlux系の画像生成では、公式の推奨は表のとおり16〜24GBの帯です。必要量はモデルの規模・解像度・バッチサイズで変わるため、大きなモデルや動画生成ではこれを超えます。24GBの単価を比べると、Community CloudではRTX A5000($0.16)とRTX 3090($0.22)がRTX 4090($0.34)より安く、Secure CloudではRTX 4090が$0.89まで上がるため、RTX 3090($0.50)やL4($0.59)が候補に入ります。SDXLは最低8GBで動きますが、LoRA学習やバッチを大きく取るなら16〜24GBの余裕を持たせてください。LLMの微調整を80GB級のGPUより安く済ませたい場合は、QLoRAの仕組みとVRAM目安で必要量を先に見積もると、24〜48GB帯で足りるかを判断できます。LLMをPod上でAPIとして動かすなら、vLLMの仕組みと使い方で解説している推論サーバーがそのまま使えます。
Blackwell世代のRTX PRO 6000を分割したMIGスライス(24GB・48GB)はSecure Cloud限定です。使う場合は、CUDAとフレームワークの版がBlackwellに対応しているかを先に確認します。CUDAの版とドライバーの対応関係の読み方はCUDAの仕組みとバージョンの見方にまとめています。
GPUクラウドの選び方:Runpodと大手クラウドを分ける4つの判断軸
GPUクラウドは、RunpodのようなGPU専業のネオクラウドと、AWS・Google Cloud・Azureといった大手クラウドのGPUに大きく分かれます。どちらが安いかより先に、次の4つの軸で自分の案件がどちらに寄るかを確かめると、選び直しが起きにくくなります。
| 判断軸 | Runpod | 大手クラウド |
|---|---|---|
| 使い始め | 入金後すぐデプロイ | GPU枠の上限申請が先 |
| 価格の見え方 | GPU別の時間単価 | インスタンス単位の価格 |
| ネットワーク | TCP・HTTPのポート公開 | VPC内の閉域構成 |
| 周辺サービス | GPU計算に特化 | DB・権限・監視が同居 |
GPU枠の上限申請の有無によるRunpodとAWSの利用開始の差
差がもっとも出るのは使い始めです。AWSのEC2インスタンスタイプのクォータ一覧では、GPU系の「Running On-Demand G and VT instances」と「Running On-Demand P instances」の既定値はどちらも0(vCPU数)です(2026年10月時点)。利用実績に応じて自動で引き上げられるほか申請もできますが、GPUを使ったことのないアカウントでは、申請が通るまでGPUインスタンスを1台も起動できない状態から始まります。Runpodは入金して1時間分の残高があれば、その場でPodを立てられます。
Runpodを選ぶ条件とデータ管理の要件から大手クラウドに寄せる条件
Runpodを選んでよいのは、公開データやオープンなモデルを扱い、GPUを今日から数十時間単位で使いたい場合です。該当する用途は、モデルの比較検証、PoC、画像生成、社外向けでない推論APIの試作です。反対に、個人情報や社内の機密データを扱い、既存のクラウド上の権限管理・監査ログ・閉域網の中で処理する必要があるなら、大手クラウドのGPUかマネージドMLサービスに寄せます。Google Cloudの場合の選択肢はVertex AIの機能・料金とSageMakerとの違いで比較しています。
両者は段階で使い分けられます。Runpodで必要なVRAMと1リクエストあたりの処理時間を測り、その数値で本番基盤のGPU台数と月額を見積もる進め方です。検証で得た数値をもとに、推論APIや業務システムへの組み込みまで進める段階では、一創の生成AI開発・AI受託開発で、モデル選定から推論基盤の構築、アプリケーションへの実装までを支援しています。
Google Colab・Vast.aiとの料金体系・実行環境の比較
| 項目 | Runpod | Google Colab | Vast.ai |
|---|---|---|---|
| 提供形態 | コンテナ(root権限) | ノートブック | 個人ホストの仲介 |
| 課金 | 秒課金・前払い | コンピューティングユニット | 秒課金・ホスト設定価格 |
| 価格の決まり方 | GPU・Cloud別の公開単価 | 月額プラン・都度購入 | 需給で変動 |
| 中断 | 他利用者による横取りなし | セッションが切断される | 入札枠は中断あり |
| 向く用途 | 学習・推論API | 手軽な実験・教材 | 最安値の探索 |
Colabはブラウザだけで始められる手軽さが強みです。一方、Runpodは任意のDockerイメージとポート公開が使えるので、推論サーバーやWeb UIを立てて外部から叩く用途に向きます。ColabをノートブックUIではなくターミナルから操作する方法については、Colab CLIの仕組みで解説しているとおりです。Vast.aiはホストが価格を決めるマーケットプレイスで、On-demandはホストの設定した固定価格、Interruptibleは入札額の高い利用者が優先され、他は一時停止されます。最安値を探すならVast.ai、GPU別に公開された定価で予算を立てたいならRunpod、という使い分けになります。ただしRunpodでも、目的のGPUに空きがあるかはデータセンターと時間帯で変わるため、デプロイ画面で在庫を確認してから計画します。
Runpodを選ぶべきでない場面と実行環境・通信・常時稼働の制約
次の条件に当てはまる場合、Runpodは第一候補になりません。このうち最初の3つは、Podsの制約として公式ドキュメントが挙げているものです。
- Windows環境が必要:PodsはWindowsに対応しておらず、Ubuntu系のLinuxコンテナが前提です。Windows専用のレンダラーやツールは動かせません。
- Docker Composeで複数コンテナを組む:Runpod側がDockerを動かしているため、Pod内でDockerやDocker Composeは起動できません。サービスを分けるなら、Podを複数立てるか1コンテナにまとめる設計が必要です。
- UDP通信が要る:ゲームサーバーや一部のストリーミング用途は、通信がTCPとHTTPに限られ、UDPが通らない制約に引っかかります。
- データの長期保管先にしたい:公式ドキュメント自身が「長期のクラウドストレージとしては設計していない」と明記しています。成果物はS3などに逃がす前提で使います。
- 24時間365日の常時稼働:月730時間回すなら、On-demandの秒課金の利点は薄れます。Savings planの割引率か他社の月額専有サーバーと比較してから決めます。
- 社内の閉域網や権限管理の中で処理する:VPCや既存のID管理と組み合わせる前提の案件は、前述の判断軸に沿って大手クラウドのGPUを先に検討します。
よくある質問
Runpodは無料で使えますか?
無料枠はありません。前払いのクレジット制で、最低10ドルの入金から始められます。Podを新規に作るには、選んだ構成の1時間分以上の残高が必要です。
Runpodの支払いにプリペイドカードや暗号資産は使えますか?
プリペイドカード・暗号資産のどちらも利用可能です。プリペイドカードでは、1回100ドル以上の入金が推奨されています。暗号資産は、初回の支払い前に本人確認(KYC)を済ませる必要があります。
Podを停止している間も料金はかかりますか?
GPUの料金は止まりますが、Volume diskには停止中も1GBあたり月0.20ドルがかかります。Network volumeも引き続き月0.07ドル/GBの課金対象です。課金を完全に止めるには、Podを削除(Terminate)し、不要なNetwork volumeも消します。
Runpodはどこの会社ですか?
米国のRunpod, Inc.が運営しています。利用規約が示す連絡先の所在地はサンフランシスコです。2026年6月にSummit Partners主導で1億ドルを調達し、同年10月には年間経常収益が3億2,500万ドルを超えたと発表しています。
ブラウザを閉じても処理は続きますか?
Pod自体は動き続け、GPUの課金も続きます。ただしJupyterLabのノートブックで回している処理は、カーネルが落ちると止まることがあります。長時間の処理は、ターミナルでtmuxのセッション内で実行してください。Serverlessの場合は、/runで投げたジョブは呼び出し側の接続と関係なく処理され、結果は完了後30分間/statusで取得できます。