※本記事には広告・アフィリエイトリンクが含まれます。収益はサイト運営・検証費用に充てています。
結論から言うと:
- VPS契約直後のUbuntuはセキュリティ設定がほぼゼロの状態なので、まずパッケージ更新・ユーザー作成・ファイアウォール設定の3点を済ませるべきです
- タイムゾーンをAsia/Tokyoに設定しておかないと、cronのスケジュール管理で混乱が生じる仕組みです
- これらを完了してからPython環境を構築すると、安定した自動実行環境が手に入る
最初にやること一覧
率直に言うと、VPS契約直後にやるべき作業は次の5つです。パッケージ最新化、作業用ユーザー作成、タイムゾーン設定、ファイアウォール設定、Python環境インストール。この順番で進めると、後から設定漏れで詰まることが少なくなります。
パッケージ最新化
SSHでrootログイン後、まず全パッケージを最新化します。
apt update && apt upgrade -y
これだけで既知のセキュリティパッチが当たる仕組みです。完了まで数分かかる場合があります。
ユーザー作成・sudo権限
rootで常時作業するのはリスクがあるため、専用の作業ユーザーを作成します。
adduser stockuser
usermod -aG sudo stockuser
以降はssh stockuser@<IP>で接続し、必要な時だけsudoを使う運用に切り替えます。
タイムゾーン設定(Asia/Tokyo)
VPSのデフォルトはUTCになっていることが多いため、日本時間に変更します。
timedatectl set-timezone Asia/Tokyo
timedatectl status
「Time zone: Asia/Tokyo (JST, +0900)」と表示されれば設定完了です。cronが日本時間で動く仕組みになります。
ファイアウォール(ufw)
不要なポートを塞ぎ、SSH接続のみ許可します。
ufw allow OpenSSH
ufw enable
ufw status
「Status: active」「OpenSSH ALLOW」と表示されれば有効になっています。
Python環境インストール
初期設定が完了したら、Python環境を構築します。
sudo apt install python3 python3-pip -y
pip3 install yfinance pandas requests matplotlib
インストール後にバージョンを確認します。
python3 --version
pip3 --version
筆者の検証メモ
ConoHa VPS(Ubuntu 22.04)で検証した際、ufwを有効化する前にSSH許可を入れ忘れると接続が切れてコンソールからの復旧作業が必要になる。順番を間違えないよう注意が必要です。タイムゾーン設定はcron自動実行を使う場合に特に重要で、UTCのまま放置すると「15:30実行」が日本時間の翌日0:30実行になってしまう。
【投資免責事項】本記事で紹介するコードおよび分析結果は情報提供を目的としたものであり、特定の銘柄への投資を推奨するものではありません。投資判断はご自身の責任で行ってください。

