【第5回】Claude Code リモートサーバー運用術 — VPS 常駐型 Claude 自動化環境の構築
「自分が寝ている間も Claude が個人開発を進めてくれていたら——」
これは多くの個人開発者が一度は考える夢です。実は Claude Code を VPS 上で常駐させれば、本当にこの環境が作れます。筆者は masatoman.net の周辺自動化(記事下書き生成・SNS 自動投稿)をこの構成で 24 時間体制に乗せています。
この記事では、ローカル運用から VPS 常駐運用への移行手順を、サーバー選定からセキュリティまで全公開します。前半は無料パートで「常駐運用の全体像」、後半(有料パート)で具体的な構築コマンドと運用ノウハウを共有します。
結論:Claude Code を VPS 常駐させる4ステップ
結論から言うと、リモート運用には次の4要素が必要です。
- VPS(または専用サーバー):常時稼働できる Linux 環境
- Claude Code のインストール + 認証情報の永続化
- タスクを継続的に投入する仕組み(cron、Webhook、メッセージキュー)
- 観測・通知・制限(Slack 通知、トークン制限、Hooks による安全装置)
これだけです。VPS は月¥1,000〜¥2,000程度で借りられるので、運用コストは Claude のサブスク代に追加で月¥1,000程度。投資対効果は非常に高いです。
VPS 選定の基本
リモート運用に向く VPS の条件は次のとおりです。
| 要件 | 推奨スペック | 理由 |
|---|---|---|
| CPU | 2コア以上 | 並列タスク処理 |
| メモリ | 4GB以上 | Node.js + Claude Code + サブエージェント |
| ストレージ | 40GB以上 | リポジトリ + ログ + キャッシュ |
| ネットワーク | 無制限 or 大容量 | API 呼び出しが多い |
| 場所 | 日本リージョン推奨 | レイテンシと法的安心感 |
具体的なサービスとしては、Hetzner、ConoHa、さくらのVPS、Vultr あたりが定番です。価格・パフォーマンス・サポート言語のバランスで選んでください。
ローカル運用との違い
ローカルで Claude Code を動かしているときと、VPS 常駐運用とでは、いくつか重要な違いがあります。
- 認証の永続化が必要:ローカルではブラウザログインで済みますが、VPS では認証情報を別途管理します
- タスクの自動投入が必要:人間が手動で指示する代わりに、cron や Webhook で起動する
- 観測が必須:ローカルのように画面を見ていないので、Slack 通知などで状態を可視化する
- 失敗時のリトライ戦略:ネットワークエラーや一時的な API 障害への対応が必要
これらをまとめて管理する仕組みが Claude 自動化 です。
Claude Code を本格活用するなら Max プラン(月$100〜、定額でトークン使い放題)が必須です。このシリーズの全実装例は Max プランで動作確認済みです。
筆者がClaude 自動化常駐運用に使っているのは ConoHa VPS の4GBプランです(月¥1,540〜)。Claude Code 常駐に最低限必要なスペックをコスパよく確保できます。
構築手順:VPS 常駐型 Claude 自動化 をゼロから組む
ここから有料パートです。実際の構築手順を、コマンド付きで全公開します。
ステップ1:VPS のセットアップ(10分)
ConoHa を例に進めます。Ubuntu 24.04 LTS、メモリ4GB プランを選択します。
# SSH 接続後、最低限のセットアップ
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git curl jq
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node -v # v22.x.x が出れば OK
ステップ2:専用ユーザーと SSH 鍵運用
セキュリティのため、root ではなく専用ユーザーで運用します。
sudo adduser claude-crew
sudo usermod -aG sudo claude-crew
sudo su - claude-crew
mkdir -p ~/.ssh && chmod 700 ~/.ssh
# ~/.ssh/authorized_keys に公開鍵を貼る
/etc/ssh/sshd_config で PasswordAuthentication no と PermitRootLogin no を設定し、SSH 経由のパスワードログインを無効化します。
ステップ3:Claude Code のインストール
npm install -g @anthropic-ai/claude-code
claude --version # バージョンが出れば OK
初回起動時にブラウザ認証が必要です。VPS 上ではブラウザがないので、表示される URL をローカルマシンに貼り付けて認証し、トークンを VPS に手動コピーします。
ステップ4:認証情報の永続化
~/.claude/credentials.json が認証ファイルです。これをバックアップし、復元スクリプトを用意しておきます。
# バックアップ
cp ~/.claude/credentials.json ~/.claude/credentials.backup.json
chmod 600 ~/.claude/credentials.json
ステップ5:タスク投入の仕組み
cron で定期実行する最もシンプルな方法。
crontab -e
# 例: 毎日朝9時に「今日の優先タスク」を実行
0 9 * * * cd /home/claude-crew/projects/main && claude --print "今日の優先タスクを project_status.md から読んで実行して" > /tmp/claude-morning.log 2>&1
--print モードを使うと、対話なしで Claude を1回だけ実行できます。完了後にプロセスが終了するため、cron との相性が抜群です。
ステップ6:Slack 通知でタスク完了を可視化
#!/bin/bash
# /home/claude-crew/scripts/run-and-notify.sh
TASK="$1"
RESULT=$(cd ~/projects/main && claude --print "$TASK" 2>&1)
curl -s -X POST $SLACK_WEBHOOK_URL \
-H 'Content-Type: application/json' \
-d "$(jq -n --arg text "Claude完了: $TASK\n結果: $(echo "$RESULT" | head -10)" '{text: $text}')"
実行後に Slack に結果が流れるので、外出中でも進捗が把握できます。
ステップ7:トークン制限とコスト管理
Max プランでも無制限ではありません。~/.claude/settings.json でセッションごとのトークン上限を設定します。
{
"tokenLimits": {
"perSession": 200000,
"perDay": 2000000
}
}
これを超えると Claude が「上限到達」を通知して停止します。暴走を防ぐ最後の砦です。
ステップ8:監視と失敗時のリトライ
シンプルに supervisor などのプロセスマネージャを使うか、systemd の Restart=on-failure を活用します。
# /etc/systemd/system/claude-worker.service
[Unit]
Description=Claude Code Worker
After=network.target
[Service]
Type=simple
User=claude-crew
WorkingDirectory=/home/claude-crew/projects/main
ExecStart=/home/claude-crew/scripts/worker-loop.sh
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
sudo systemctl enable claude-worker
sudo systemctl start claude-worker
これで Claude Code がプロセスとして常駐し、落ちても自動再起動します。
運用ノウハウ:3ヶ月運用してわかったこと
Anthropic は2025年に Claude Code の「Remote Control」機能を公式リリースしました。 公式ドキュメントによれば、Remote Control を起動すると Claude Code は Anthropic API に登録してワークをポーリングし、別デバイスから接続するとサーバーがメッセージをルーティングする、という設計です。 ただし現状では headless 環境(Ubuntu VPS など SSH 接続)でフル機能を使うには tmux や screen でのラッピングが推奨されており、コミュニティでは月$10程度の VPS で「24時間動く環境」を構築する手順が広く共有されています。Anthropic 自身も Assistant Daemon 等のバックグラウンドプロセス実行モードを提供しています。
出典: Continue local sessions from any device with Remote Control / Build a 24/7 personal AI agent with Claude Code (Community Guide)
コスト最適化のポイント
- Max プラン定額 を使う:従量課金だと VPS 常駐運用は破産する
- 不要なログを削除する cron を入れる:log rotate は必須
- 使わない時間帯はサスペンド:夜中だけ動かす運用も有効
セキュリティのポイント
- 必ず Hooks で危険コマンドをブロック(Ep.04参照)
- VPS の SSH ポートをデフォルト22から変更
- API キーは環境変数管理、絶対にコミットしない
~/.claude/ディレクトリを定期バックアップ
で、どう稼ぐ? — VPS 常駐運用が個人開発を変える
VPS 常駐運用の経済的価値は 「人間の労働時間ゼロで進む案件を持てる」 ことです。
1. 寝ている間に翌日の準備が完成
夜のうちに記事下書き、競合調査、コードレビューが終わっています。朝は最終確認と公開だけ。実労働時間が変わらなくても、成果物の生産速度が倍以上になります。
2. 旅行中・本業中も個人開発が止まらない
「本業エンジニアの最大の悩み = 個人開発の時間が取れない」を直接解決します。スマホから Slack で指示を出すだけで、VPS 上の Claude が作業を進めます。
3. 受託案件の納期短縮
「夜のうちに調査・実装が進む」ことで、納期を短縮できます。短納期は単価アップに直結します。月¥1,800の VPS 投資で受託単価が10%上がれば、月数万円の追加収益になります。
まとめ
Claude Code の VPS 常駐運用は、個人開発者にとって「24時間働くチームメイトを月¥1,800で雇う」ような投資です。重要ポイントを再確認します。
- VPS は4GBメモリ以上、月¥1,500〜¥2,000程度のスペックで十分
- systemd + cron + Slack 通知 で運用基盤は完成
- Hooks による安全装置は必須。これがないと事故で破産する
- トークン上限設定 で暴走を防ぐ
次のエピソードでは、この VPS 常駐運用と Skills/MCP/サブエージェントを統合した 「売れる SaaS」開発フロー を解説します。Ep.06 も有料記事ですが、ここまで読んだあなたなら投資対効果は明確に見えるはずです。
【第6回】Claude Code で SaaS を 1 週間で組む開発フロー — Skill × MCP の統合設計
▸▾ // see all 13 episodes
- №01【第1回】Claude Code Skills 入門 — 自作スキルで開発効率を2倍にする実装ガイド
- №02Claude Code から自作 MCP サーバーを呼び出す — TypeScript で書く最小実装と詰まりポイント
- №03【第3回】Claude Code サブエージェント設計パターン — 並列タスクで時給を上げる実践ガイド
- №04【第4回】Claude Code Hooks 完全ガイド — 保存時自動整形・コミット前チェックの実装
- №05【第5回】Claude Code リモートサーバー運用術 — VPS 常駐型 Claude 自動化環境の構築
- №06【第6回】Claude Code で SaaS を 1 週間で組む開発フロー — Skill × MCP の統合設計
- №07【第7回】Claude Code トークン節約運用 — Pro プランの範囲で並列エージェントを回す 9 つの工夫
- №08【第8回】Claude Code で GitHub Issue から PR まで自動化する実装ガイド
- №09【第9回】Claude Code サブエージェント並列実行 — 本番で使った5パターン
- №10【第10回】Claude Code × Supabase で管理画面を30分で生成する Skill 実装ガイド
- №11【第11回】Claude Code Hooks で事故を防ぐ — git secrets / 本番DB保護の実装
- №12【第12回】夜寝てる間に Claude Code が記事を書き上げる構成 — 月 ¥5K で動く全コード¥1,000
- №13Claude Code で 0→MVP を1日で作る全記録 — recipe-ai Build in Public
Next Step
次に読むならこの導線です
【第12回】夜寝てる間に Claude Code が記事を書き上げる構成 — 月 ¥5K で動く全コード
Claude Codeラボ全12話の集大成。Skills/MCP/サブエージェント/Hooks/リモート運用を統合した「自走する Claude 自動化」を、月 ¥5K の実コストで動かす全構成を公開。寝てる間に競合調査・記事下書き・PR まで自動化する 6 層アーキテクチャの完成版。
Claude Codeを音声入力で操作したい! — macOS 音声入力 4 択 × 実用セットアップ 2026
Claude Code で対話量が多くタイピングがボトルネックになる本業エンジニア向けに、macOS 標準 / Wispr Flow / Superwhisper / VoiceInk の 4 つを比較。コードと自然言語で入力手段を分ける実用的な運用フローを解説します。
Claude Code on the Web でリモートトリガーが ~/.claude/memory を読めない — Calendar reminder に切り替えた実体験
Claude Code on the Web の RemoteTrigger は git repository sources のみ参照可能で、~/.claude/projects/ 配下の memory ファイルは環境外。memory-weekly-sync routine を作ろうとして詰まった制約と、Calendar reminder + 手動実行への切替判断を実体験ベースで解説します。
Claude Code で Agent を 6+2 並列起動して 30 分で SaaS デモ 8 本を生成した実験ログ
Claude Code の Agent を 6 本(デモ)+ ハブ 2 本の合計 8 本を background で並列起動し、1 セッション内に 14 ファイル / 5,000 行超を 30 分以内で生成した実験ログ。worktree isolation が使えない環境でも「新規ファイル作成のみ」制約テンプレートで干渉ゼロを実現する方法を解説します。
次の実験記録も追う
Claude Code × 個人開発の実験ログ、失敗、判断変更をまとめて追いたい人向けに、月次でLab Freeを届けます。
masatoman のメルマガ — 毎週月曜の朝に 1 通
masatoman.net で今週公開した記事の中から 1 本を、読者目線で深掘りした手紙が届きます。「自分も同じことやってる」「ここで詰まってた」が見つかる予告編。
この記事が役に立ったらシェア