自宅サーバに入れているVirtualBoxで仮想の開発環境を作ってみる。今回は、実作業は無く構想まで。
なぜ自宅サーバか
AWSやVPSで開発環境を構築する手もあるが、前者は使った時間だけ、後者は月額で料金が掛かる。また、ある程度の数のサーバを立てると、1ヶ月で数万円単位の請求となってしまう。
そこで、現在録画用に使っている自宅サーバを利用する。自宅サーバは24時間稼働しているが、地デジの録画ぐらいではそれほどパワーを使わないため、リソースは結構余っている。その余ったリソースをいつでも使えるので、追加投資がいらない。個人用ならこれで十分かと。
仮想マシンで開発環境を構築する利点
仮想マシンで開発環境を構築する一番の利点は、スクラップアンドビルドが容易であるということ。作ったサーバがいらなくなれば簡単に消せるし、ひな形を作れば簡単にマシン数を増やせる。また、使っていない仮想マシンは電源をオフにしておけばリソースの節約にもなる。
以下イメージ。仮想マシンを1台ずつセットアップするのは非常にめんどいので、基本となる設定を済ませたひな形サーバを用意する。新しいサーバを作るときはひな形サーバをクローニングして、必要なセットアップを行なうイメージ。
VirtualBoxでのネットワーク構成
以下の要件を満たすネットワークを構築する。
- インターネットから開発環境へのアクセスは禁止
- ホストマシンとゲストマシン間で通信ができる
- ゲストマシンからは、インターネットに接続できる
- ゲストマシン同士は通信ができる
要件実現のためには、VirtualBoxのホストオンリーアダプターとNATネットワークを使用する。以下それぞれのネットワーク方式の特徴。
- ホストオンリーアダプター
- ホストマシンとゲストマシンで通信可能
- ホストマシンより外との通信は不可
- ゲストマシン同士での通信は可能
- NATネットワーク
- ゲストマシンからホストマシンのネットワークに対してNAT接続
- ホストマシンからの接続は不可
- ゲストマシン同士での通信は可能
ホストマシンを踏み台サーバとして、ホストオンリーアダプターを使う事でゲストマシンの管理をする。
NATネットワークは、ゲストサーバ同士の通信と、yumアップデートなど外部からデータを取ってくるときに使用する。
ネットワークのセグメントは各アダプタごとに分ける。
以下イメージ。
vboxnet0はホストオンリーアダプターをホストマシンから見たときのIF名。こいつが192.168.2.0/24のGWになる。
nat0はNATのGW。ホストマシンのIFとしては表示されないが、192.168.3.0/24のGWとして設定する。
次回は、実際にVirtualBoxに仮想マシンを作ってみる。