📘

新築戸建てを「プログラマブルな住処」にする —— Vol.1 ネットワーク構想とストレージ層(Synology NAS)の構築

に公開

27歳エンジニア、埼玉に「プログラマブルなマイホーム」を建てる —— Vol.1 ネットワーク構想とSynology NAS

はじめに:どうせ建てるなら「遊べる家」にしたい

27歳、しがないエンジニアです。 現在、埼玉に注文住宅を建築中。妻と愛犬と一緒に暮らすための、大切なマイホームです。

家づくりが進むにつれて、「せっかく一から建てるなら、ネットワーク周りも自分の手で理想的な環境にしたい」というエンジニア特有の欲求が湧いてきました。

目指すのは 「家族には『便利で快適』を提供しつつ、裏側では思う存分技術で遊べる家」 。

市販のスマートホーム機器を並べるだけじゃつまらない。クラウドのサブスクリプションもできるだけ減らして、浮いたお金で美味しいものでも食べたい(切実)。 いわゆる「脱クラウド(Cloud Repatriation)」や「ローカルファースト」な構成ですが、そこまで肩肘張らず、「自分でコントロールできる範囲を広げて、長く楽しんでいこう」というスタンスの記録です。

Vol.1は、その土台となる 「ネットワーク設計」と、データの保存先である「Synology NAS」 の導入について。

ネットワーク構想:愛犬を見守るカメラを安全に

新居のネットワーク設計で一番気にしたのは、 「セキュリティと利便性のバランス」 です。

例えば、愛犬の様子を見るための「見守りカメラ」。安価で便利なIoTデバイスはたくさんありますが、プライベートな映像が外部のクラウドを経由するのは少し抵抗があります。 そこで、「信頼できるデバイス(PCやスマホ)」と「IoTデバイス」をネットワーク的に分けて管理することにしました。

やりたいこと

VLAN 30 (IoT)の通信制限: カメラなどのIoT機器は、基本的にインターネット(外)へ通信できないようにルーター側で制限します。映像データは外に出さず、家の中のNASに溜める作戦です。

Server VLANの分離: サーバー類を普段使いのPCやスマホから分けておきます。いじりすぎて設定を壊しても、妻のWi-Fiには影響が出ないように……という家庭内SLAを守るための工夫でもあります。

Storage Layer: 楽できるところは楽をする (Synology NAS)

データの保存先として、SynologyのDS925+を導入しました。

ここ、実は自作PCでFreeNASなどを組むか少し迷いました。 でも、今回はあえて既製品のNASを選びました。理由はシンプルで、 「家族との時間を大切にしたいから」 です。

ストレージのトラブル対応で休日が潰れるのは避けたい。 「保存する」というインフラ部分は信頼できるメーカー製に任せて、浮いた時間で愛犬と散歩したり、その上のアプリケーション(自動化など)を作って遊ぶことに集中したいなと。これぞ「技術的負債を作らないための投資」と言い聞かせてポチりました。

1. ディレクトリ構造を整える
とはいえ、中身はエンジニアらしく整理整頓します。 Dockerでコンテナを動かすことを前提に、SSHで入ってディレクトリを切りました。


/volume1/
  ├── docker/              # コンテナの設定ファイルたち
  │    ├── home-assistant/ # スマートホームの司令塔
  │    ├── frigate/        # AIカメラのNVR
  │    └── mosquitto/      # MQTTブローカー
  ├── data/                # DBなどの永続データ
  ├── media/               # 家族写真や動画
  └── surveillance/        # カメラの録画データ保存先

ここが整理されていると、バックアップの設定も楽になりますし、何より精神衛生上とても良いです。

2. 役割分担:NASは「倉庫」、計算は「別の場所」で
このNAS、そこそこ高性能なのでDockerも動くのですが、あまり重い処理をさせると本来の「ファイルサーバー」としての動きが遅くなりそうです。

Mini PC: 頭脳担当。AI処理や重い計算(Frigateなど)。

NAS: 倉庫担当。データの保存に専念。

というふうに役割を分けることにしました。 NAS上では、軽量な管理ツールなどを動かす程度に留めておく予定です。

3. 家の中でもHTTPS化したい
http://192.168.x.x と打つのは味気ないので、家の中でも nas.home.local みたいなドメイン名でアクセスできるようにしたいですね。 このあたりは、おいおいAdGuard HomeなどのDNSサーバーを立てて整えていく予定です。ブラウザに「保護されていない通信」と出ないようにするのが地味な目標です。

今後の予定:次は「Compute(計算)」部分!
データの置き場所(NAS)と、道路(ネットワーク)の設計図はできました。 次は、実際にシステムを動かす 「頭脳(Compute)」 部分の準備です。

Mini PC(N100あたりの省電力なやつ)を物色中ですが、まずは手元のMacBook Proを使って、 監視カメラシステムの「Frigate」や「Home Assistant」 をDockerで動かす実験をしてみたいと思います。

家が完成するまでに、ソフトウェア側の準備は万端にしておきたい! 引き続き、試行錯誤の様子を書いていきます。

Discussion