どうも。binaryです。
今回は余っていたRaspberry Piを使って個人VPS的なものを作ってみた話です。
きっかけ:手軽な開発環境が欲しかった
これまでずっと「手軽に使える開発環境」を探してきました。
SBCの検討をしたのもその一環です。
ただ、いざ使おうとすると悩みどころが多い。
- SBCは
- モニタ
- キーボード
- 電源
を用意する必要がある
- クラウドサーバーは
- 常時起動だと意外と月額がかかる
- ちょっとした検証にはオーバースペック
「手元にあって、いつでもSSHで入れる軽い開発環境が欲しいな…」
そう思っていたところ、棚の奥から Raspberry Pi 3B が出てきました。
これ、Ubuntu Serverを入れてSSH運用すればちょうどいいのでは?
ということで、
ラズパイ+Ubuntu Server+SSH+VPN という構成で、ネットワーク越しに使える開発環境を作ってみることにしました。
実際にやってみた
Ubuntu ServerをmicroSDに書き込む
まずはOSの準備から。
使用したもの
- Raspberry Pi Imager(公式)
https://www.raspberrypi.com/software/ - microSDカード(16GB以上推奨)
- SDFormatter(念のため)
https://www.sdcard.org/ja/downloads-2/formatter-2/
手順は以下。
- PCにSDカードを挿す
- SDFormatterでフォーマット
(トラブル回避のため、毎回やる派です) - Raspberry Pi Imagerを起動
- 「OSを選ぶ」→「Other general-purpose OS」→
Ubuntu Server 24.04 LTS(64bit) を選択 - 設定は特に変更せず書き込み開始
ここでトラブル発生。
書き込み終了間際でエラーを吐く…
結局、SDカード自体が怪しかったようで、
別のSDカードに変更したらあっさり成功しました。
Ubuntu Serverの初回セットアップ
SDカードをラズパイに挿入して起動。
今回は モニタ+キーボードを一度だけ接続して初期設定を行いました。
主にやったこと
- 初期ユーザー設定
- locale / timezone の確認
- SSHサーバーの有効化(
openssh-server) - Wi-Fi設定
Wi-Fiは netplan を使って設定しました。
network:
version: 2
renderer: networkd
wifis:
wlan0:
dhcp4: true
access-points:
"SSID名":
password: "パスワード"
設定後に
sudo netplan apply
で接続確認。
Tailscaleのセットアップ(ここが一番楽)
今回は ポート開放なしで外部からSSH接続したかったので、
VPNには Tailscale を採用しました。
https://tailscale.com/
ラズパイ側
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
ブラウザで認証するだけで完了。
なぜTailscale?
- ポート開放不要
- NAT越えを意識しなくていい
- 個人利用なら無料枠で十分
正直、この手軽さを一度味わうと戻れません。
スマホ側のセットアップ
今回は スマホからSSH接続する構成にしました。
Androidで使ったもの
- Termux(CUI環境)
- Tailscaleアプリ
それぞれインストール後、
- Tailscaleアプリでログイン&VPN接続
- TermuxでSSH
ssh ユーザー名@tailscaleのIPアドレス
無事、接続成功。
実際に使ってみての感想
率直な感想としては、
思っていた以上に快適
です。
- ポート開放不要で安全
- 家でも外でも同じIP感覚で使える
- スマホからでも普通に作業できる
Tailscaleのおかげで、
ネットワーク周りの面倒くささがほぼゼロなのが大きいですね。
今後やってみたいこと
次は以下を試す予定です。
- Flutterのビルド環境構築
- Dockerの軽量運用
ただし一点だけ懸念が。
Raspberry Pi 3B(RAM 1GB)でどこまで耐えられるのか…
ビルド系は正直厳しそうですが、
軽い検証環境・常時起動サーバーとしては十分だと感じています。
まとめ
- 余っているラズパイは SSH開発環境として再利用できる
- Ubuntu Server+Tailscaleの組み合わせが非常に楽
- 「ちょっとした開発環境」が欲しい人にはかなりおすすめ
同じようにラズパイが眠っている人は、
ぜひ一度SSH運用を試してみてください。
それでは、また。

コメント