[Vagrant] マルチサーバー環境を構築してインフラ構築検証を行う #2「Vagrantにマルチサーバー環境を構築」

2015年7月8日

サーバー テクノロジー

LBはとにかく機械が高いので、うかつに購入することができない。 本番環境だと、冗長構成にする必要があるので、必ず2台購入するから、値段は基本2倍だ。 お財布にやさしいのは何と言ってもLVSということで、開発検証用としてLVSということで環境を構築してみたいと思う。 さらに、macにvagrantを使って端末内で構築してみたいと思う。 こりゃ安上がりだわい。

設定内容

下記の設定を行うことで、LVSやらリバースプロキシのテストがローカル端末で行える。
インストール端末:MacBookAir 仮想ソフト:VirtualBox + vagrant OS:CentOS6.5 x 3台

Vagrant設定

VirtualBoxとVagrantのインストールは、以前書いたブログを参照してください。 「[Vagrant] 開発環境を作るためにVagrantを15分で覚えてみる」

1.環境構築の為にディレクトリを作成

$ mkdir ~/servers $ cd ~/servers

2.vagrant初期設定

$ vagrant init

3.Vagrantファイルの設定

$ vi Vagrant Vagrant.configure(2) do |config| config.vm.box = "centos65-x86_64-20140116" config.vm.box_url = "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box" config.vm.define :server1 |node| node.vm.box = "centos65-x86_64-20140116" node.vm.network :forwarded_port, guest: 22, host: 2001, id: "ssh" node.vm.network :private_network, ip: "192.168.33.10", virtualbox__intnet: "private_net" node.vm.network :public_network end config.vm.define :server2 |node| node.vm.box = "centos65-x86_64-20140116" node.vm.network :forwarded_port, guest: 22, host: 2002, id: "ssh" node.vm.network :forwarded_port, guest: 80, host: 8000, id: "http" node.vm.network :private_network, ip: "192.168.33.11", virtualbox__intnet: "private_net" end config.vm.define :server3 do |node| node.vm.box = "centos65-x86_64-20140116" node.vm.network :forwarded_port, guest: 22, host: 2003, id: "ssh" node.vm.network :forwarded_port, guest: 80, host: 8000, id: "http" node.vm.network :private_network, ip: "192.168.33.12", virtualbox__intnet: "private_net" end end

インストール完了後、起動

サーバーを1台ずつ起動していきます。 MacBookAiryugetakoji:servers yugeta$ vagrant up server1 Bringing machine 'server1' up with 'virtualbox' provider... ==> server1: Clearing any previously set forwarded ports... ==> server1: Fixed port collision for 22 => 2222. Now on port 2200. ==> server1: Clearing any previously set network interfaces... ==> server1: Available bridged network interfaces: 1) en0: Wi-Fi (AirPort) 2) en1: Thunderbolt 1 3) bridge0 4) p2p0 5) awdl0 ==> server1: When choosing an interface, it is usually the one that is ==> server1: being used to connect to the internet. server1: Which interface should the network bridge to? 起動時にネットワークでどれを使うか聞かれます。 通常は1を選択しておきましょう。 server1: Which interface should the network bridge to? 1 ==> server1: Preparing network interfaces based on configuration... server1: Adapter 1: nat server1: Adapter 2: intnet server1: Adapter 3: bridged ==> server1: Forwarding ports... server1: 22 => 2200 (adapter 1) ==> server1: Booting VM... ==> server1: Waiting for machine to boot. This may take a few minutes... server1: SSH address: 127.0.0.1:2200 server1: SSH username: vagrant server1: SSH auth method: private key server1: Warning: Remote connection disconnect. Retrying... ==> server1: Machine booted and ready! ==> server1: Checking for guest additions in VM... ==> server1: Configuring and enabling network interfaces... ==> server1: Mounting shared folders... server1: /vagrant => /Users/yugeta/vagrant/servers ==> server1: Machine already provisioned. Run `vagrant provision` or use the `--provision` ==> server1: to force provisioning. Provisioners marked to run always will still run. 他のサーバーも、サーバー名を入力して起動してみてください。 全てのサーバーが起動しているかどうかを確かめるには、以前紹介した [Vagrant] Plugins #global-status「起動しているBOXの一覧を表示」 を実行すると分かりやすいです。 server1 running (virtualbox) 2015-06-30 00:01:00 +0900 server2 running (virtualbox) 2015-06-30 00:01:26 +0900 server3 running (virtualbox) 2015-06-30 00:01:54 +0900 各サーバーは以下のようにsshにログインできます $ vagrant ssh server1 $ vagrant ssh server2 $ vagrant ssh server3

ポイント

VagrantのエラーとWarningに悩まされましたが、ある程度は無視しても問題無いことがわかりました。
Warning: Connection timeout. Retrying...
init設定ファイルに関しても、かなりシンプル構成でいいこともわかり、作って検証して、用が済めば捨ててしまえばいいのですぐにdestroyしてしまいましょう。 あくまで検証環境なので。 それでは、次回は、このマルチサーバー構成からLVSを組んでみたいと思います。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ