🧭 あなたに最適なVPSを30秒で無料診断 診断する →

【2026年版】JupyterLabをVPSに導入してどこからでもブラウザでAI開発ができる環境作り

読む前に30秒だけ。用途・予算を選ぶだけで、あなたに最適なVPSがわかります(無料・登録不要) 無料診断 →

【2026年版】JupyterLabをVPSに導入してどこからでもブラウザでAI開発ができる環境作り

筆者の結論(最初に読んでください)

正直に言うと、Google Colabの無料枠でなんとかなってる人はまだ移行しなくていい。でも「90分で切れる」「GPUの割り当てが来ない」「せっかく走らせた処理が途中で死んだ」を3回以上経験したなら、VPS上のJupyterLabに移った方がトータルでラクです。自分はこの判断を早めにしたことを後悔していない。

用途別にざっくり判断を先に書いておきます。

あなたの使い方判断
統計分析・可視化・LLM API叩きCPU VPSで十分。月1,000〜2,000円で完結
sklearn・XGBoostで機械学習CPU VPS(RAM 8GB)。GPUは要らない
PyTorchで深層学習をガッツリGPU VPS。ただし月数万になるので覚悟して
ColabのT4が来ない問題を解決したいだけColab Pro(月1,179円)の方が安上がりな場合も

GPU VPSは「立ち上げが楽で趣味でやるなら全然あり」だけど、月2〜3万払える覚悟があるかどうかが判断の分かれ目。そこだけ最初にはっきり書いておきます。


データサイエンス・機械学習・AI開発の定番ツールであるJupyterLabを、VPSに常駐させることでPCを問わずどこからでもブラウザから接続できるようになります。Google Colabは無料枠のGPU時間制限や接続切れが悩みの種ですが、VPS上の自前JupyterLabならその制約がなく、大規模なデータ処理も中断なく走らせられます。

「PCをつけっぱなしにしてlocalhostで動かせばいいじゃん」という意見もあると思うんですが、それだと何かあったときにリモートデスクトップで入らなきゃいけないし、そもそもPC電源が切れたら終わり。全然「手放し」にならないんですよね。VPSにしてsystemdで常駐させておけば、そういう精神的なモヤモヤがなくなります。これが自分がVPSを使う一番の理由です。


Google Colab vs VPS上のJupyterLab

比較軸Google Colab(無料)VPS上のJupyterLab
GPU利用時間制限あり(~数時間/日)別途GPU VPSで無制限
セッション切れ90分アイドルで切断systemdで常時稼働
ストレージGoogleドライブ依存VPS SSDに永続保存
月額コスト無料〜Colab Pro+VPS代のみ(固定費)
カスタム拡張制限あり完全自由

自分の場合、Colabで一番きつかったのが「ストレージがGoogleドライブ依存」なところでした。大きめのデータセットをマウントして使ってると、読み込みが遅い・セッション切れのたびにマウントし直し・Driveの容量を圧迫する、の三重苦。VPS上のSSDに直接置いておける安心感は、使ってみると思ったより大きいです。「あーまたマウントし直しか」というストレスが完全になくなるのは体感的にかなり違います。


推奨VPSスペック

CPU構成(LLM API利用・データ分析)

用途CPURAMストレージ
統計分析・可視化2コア4GB50GB
機械学習(sklearn/XGBoost)4コア8GB100GB
LLM API + 大規模データ8コア16GB200GB

ここは断言する。LLM APIを叩いてデータ分析や自動化をする用途には、GPUは一切必要ありません。 API経由でClaude・GPT・Geminiを使うのはCPUの仕事です。それなのに「AI開発にはGPU VPS!」と推してくる記事は、GPU VPSの方がアフィリエイト報酬が高いからそう書いてる可能性が高い。用途に合わないスペックに余計なお金を使わないでください。「AI」という言葉が入っているだけでGPUが必要だと思い込まされるのが一番もったいないパターンです。

月額の目安でいうと:

  • CPU 2コア / 4GB RAM → 約880〜1,100円/月(1日あたり約30〜37円)
  • CPU 4コア / 8GB RAM → 約1,760〜2,200円/月(1日あたり約60〜73円)

コーヒー1杯分で24時間動き続ける環境が持てると思えば、悪くないと思います。

XServerとKAGOYAの損益分岐点について先に書いておくと:月76時間以上JupyterLabを起動しているならXServerの830円固定プランがお得、未満ならKAGOYAの時間課金の方が安い。 使い始めは週数時間程度が多いと思うので、最初はKAGOYAで試して慣れてきたらXServerに切り替えるのが無駄のない順番です。

XServer VPS →


ステップ1: Python環境とJupyterLabのインストール

# システム更新とPython環境整備
sudo apt update && sudo apt install -y python3-pip python3-venv

# JupyterLab専用仮想環境
python3 -m venv ~/jupyterlab-env
source ~/jupyterlab-env/bin/activate

# JupyterLab本体+データサイエンス主要ライブラリ
pip install jupyterlab \
  numpy pandas matplotlib seaborn plotly \
  scikit-learn xgboost lightgbm \
  requests ipywidgets

# 起動確認(ブラウザを開かず起動)
jupyter lab --no-browser --port=8888

仮想環境(venv)を作るのがポイントです。システムのPythonに直接インストールすると、後からパッケージが競合したときに詰みます。「なんかよくわからないエラーが出て環境が壊れた」という状況を経験したことがある人なら刺さると思うんですが、最初から分けておくのを強くすすめます。再現性のある環境をキープする意味でも、venvは癖にしておいた方がいいです。


ステップ2: パスワード認証の設定

# パスワードハッシュを生成
python3 -c "from jupyter_server.auth import passwd; print(passwd())"
# → argon2:xxxxx... のような文字列をコピー

# jupyter_server_config.pyを作成
mkdir -p ~/.jupyter
cat > ~/.jupyter/jupyter_server_config.py << 'EOF'
c.ServerApp.ip = '127.0.0.1'
c.ServerApp.port = 8888
c.ServerApp.open_browser = False
c.ServerApp.password = 'argon2:YOUR_HASHED_PASSWORD_HERE'
c.ServerApp.allow_remote_access = True
c.ServerApp.root_dir = '/home/YOUR_USER/notebooks'
EOF

mkdir -p ~/notebooks

ip = '127.0.0.1'(localhost)にしておくのが重要です。ここを0.0.0.0にして直接外部公開するのはセキュリティ的にやめた方がいい。「動いた!」で満足してそのまま放置するのが一番怖いパターンです。nginxを噛ませてHTTPSで公開するのが正しい順番です(ステップ4でやります)。面倒くさく見えるかもしれないけど、ここを省くのはノーヘルで走るようなものなので飛ばさないでください。


ステップ3: systemdで常駐化

sudo nano /etc/systemd/system/jupyterlab.service
[Unit]
Description=JupyterLab Server
After=network.target

[Service]
Type=simple
User=YOUR_USER
WorkingDirectory=/home/YOUR_USER/notebooks
ExecStart=/home/YOUR_USER/jupyterlab-env/bin/jupyter lab \
    --config=/home/YOUR_USER/.jupyter/jupyter_server_config.py
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now jupyterlab

# 状態確認
sudo systemctl status jupyterlab

Restart=on-failureを入れておくと、何かの拍子にJupyterLabが落ちても自動で再起動してくれます。これがあるのとないのとでは、深夜に走らせた処理の生存率がだいぶ変わります。自分はこれで何度か助かりました。「朝起きたら処理が死んでた」の精神的ダメージがゼロになるだけで、この設定をする価値は十分あります。


ステップ4: nginxでHTTPS公開

sudo apt install -y nginx certbot python3-certbot-nginx
sudo certbot --nginx -d jupyter.your-domain.example.com
# /etc/nginx/sites-available/jupyterlab
server {
    listen 443 ssl;
    server_name jupyter.your-domain.example.com;

    location / {
        proxy_pass http://127.0.0.1:8888;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_read_timeout 86400;  # 長時間実行のタイムアウト対策
    }
}

proxy_read_timeout 86400(24時間)は地味に大事です。デフォルト値だと長時間の計算中にnginxがタイムアウトしてブラウザ側で切断されます。「VPSに移ったのにまた途中で切れる」という状況になりたくなければ、長時間バッチを流す用途なら必ず設定してください。これを知らずにデフォルトのまま使って「なんか切れる」と悩むのが一番もったいない。

ドメインはお名前.comやCloudflareで年数百〜千円程度で取れます。サブドメインをJupyter専用にしておくと管理がラクです。

KAGOYA CLOUD VPS →


ステップ5: カーネル管理と複数Python環境

# 別の仮想環境をカーネルとして登録
python3 -m venv ~/ml-env
source ~/ml-env/bin/activate
pip install ipykernel torch torchvision
python3 -m ipykernel install --user --name="ml-env" --display-name="ML (PyTorch)"

# JupyterLabのカーネルセレクターに「ML (PyTorch)」が追加される

これが自前JupyterLabの強みのひとつで、「分析用のPython」「PyTorch用のPython」「APIクライアント用のPython」みたいにカーネルを分けて管理できます。Colabだと毎回!pip installするか、環境ごとにノートブックを別けるしかなかったのが、ここで一気に解消されます。「あのライブラリどのノートブックで入れたっけ」という無駄な時間が完全になくなるので、地味だけどかなり効いてきます。


ステップ6: おすすめ拡張機能

source ~/jupyterlab-env/bin/activate

# LSP(コード補完・定義ジャンプ)
pip install jupyter-lsp python-lsp-server

# Git連携パネル
pip install jupyterlab-git

# 変数ビューワ(DataFrameの中身をGUIで確認)
pip install lckr-jupyterlab-variableinspector

# 拡張を有効化
jupyter labextension list  # インストール済み一覧

自分が実際によく使うのはjupyterlab-gitjupyter-lspの2つです。特にLSPはコード補完が効くようになるので、IDE感覚で書けるようになります。全部いっぺんに入れなくても、まず本体を動かしてから必要なものを足していけばいいです。最初から全部入れようとして詰まるより、動く状態をひとつ作ってから積み上げる方が確実です。


GPU VPSでのCUDA対応(PyTorch)

# CUDA Toolkitのインストール(GPU VPS前提)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update && sudo apt install -y cuda-toolkit-12-4

# PyTorch(CUDA対応版)をインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

# GPU認識確認(Notebookセルで実行)
# import torch; print(torch.cuda.is_available())  # → True

GPU VPSについての正直な話をします。PyTorchで深層学習をやるなら確かに速くなります。ただし月額が跳ね上がります。

KAGOYA CLOUD VPSの時間課金でGPUプランを使った場合、たとえば1時間あたり数百円かかるプランだと1日8時間使うだけで月数万円になります。「Stable Diffusionを週末だけ動かしたい」なら時間課金のGPU VPSは全然ありです。でも「常時JupyterLabを動かしながら学習も走らせたい」なら固定費として月2〜3万の覚悟が要ります。これが「まぁまぁ高い」と感じるかどうかで、GPU VPSを使うべきかどうかが決まります。正直、趣味の範囲なら覚悟さえあれば止めません。

用途と予算を見てから判断してください。「試しにGPUを使ってみたい」程度なら、KAGOYAの14日無料お試し期間を使うのが一番手堅い。週末が2回入るので、平日は仕事で触れなくても2回の週末でGPU環境を試すには十分な時間があります。「使えるかどうかわからないまま月契約する」よりずっといい判断の仕方です。


A. はい、Notebookのファイル(.ipynb)はVPSのディスク上に自動保存されます。ブラウザが閉じてもVPS上のカーネルは動き続け、再接続時に実行状態を確認できます(ただしカーネルが再起動された場合は変数が消えます)。
A. JupyterHubを使うと複数ユーザーに個別のJupyterLab環境を提供できます。チームでの利用にはJupyterHub + DockerSpawnerの構成が定番です。1人用の場合は今回の構成で十分です。
A. GPU前提の深層学習ではColab(T4 GPU)が圧倒的に速いです。ただしColabは接続切れや時間制限があるため、長時間バッチ処理にはVPSのCPUのほうが安定します。GPU VPSを使えばColabと同等以上のパフォーマンスを制限なく得られます。

まとめ:あなたの使い方で選ぶ

あなたの状況おすすめ構成月額目安判断
Colabの接続切れが嫌・LLM APIを叩くだけCPU VPS 2コア/4GB + JupyterLab約880〜1,100円今すぐ移行していい
sklearn・XGBoostで機械学習CPU VPS 4コア/8GB + JupyterLab約1,760〜2,200円GPUは不要。CPU VPSで十分
PyTorchで深層学習・モデル訓練GPU VPS(週末だけ時間課金)使った分だけ時間課金でまず試す
PyTorchを毎日常時動かしたいGPU VPS 固定プラン月2〜3万〜予算と相談。覚悟が要る
とにかく無料で試したいColab無料 + KAGOYAの14日お試し無料まずここから

XServer vs KAGOYA の損益分岐点をもう一度書いておくと:月76時間以上JupyterLabを動かすならXServerの830円固定プランがお得、未満ならKAGOYAの時間課金の方が安い。 1日あたりに換算すると2.5時間が分岐点です。「気が向いたときだけ」という使い方なら最初はKAGOYA、「毎日がっつり使う」が決まってるならXServerを選べばいい。これだけ覚えておけば迷いません。

JupyterLabをVPSにsystemdで常駐化し、nginxとHTTPSでセキュアに公開することで、Google Colabの時間制限・接続切れから解放されたパーソナルAI開発環境が完成します。月額1,000〜2,000円のCPU VPSでも統計分析・APIベースのLLM開発には十分で、GPU VPSにアップグレードすれば深層学習も完全自走できます。

合わなかったらやめればいい。それだけの話だ。「思ってたのと違った」ならプランを変えればいい。14日お試しがあるうちに動かしてみる方が、記事を読み続けるより100倍早く判断できます。

XServer VPS →

KAGOYA CLOUD VPS →

あわせて読みたい