LoginSignup
20
20

More than 5 years have passed since last update.

vagrantで2つの仮想サーバ間を通信しよう

Posted at

vagrantで2つの仮想サーバ間を通信しよう

ローカル開発環境を整える

ローカルにvagrantとvirtualBoxをインストールする、もしくはアップデートする。
- 検証用環境(2014/10/31)
- vagrant 1.6.5
- virtualBox 4.3.18
※ADを使用している場合はADのアカウントだとvagrant、virtualBox共にインストールでこけてしまう。

AD対策(インストール)

AD(ActiveDirectory)を入れている場合は、コンピュータのローカルユーザでログインする。
- ローカルユーザのパスワード等を忘れた時
1. コントロールパネル
2. ユーザアカウント
3. ユーザアカウントの管理
4. 追加、削除、パスワードのリセットを行う

ローカルユーザでログイン後にvagrant、virtualBoxのダウンロード、インストールを行う。

インストール後は再びADのアカウントに戻り作業する。

インストールもしくはアップデートが完了したら、次にvagrantの設定を行う。

vagrantの設定

コマンドプロンプトを立ち上げえる。
※コマンドが打てればなんでも可
適当な場所(自分の作業する場所)に移動し、下記コマンドを実行。

  • vagrantの初期化
$ vagrant init
  • Boxイメージの追加
$ vagrant box add centos5.8 https://dl.dropbox.com/u/17738575/CentOS-5.8-x86_64.box

これはボックスイメージ一覧から取得したイメージの名前を
centos5.8とし、それをvagrantに追加しているというコマンドである。
名前は自由に決めることができ、イメージも自由に変更可能である。
※今回はCentOS 5.8を使用

次にvagrant initでできたVagratfileの中身を編集する。

config.vm.box = "centos5.8"

デフォルトだとbaseになっている部分を先ほど追加したboxイメージの名前に変更する。

$ vagrant up

うまく設定がされていたらこれでvirtualBox上に先ほど取得したイメージの仮想サーバが立ち上がります。

  • sshでつなげてみる
$ ssh 127.0.0.1:2222

ポートは作成されたvirtualBoxをみてください。
vagrantでは以下の設定でvirtualBoxのユーザが作成されます。

  • ユーザ名:vagrant
  • パスワード:vagrant

これでsshでサーバに入れれば成功です。

一つのboxから複数のvirtualBoxを制御する

構成ファイル(Vagrantfile)を編集します。

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # All Vagrant configuration is done here. The most common configuration
  # options are documented and commented below. For a complete reference,
  # please see the online documentation at vagrantup.com.

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "centos5.8"

  config.vm.define :web1 do | web1 |
    web1.vm.hostname = "web1"
    web1.vm.network :private_network, ip: "192.168.33.10"
  end

  config.vm.define :web2 do | web2 |
    web2.vm.hostname = "web2"
    web2.vm.network :private_network, ip: "192.168.33.20"
  end

これでhost名がweb1とhost名がweb2の二つのサーバがvagrant upで立ち上がります。
双方の通信をするためにvmのnetwork設定にIPアドレスを割り当てています。

  • 確認
@web1$ ping 192.168.33.20

@web2$ ping 192.168.33.10

これでpingがかえってきたら成功です。
参考サイト

20
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20