Carpe Diem

  Top > スポンサー広告> 仮想化 > Vagrant で複数VMを一度に立ち上げる  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Vagrant で複数VMを一度に立ち上げる

2014 - 08/26 [Tue] - 09:02

ロードバランサの検証だったりレプリケーションの検証をするときに複数のVMを立ち上げる必要がありますが、それぞれ別々に作って起動するのは面倒ですよね。
Vagrant だと設定ファイルを編集すれば一度にできてしまうのでご紹介します。

まずは「Vagrant を使う」をみてvagrantを導入してください。

◆複数起動するための最低限の設定例
Vagrantfile を編集します。
最後の方に各VM毎の設定を追記します。

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

# 色々コメントたくさん〜

config.vm.define :web1 do |web|
end

config.vm.define :web2 do |web|
end
end

この状態で

$ vagrant up

すると複数のVMを起動してくれます。
ただこのままだとNICが共有されちゃってるのでもう1つNICを追加します。


◆ネットワークを設定した例
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

# 色々コメントたくさん〜

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

config.vm.define :web2 do |web|
web.vm.network :private_network, ip: "192.168.33.11"
end
end

これで起動すればそれぞれ異なるIPを持った状態で起動できます。
また内部ネットワークを構築しているのでVM同士の疎通もできます。


◆ポートフォワーディングの設定をした例
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

# 色々コメントたくさん〜

config.vm.define :web1 do |web|
web.vm.network :private_network, ip: "192.168.33.10"
web.vm.network :forwarded_port, host: 8001, guest: 8000
end

config.vm.define :web2 do |web|
web.vm.network :private_network, ip: "192.168.33.11"
web.vm.network :forwarded_port, host: 8002, guest: 8000
end
end

このように設定すれば

ホストPCの8001 -> web1の8000
ホストPCの8002 -> web2の8000


といった形で設定が可能になります。

これで簡単に複数サーバの検証ができますね。お疲れ様でした。


◆その他
注意として以前使った

$ vagrant ssh

はそのまま使えません。どちらに接続するかはっきりしないからですね。


$ vagrant ssh web1

といった感じで名前を指定するとSSH接続できます。もしくは以前のように

$ vagrant ssh-config >> ~/.ssh/config

として設定すれば

$ ssh web1

といったようにどのフォルダからでも接続できます。


ソース:
vagrantでVMを一度に複数台立てる

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。