VirtualBoxで作るWebサービスの開発環境 (1)構想編

VirtualBoxで作るWebサービスの開発環境 (1)構想編hosiiのメモ帳ソーシャルゲームのインフラ解説記事をいくつか読んでいたら、自分でも環境を構築してみたくなった。
自宅サーバに入れているVirtualBoxで仮想の開発環境を作ってみる。今回は、実作業は無く構想まで。

なぜ自宅サーバか

AWSやVPSで開発環境を構築する手もあるが、前者は使った時間だけ、後者は月額で料金が掛かる。また、ある程度の数のサーバを立てると、1ヶ月で数万円単位の請求となってしまう。
そこで、現在録画用に使っている自宅サーバを利用する。自宅サーバは24時間稼働しているが、地デジの録画ぐらいではそれほどパワーを使わないため、リソースは結構余っている。その余ったリソースをいつでも使えるので、追加投資がいらない。個人用ならこれで十分かと。

仮想マシンで開発環境を構築する利点

仮想マシンで開発環境を構築する一番の利点は、スクラップアンドビルドが容易であるということ。作ったサーバがいらなくなれば簡単に消せるし、ひな形を作れば簡単にマシン数を増やせる。また、使っていない仮想マシンは電源をオフにしておけばリソースの節約にもなる。

以下イメージ。仮想マシンを1台ずつセットアップするのは非常にめんどいので、基本となる設定を済ませたひな形サーバを用意する。新しいサーバを作るときはひな形サーバをクローニングして、必要なセットアップを行なうイメージ。
スライド1

VirtualBoxでのネットワーク構成

以下の要件を満たすネットワークを構築する。

  1. インターネットから開発環境へのアクセスは禁止
  2. ホストマシンとゲストマシン間で通信ができる
  3. ゲストマシンからは、インターネットに接続できる
  4. ゲストマシン同士は通信ができる

要件実現のためには、VirtualBoxのホストオンリーアダプターとNATネットワークを使用する。以下それぞれのネットワーク方式の特徴。

  • ホストオンリーアダプター
    • ホストマシンとゲストマシンで通信可能
    • ホストマシンより外との通信は不可
    • ゲストマシン同士での通信は可能
  • NATネットワーク
    • ゲストマシンからホストマシンのネットワークに対してNAT接続
    • ホストマシンからの接続は不可
    • ゲストマシン同士での通信は可能

ホストマシンを踏み台サーバとして、ホストオンリーアダプターを使う事でゲストマシンの管理をする。
NATネットワークは、ゲストサーバ同士の通信と、yumアップデートなど外部からデータを取ってくるときに使用する。
ネットワークのセグメントは各アダプタごとに分ける。

以下イメージ。
vboxnet0はホストオンリーアダプターをホストマシンから見たときのIF名。こいつが192.168.2.0/24のGWになる。
nat0はNATのGW。ホストマシンのIFとしては表示されないが、192.168.3.0/24のGWとして設定する。
スライド2

次回は、実際にVirtualBoxに仮想マシンを作ってみる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です