はじめに
「ラズパイ=お遊び」というイメージは、もはや過去のものです。
私は現在、Raspberry Pi 5 を使って、実務を想定した自宅サーバー構成を構築し、 実際のアプリ開発・AI支援開発・検証環境として運用しています。
本記事では、以下のような構成を紹介します。
- Raspberry Pi 5 × 複数台構成
- app / db / lvs に役割分離
- Tailscale によるセキュアな内部ネットワーク
- Claude CLI を用いた AI 支援開発
- 「壊さない」ことを最優先にした設計思想
全体構成
役割分離した3台構成
┌──────────────┐
│ lvs-server │ ← 入口・制御
│ (Raspberry) │
└──────┬───────┘
│
┌──────▼───────┐
│ app-server │ ← API / アプリケーション
│ (Raspberry) │
└──────┬───────┘
│
┌──────▼───────┐
│ db-server │ ← DB / RAG / Redis
│ (Raspberry) │
└──────────────┘
設計のポイント
- 1台に詰め込まない
- 役割を明確に分離
- 実務でよくある構成をそのまま小型化
各サーバーの役割
lvs-server(入口・制御)
- ロードバランサ用途(将来拡張前提)
- 外部公開時の入口(現在は基本クローズ)
- Cloudflare Tunnel / Nginx / LVS の検証環境
現在の運用では、内部通信はすべて Tailscale 経由です。
app-server(アプリケーション層)
- FastAPI / Web API
- ApprovalHub などの業務アプリ
- 開発中アプリの実行環境
- RAG API のフロント役
特徴
- アプリ専用サーバー
- DB・インフラには直接触らない
- いつでも壊して作り直せる設計
db-server(中枢・データ層)
- MySQL(Docker運用)
- PostgreSQL(検証用)
- Redis
- ChromaDB(RAG用ベクトルDB)
- Claude CLI / AIバッチ処理
特徴
- データとAI処理の集約地点
- cron による日次AIバッチ運用
- 読み取り専用解析を基本方針とする
ネットワーク構成:Tailscale を全面採用
なぜ Tailscale なのか
- ポート開放不要
- VPN設定不要
- IP管理がシンプル
- Mac / スマホ / サーバーを同一LAN感覚で扱える
運用ポリシー
- すべて Tailscale 内部通信
- SSH / MySQL / API 接続も Tailscale 経由
- 外部公開は必要なときだけ限定的に実施
「公開=ポート開放」ではなく、 閉じたネットワークで完結させるのが基本思想です。
開発スタイル:Claude CLI による AI 支援
Claude CLI の役割
- 実装は行わない
- 読み取り専用の解析・要約・整理
- 提案型のAIアシスタントとして利用
実際に行っている処理
- Gitリポジトリの解析
- TODO / FIXME コメントの抽出と整理
- ドキュメント改善提案
- テスト不足箇所の洗い出し
- 直近コミットの要約
本番コードは一切変更させない = 壊れないAI活用を徹底。
なぜ「すべてDocker化」しないのか
db-server では MySQL を Docker で運用していますが、 すべてをコンテナ化しているわけではありません。
理由は以下です。
- ラズパイはリソースが限られる
- 永続化・I/Oの挙動を理解したい
- Linuxの素の挙動を把握しておきたい
Dockerは目的ではなく手段 状況に応じて使い分けています。
この構成のメリット
実務と同じ思考で設計できる
- 役割分離
- 障害切り分け
- スケールを意識した構成
失敗できる環境
- 自宅環境なので何度でも作り直せる
- 実験・検証に最適
AI開発とインフラが自然につながる
- RAG
- AIバッチ
- 分析・ドキュメント生成
面談・受託で説明しやすい
- なぜこの構成にしたかを論理的に語れる
- 趣味で終わらない構成
エンジニアとしての設計思想
この構成で一番大切にしている考え方は以下です。
便利そうなことをやらない 壊れないことだけをやる
- AIは万能ではない
- 自動化は制御しないと毒になる
- インフラは「理解できる範囲」で組む
その結果として、 長く使える開発環境になりました。
おわりに
Raspberry Pi 5 は、
- 学習
- 趣味
- 検証
- 副業
- 受託開発
すべてに使える 最高の実験台 です。
この構成は、 AI時代にエンジニアがどう生きるかを考える上でも、 とても良い題材だと感じています。