👋 はじめに — うちのラックからこんにちは
“自宅サーバ”という言葉を聞くと 「お小遣いで趣味やってる人でしょ?」 と鼻で笑われる時代は終わりました。
私のチームでは 10ノード の自作サーバクラスタが24×365稼働し、Retool・PostgreSQL・ArgoCDなどをゴリゴリ動かしています。
この記事では、その中核となる Retoolセルフホステッド + RKE2 構成を“1時間”で構築するレシピをシェアします。
⚡ 3行でわかるこの記事の結論
- 爆速:Retoolセルフホステッドはクラウド版のAPI待ち地獄から解放してくれる。
- お手軽:RKE2のおかげで kubectl 未経験でも1時間でK8sクラスタが完成。
- 激安:自作サーバならEC2月額の1/10以下、2年運用で故障1ノードのみ。
🔍 RKE2とArgoCDの基本概要
RKE2(Rancher Kubernetes Engine 2)は、Rancher Labsによって開発されたシンプルかつ安全なKubernetesディストリビューションです。軽量なインストールプロセスと堅牢なクラスタ管理機能により、Kubernetes初心者でも短時間で構築できるのが魅力です。
ArgoCDは、GitOpsの原則に基づいた継続的デリバリー(CD)ツールです。宣言的な設定ファイルを用いて、クラスタ内のアプリケーション状態を自動的に管理・同期することで、デプロイ作業を効率化し、高速なフィードバックループを実現します。
🧐 なぜセルフホスト?クラウド版との違いを整理
Retoolクラウドは“Publicアプリ公開”や“社外ユーザ招待”を使うことができますが、
✅ ネットワーク越えのレイテンシ
が地味に響きます。
セルフホステッドはそれを解決する一方、下記の制約があります。
- Publicアプリ不可
- 社外ユーザ利用が不可
- インフラ運用は自己責任
そこでオススメは 『社内はセルフホスト』『外部顧客はクラウド』 のハイブリッド。
実際に我々もこの構成で 月2桁万円 のRetoolコストを1桁に圧縮しました。
「でも冗長化は?」と聞こえてきそうですが、RKE2 は etcd の HA を内包。ノード 3 台以上の構成なら 1 台吹き飛んでもクラスターは健在です。
🛠️ 自作サーバのスペックとコスト
パーツ仕様価格(円)
MB: intelでもAMDでもお好きなものを 15,000
CPU: 32core 45,000
Memory: 64GB ECC 18,000
Storage: NVMe SSD 500GB ×2 (RAID0) 14,000
NIC: 2.5GbE ×2 (増設1枚)3,000
ケース: オープンフレーム12,000
合計約107,000円 本格的に10ノード用意しても初期費用は100万円程度
2年で全パーツが故障するとしても月当り4500円弱 ※後述しますがそもそも壊れません
電気代を入れても、1台あたり6000円弱
AWSのEC2で同性能のサーバをオンデマンドで用意しようと思ったら、月当り 10万円強はするので、
それを10台用意すると、自作サーバを毎月全部買い直すぐらいのコストになりますww
🚀 Step-by-Step:RKE2クラスタを1時間で構築
- 前提マシン ×3:Ubuntu 22.04 LTS をプレインストール
curl -sfL https://get.rke2.io | sh -
で各ノードにRKE2を導入- マスター1台で
/etc/rancher/rke2/config.yaml
を作成
token: <ランダム文字列>
node-taint:
- "CriticalAddonsOnly=true:NoExecute"
write-kubeconfig-mode: "0644"
- systemdで起動 → 他ノードを
--server https://MASTER:9345
でJOIN - MetalLB, Longhorn, ArgoCD をHelmでサクッと追加
- Optional: PGO(Postgres Operator) を入れてDBクラスタ化
ここまでで Elapsed Time: 57min (実測)。
Lensを入れてK8sダッシュボードを眺めると幸福度が爆上がりします。
📦 Retoolセルフホステッドのデプロイ
Retool公式Helmチャートを使えば3コマンドで終わります。
helm repo add retool https://retool.github.io/charts
helm install retool retool/retool \
--namespace retool --create-namespace \
-f values-production.yaml
values-production.yaml
では以下だけ最低限触ればOK。
enterpriseEdition: true
(ライセンスキー入力)postgresql:
→ 外部PGOの接続情報ingress.hosts
→ retool.example.com
📦ドメイン割り当てと TLS
オンプレだからといって HTTPS をサボるわけにはいきません。
おすすめは cert-manager + Let’s Encrypt。ACME HTTP-01 で数分。「秘密鍵を公開ディレクトリに置いてしまう」黒歴史にもサヨナラ。
🏎️ 体感パフォーマンス — クラウド vs セルフホスト
アプリプレビュー起動: 1,500ms(クラウド). 250ms(セルフ)
クエリ実行: 800ms(クラウド), 120ms(セルフ)
数字以上に“開発ストレスがゼロ”という無形価値がデカいです。
🚧 セルフホステッド版の制約とハイブリッド戦略
前述のとおりPublicアプリ不可などの制限がありますが、
そもそもクラウド版とは開発するアプリ自体が棲み分けされるので併用は楽勝。
Retoolクラウドを外部顧客窓口として活用し、社内開発はオンプレ、という構成が鉄板です。
🩺 運用2年のリアルトーク
- 10ノード中、故障1ノードのみ(マザボが昇天)※クラスタなので壊れても余裕で動き続けます
- 毎年ハードを買い替えしてもTCOはクラウド比1/5以下
「自作は壊れる」は迷信か都市伝説の類。部品選定と予備パーツがあれば安眠できます。
🏗️ 補足
本ブログはわかりやすさに配慮して、具体的なマニフェストや手順は適宜割愛しています。
実際にDIYで作ってみたい方に向けて、詳細な手順はNoteなどに今後執筆予定です。
🎯 まとめ — 未来はラックの中にある
RetoolセルフホステッドをRKE2で回すと、爆速・安価・楽しい の三拍子が揃います。
クラウドとオンプレの最適バランスを探りつつ、ぜひ自分だけの“内製プラットフォーム”を育ててみてください。
📚 次回予告:
・PGOでHAなPostgreSQLクラスタを5分で構築する方法
・YAMAHAルータで拠点ネットワークを構築する方法
乞うご期待!