takafumi blog

日々の勉強メモ

【Vagrant】 複数台構成の調査

環境  Vagrant 1.8.1 VirtualBox 5.0.12

Vagrantによる複数VM環境の構築

Vagrantfileを以下のようにする。

Vagrant.configure(2) do |config|
  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
  end

  config.vm.define "server1" do |server|
    config.vm.box = "bento/centos-7.1"

    server.vm.network "private_network", ip: "192.168.33.10"

    config.vm.provision "shell", path: "provision1.sh"
  end

  config.vm.define "server2" do |server|
    config.vm.box = "bento/centos-7.1"

    server.vm.network "private_network", ip: "192.168.33.11"

    config.vm.provision "shell", path: "provision2.sh"
  end

    # Plugin
    config.vbguest.auto_update = false
end

vagrant upすれば両方起動。

どちらかにしたいときは

PS> vagrant up server1
PS> vagrant up server2

とかでOK。

で、ちょっと気になった事を確認してみた。

  1. プロビジョニングは別のものを指定できる

当たり前だけど可能。
ただ、デフォルトのホストとのファイル共有はserver1もserver2も同じ。
なので同じファイルを使うようなときは注意が必要。

  1. それぞれのサーバーへの接続

ホスト -> server1 : ssh 127.0.0.1:2222
ホスト -> server2 : ssh 127.0.0.1:2200

server1 -> server2 : ssh 192.168.33.11
server2 -> server1 : ssh 192.168.33.10

となる。つまりprivate_networkを設定してないと、ゲスト間は接続できない。