VPSでトレーディングボットを24時間稼働させる方法

ApexVPSチーム著 • 最終更新日:2026年7月 • 8分で読めます

自動取引戦略は、あなたが起きているかどうかにかかわらず、市場に反応する必要があります。VPS上で取引ボットを24時間365日稼働させることは、それをオンラインに保つ標準的な方法です。仮想プライベートサーバーは、電源が入った状態を維持し、接続され、取引所に物理的に近い場所で24時間稼働するため、ノートPCがスリープしたり、自宅の接続が切断されたりしても、ボットがシグナルを見逃すことはありません。このガイドでは、VPSが家庭用PCより優れている理由、ロケーションの選び方、プロセスを維持する方法、キーとログを管理する方法について説明します。これは技術的なガイダンスであり、財務的なアドバイスではなく、ボットのフレームワークや戦略については中立的な立場を保ちます。

VPSがボット用に家庭用PCに勝る理由

トレーディングボットは、誤った瞬間に停止してはならない長期実行プロセスです。家庭用コンピュータは、3つの実用的な理由でホストとして不適切です。

稼働時間と常時実行

家庭用マシンはスリープし、アップデートをインストールし、独自のスケジュールで再起動します。停電やルーターの再起動はさらにギャップを増やします。VPSは、冗長な電源とネットワークを備えたデータセンターで実行され、公開された可用性目標を持ちます。ApexVPSプランはティアに応じて99.9%から99.99%のSLAを提供します。そのため、注文を配置して管理するプロセスは、あなたが睡眠中、旅行中、または作業中も実行し続けます。

取引所へのレイテンシ

すべての注文とマーケットデータの更新は、サーバーと取引所の間のネットワークパスを移動します。そのパスが短いほど、ボットは約定を確認して反応するのが速くなります。一般家庭向け接続はまずISPを経由しますが、適切に配置されたサーバーは高速バックボーンリンク上にあります。ApexVPSは主要地域に低遅延ネットワークを持つ39のデータセンターを運営しており、注文ルーティングと相場更新の往復時間を短縮します。

中断なし

VPSでは、メンテナンスのタイミングを自分で制御できます。セッション中のOSアップデートの強制も、CPUを占有するウイルススキャンも、家族がノートPCの蓋を閉じることもありません。ボットは安定した専用環境で動作し、あなたが変更するときだけ変更されます。

取引所の近くでロケーションを選ぶ

遅延は物理的な距離に大きく影響されるため、最大の改善策は取引所やブローカーがホストされている場所に近いデータセンターを選ぶことです。多くの暗号通貨取引所はマッチングエンジンを主要ハブ内またはその近くに置いており、株式・先物市場は特定の都市圏に集中しています。一般的な目安として、サーバーリージョンを取引所に合わせてください:

不明な場合は、候補となるリージョンから取引所のAPIホストへの往復時間をpingまたはmtrでテストし、最も低いものを選んでください。取引所に特化した専用ページ(取引ボット用VPSカード不要の暗号通貨対応VPS)では、利用可能なリージョンを詳細にリストアップしています。

ボットを24時間365日稼働させる

プレーンなSSHセッションでボットを起動するだけでは不十分です。セッションが閉じるとプロセスは終了します。以下のいずれかを使用して、クラッシュや再起動後に自動的に再起動するようにしてください。

tmuxまたはscreen(クイックスタート)

ターミナルマルチプレクサを使用すると、切断後もプロセスを実行し続けることができます。テスト中に最速で開始する方法です:

sudo apt update && sudo apt install -y tmux
tmux new -s bot
# start your bot inside the session, e.g.
python3 main.py
# detach without stopping it: press Ctrl-b, then d
# reattach later:
tmux attach -t bot

tmuxはインタラクティブなテストには最適ですが、クラッシュしたボットを自動的に再起動することはありません。長時間実行するものは、以下のプロセスマネージャーに移行してください。

systemd(Linuxでの推奨)

systemdは最新のUbuntuとDebianに組み込まれており、障害時にボットを再起動し、起動時に開始します。ユニットファイルを作成してください:

# /etc/systemd/system/tradingbot.service
[Unit]
Description=Trading Bot
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=botuser
WorkingDirectory=/home/botuser/bot
ExecStart=/usr/bin/python3 /home/botuser/bot/main.py
Restart=always
RestartSec=5
EnvironmentFile=/home/botuser/bot/.env

[Install]
WantedBy=multi-user.target

次に以下を有効にして開始します:

sudo systemctl daemon-reload
sudo systemctl enable --now tradingbot
sudo systemctl status tradingbot

Restart=alwaysはクラッシュ後にボットを復帰させ、enableは再起動後に自動的に開始させます。

Node.jsボット用のpm2

ボットがJavaScriptまたはTypeScriptで記述されている場合、pm2はビルトインのログと再起動機能を備えたシンプルなプロセスマネージャーです:

npm install -g pm2
pm2 start bot.js --name trading-bot
pm2 save
pm2 startup   # run the command it prints, then reboot to verify

再現可能なデプロイ用Docker

コンテナはボットを正確な依存関係とともにパッケージ化するため、どこでも同じように実行されます。--restartポリシーがクラッシュと再起動を処理します:

docker run -d --name trading-bot \
  --restart unless-stopped \
  --env-file /home/botuser/bot/.env \
  my-bot:latest

コンテナはアップグレードとロールバックもクリーンにします。公式のDockerドキュメントでは、イメージの構築と再起動ポリシーの管理について詳しく説明されています。

ログのローテーションと管理

数週間実行されるボットは、ログ出力でディスクを満たし、最終的にサーバー全体がクラッシュする可能性があります。古いファイルが自動的に圧縮・削除されるようにログをローテーションしてください。UbuntuとDebianではlogrotateがすでにインストールされています。ボットのルールを追加してください:

# /etc/logrotate.d/tradingbot
/home/botuser/bot/logs/*.log {
    daily
    rotate 14
    compress
    missingok
    notifempty
    copytruncate
}

systemdで実行している場合、ジャーナルはすでに出力をキャプチャしています。/etc/systemd/journald.confSystemMaxUse=500Mなどの設定を使用してサイズを制限してください。どちらの場合も、ログを定期的に確認し、エラーを警告して、サイレント障害が何日も気付かれないことがないようにしてください。

ボットとAPIキーの保護

あなたのVPSは資金を動かす資格情報を保持しているため、セキュリティを後付けではなく設定の一部として扱ってください。OWASPの最小権限の原則がここに直接適用されます。

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

ApexVPSは完全なrootアクセスに加え、DDoS保護とオプションのプライベートネットワーキングを提供するため、プラットフォームと戦うことなくこれらの制御を重ねることができます。

VPSリソースのサイジング

ボットは通常CPU負荷が軽いですが、悪いタイミングでリソース不足になると敏感に反応します。これはまさにオーバーセールされた共有ホスティングで起こることです。ApexVPSのリソースは完全に専用(オーバーセールなし、騒がしい隣人なし)なので、購入したコアはそのまま利用できます。目安は以下の通りです:

起動後1週間はhtopとレイテンシーを監視し、実際の競合が見られた場合のみスケールアップしてください。仕様はVPSプランと料金ページで比較できます。

はじめに

セットアップは簡単です:プランを選び、取引所に近いリージョンを選択し、メールアドレスを提供するだけです(名前、住所、KYCは不要)。チェックアウトはOxaPayを通じた暗号通貨のみで、Bitcoin、Ethereum、USDT、30以上の暗号通貨を受け付けており、クレジットカードや銀行口座は不要です。支払いがオンチェーンで確認されるとプロビジョニングが開始され、ボットをインストールしてsystemdサービスを追加し、稼働させるための完全なrootアクセスが得られます。

ボットを24時間365日オンラインに保つ準備はできましたか? トレーディングボット向けVPSを見る →

よくある質問

自宅のPCではなくVPSでトレーディングボットを動かす理由は?

VPSは冗長な電源とネットワークを持つデータセンターで24時間365日稼働し続けます。自宅のPCとは異なり、スリープ設定、強制OS再起動、停電、ISPの接続断の影響を受けないため、ボットは中断なく稼働し続けます。

ボットがクラッシュしたりサーバーが再起動したりした場合、どうやって稼働させ続けますか?

裸のターミナルではなくプロセスマネージャーを使用します。Restart=alwaysを持つsystemdサービスは、クラッシュ時にボットを再起動し、再起動後に起動します。Node.jsユーザーはpm2 startupでpm2を使用でき、Dockerコンテナでは--restart unless-stoppedを使用して同じ効果を得られます。

トレーディングボットにはどれくらいのCPUとRAMが必要ですか?

少数のマーケットをポーリングする単一のボットは軽量です。2 vCPU専有と4 GB RAMで十分に処理できます。複数の戦略、インジケーター、バックテストを同時に実行する場合は、4 vCPUと8 GB以上が有利です。リソースは専用なので、ノイジーネイバーの遅延なしにフルコアを利用できます。

取引所のAPIキーを安全に保つにはどうすればよいですか?

取引戦略に必要な最小限の権限でAPIキーを作成し、出金権限を無効にし、サーバーのIPアドレスに紐付いたIP許可リストを追加してください。キーはボットユーザーだけが読み取れる環境ファイルに保存し(chmod 600)、ソースコードにハードコードせず、パスワードではなくSSHキーでログインしてください。