個人でプログラムを常時動かす方法|自宅PC・レンタルサーバー・VPS・クラウドの違い

個人でプログラムを常時動かす方法|自宅PC・レンタルサーバー・VPS・クラウドの違い 解説

解説記事です。筆者は、AI に日本株の売買判断をさせる投資システム investTool を個人で開発していて、その途中で調べたことを書いています。全体像は目次記事にまとめています。

この記事の要点
  • プログラムの置き場所は、自宅PC・共用のレンタルサーバー・VPS・クラウドの4つに分けられます
  • 分かれ目は常駐させるものがあるかです。決まった時刻に動かすだけなら、どこでもできます
  • どこに置いても止まることはあります。止まったと知らせる仕組みは、置き場所とは別に用意します

置き場所にはどんな種類があるか

「動かし続ける」には、2つの意味があります。

1つは、決まった時刻に起動して、終わったら消える処理です。investTool なら、毎日20:00に株価を取りに行き、21:10に売買の判定をしています。

もう1つは、ずっと起動したままにしておくものです。ブラウザで開く画面(Web サーバー)や、チャットのボタンが押されるのを待っている Bot がこれにあたります。

後者があるかどうかで、選べる置き場所が変わります。

4つの置き場所の比較。自宅PCは常駐できるが PC の電源とスリープに左右される。共用のレンタルサーバーは定時の実行はできるが常駐はできない。VPS は常駐でき、OS の管理は自分で行う。クラウドは構成の自由度が高く、使った分だけ料金がかかる

置き場所 定時の実行 常駐 費用の目安 自分で面倒を見るところ
自宅PC できる(タスクスケジューラ、cron) できる 追加はほぼなし(電気代) スリープ、Windows の更新による再起動、停電
共用のレンタルサーバー できることが多い(cron) ほぼできない 月数百円〜千円台 少ない。その代わり、言語の版などを自由に選べないことがある
VPS できる できる 月数百円〜数千円 OS の更新、ファイアウォールの設定、ログの確認
クラウド できる(定時実行のサービスもある) できる 使った分だけ(無料枠あり) 構成を組むこと。設定を誤ると請求が増える

自宅PC

Windows ならタスクスケジューラ、macOS や Linux なら cron で、決まった時刻にプログラムを起動できます。今ある PC で、今日から始められます。

PC が止まれば、プログラムも止まります。スリープや、Windows の更新による再起動、停電のときもです。

共用のレンタルサーバー

ブログなどを置くためのサーバーを、複数の利用者で共有するサービスです。

このサイトの WordPress も共用のレンタルサーバーに置いています。自作のプログラムも同じ場所で動かせないかと思い、確かめた結果が次の表です。

やりたいこと 結果
FastAPI の画面を常駐させる できない。常駐させたい場合は VPS を使うよう案内されている
Python 3.12 を使う 入っているのは 3.6 系。SSH も制限付きで、別の版を入れるのは難しい
決まった時刻にコマンドを動かす できる(cron)

ブログを置くには困りませんが、自作のプログラムを動かすには足りませんでした。

VPS

自分専用の仮想サーバーを、月額で借りるサービスです。管理者の権限があるので、好きな版の Python を入れて、プログラムを常駐させられます。

その代わり、OS の更新やファイアウォールの設定は自分で行います。

クラウド

AWS、Google Cloud、Microsoft Azure などで、サーバーや定時実行のサービスを組み合わせて動かします。短い処理を定時に動かすだけなら、サーバーを起動したままにしない仕組み(サーバーレス)も選べます。

料金は使った分だけです。予算の上限に近づいたら通知する設定を最初に入れておかないと、請求を見てから使いすぎに気づくことになります。

何を基準に見ればよいか

置き場所を考える順番。常駐させる必要があるか、24時間止めずに動かす必要があるか、OS の管理を自分でするか、の3つの問いで候補が絞られる

1. 常駐させるものがあるか

なければ、共用のレンタルサーバーも候補に入ります。画面や Bot のように起動したままにするものがあれば、自宅PC・VPS・クラウドのどれかです。

2. 深夜や外出中も止めずに動かす必要があるか

夜中に止まっても翌朝に気づけば間に合うなら、自宅PCで始められます。止まると困るなら、VPS かクラウドです。

3. 止まったときに気づけるか

どこに置いても、プログラムが止まることはあります。止まったと知らせる仕組みの例を挙げます。

仕組み 例
生存確認(ハートビート) プログラムが1分ごとに「動いている」と書き込み、別の処理が5分ごとにそれを見に行く。書き込みが5分以上途絶えていたら通知する
実行の記録 定時の処理ごとに、成功したか、何件処理したかを残し、翌朝に見る
失敗の通知 処理が失敗したら、メールやチャットに送る

4. 管理にかけられる手間と費用

月額の費用が安い置き場所ほど、自分で見る範囲が広がります。自宅PCなら追加の費用はほぼかかりませんが、PC がスリープしていないか、更新で再起動していないかは自分で気にすることになります。

このサイトの場合

investTool は、自宅の Windows PC で動いています。株価と開示の収集、21:10の判定、21:15の注文指示の通知、21:30の日次レポートを、タスクスケジューラで動かしています。チャットの Bot と画面は常駐です。

2026年9月24日の夜は、21:00ごろから同じ PC で重いビルドを動かしていました。

いつもは17秒ほどで終わる判定が、21:13に始まって21:22まで、約9分かかりました。

21:15の予定だった通知の処理は、21:19に動いています。この時点では判定が終わっておらず、送る注文指示がありません。通知の処理は「0件送信」で正常に終了し、あとから作られた4件の注文指示はチャットに届きませんでした。エラーはどこにも出ていません。

その日は、翌朝の締め切りまでに画面から回答して済ませました。それ以来、21:00〜21:30は同じ PC で重い作業をしないようにしています。前の処理が終わるのを待ってから通知する仕組みは、まだ入れていません。

Bot が止まったときの知らせは、実際に Bot を止めて試しました。0:57ごろに止めると、1:02に「停止中」の通知が届きました。1:14に起動し直すと、1:15に「再開しました」が届きました。

よくある誤解

「レンタルサーバーを借りれば、どんなプログラムでも動かせる」

共用のレンタルサーバーは、ブログや Web サイトを置くためのサービスです。常駐するプログラムや長時間かかる処理は、規約や設定で止められることが多いです。上の表のとおり、このサイトのサーバーでも常駐はできませんでした。

「クラウドの無料枠なら、ずっと無料で使える」

無料枠には、期間が決まっているものと、使える量に上限があるものがあります。上限を超えた分や、無料枠の対象外のサービスは請求されます。

「定時に動かす設定をすれば、必ずその時刻に動く」

PC がスリープしていれば動きません。クラウドの定時実行も、混雑していると開始が遅れることがあります(GitHub Actions の定時実行は、負荷が高いと遅れることが公式に書かれています)。

上の9月24日の件も、定時の設定は正しいまま、処理が9分遅れました。

「VPS にすれば止まらない」

VPS でも、OS の更新で再起動しますし、メモリが足りなくなればプログラムは落ちます。置き場所を変えても、止まったと知らせる仕組みはそのまま必要です。

では、自分の目的にはどれが合うのか

投資システムを動かす立場から「サーバーに何を選んだか」は、別の記事にまとめる予定です(準備中)。

investTool では、記事の公開も注文も人が確認してから行っているので、夜中に止まっても翌朝に気づけば間に合います。そうでなくなったら、VPS への移行を考えます。


関連:Windows のタスクスケジューラで Python のジョブを毎日動かす/記事を自動投稿するなら、WordPress のテーマ選びの基準が変わる/目次記事(このサイトについて)

当サイトは情報提供を目的としており、特定のサービスを勧めるものではありません。掲載している内容は執筆時点の情報であり、料金や条件は各サービスの公式サイトでご確認ください。詳しくは免責事項をご覧ください。

タイトルとURLをコピーしました