自宅の環境を参考に小規模向けのクラウドを考えてみる。コンセプトは以下のとおり。
- ハードウェアは可能な限り仮想化基板に集約する。
- 内部向けサーバとインターネット向けサーバの双方を稼働させる。
- サーバ/ネットワーク機器の監視機能を提供する。
- Trust/DMZを分離しアクセス制限をかける。
- 『インターネット→自鯖』の通信経路を確保できない状況でもWEBサービスを公開できるようにする。(インターネット回線として、CATV回線やマンション等の構内LANを利用しているケースを想定)
出てきた構成案が下記の通り。
(1) ハードウェア
ハードウェアはテキトーなIAサーバを使う想定。
- 仮想化基盤 → 自作推奨。仮想マシンを実行するために十分な量のCPUとメモリを積む。
- NAS鯖 → 激安サーバにSATAディスクを満載する。自鯖とかSOHOの規模であれば容量の要件さえクリアできれば、あとはどうでも良いと判断。
(2) OS・ソフトウェア
基本的に、フリーウェアづくし。人件費や保守は度外視しているので注意。(あと、商用の基板に適用する場合は無料にならないかも。)
- 仮想化基盤 → ESXiの無料版
- NAS鯖 → FreeNAS(無料)
- ファイアウォール → Pfsense(無料)
- L2延伸 → SoftEtherの無料版
- 監視 → Zabbix(無料)
- 各サーバ → debian(無料)
(3) 回線周り
インターネットにサーバを公開するために、VPSを利用している。
- SoftEtherで内部のサーバとVPSをブリッジさせることで、インターネットに出れる回線さえあれば、自鯖をインターネットに公開できる。
- グローバルIPはVPS提供のものとなる。ローカルのサーバがどこに存在しようが、常に固定のIPとなるので、機器移設を行う際の手続きが楽になるというメリットもあるかも。
- WEBサーバの処理は、内側のサーバにかかるため、VPSのプランは最安値のプランで問題なし。
(4) その他
- NAS鯖のストレージはRAID1で運用する。障害発生時のリカバリが楽な点が氷菓ポイント。
- RAID5のほうが容量単価は抑えられるが、ディスクが複数壊れた場合にデータ全損の危険があり、リスクヘッジを考えなければならないため、使わない。
とりあえず趣味のレベルでは上記の取り合わせで動くことを確認済み。