VirtualBox + Vagrant
を使ってみよう!
@laugh_k
Node-Setagaya#2 2013.06
Profile
• 名前
Kei Iwasaki
• Twitter
@laugh_k
• 職業
MSP(監視運用代行)の会社で
サーバ・ネットワークエンジニア的なもの
さっそくですが、今回のテーマは
Node-Setagaya#2 2013.06
仮想化ソフトフェアでは定番の
Oracle VirtualBox
Node-Setagaya#2 2013.06
そして
Node-Setagaya#2 2013.06
最近話題のVirtualBoxのフロントエンドの
Vagrant
Node-Setagaya#2 2013.06
この2つを使って
ローカルマシンに手頃に検証環境を
作ってみよう!
Node-Setagaya#2 2013.06
ちなみにワタクシも
バリバリVagrant使い倒している
というわけではないので
むしろ使ってみたいからテーマにした
おて柔らかにおねがいします(震え声
Node-Setagaya#2 2013.06
という事で
まずは環境を作ってみよう!
Node-Setagaya#2 2013.06
Node-Setagaya#2 2013.06
1.VirtualBoxのインストール
事前にお願いしていたかと思いますが、
以下からOracle VirtualBoxのインストーラを
入手してインストール!
https://www.virtualbox.org/wiki/Downloads
Node-Setagaya#2 2013.06
2.Vagrantのインストール
実はVagrantは色々入れ方はあります。
● RubyGemsを使う
● bundlerで入れる(Ruby詳しくないので詳細不明。。)
● 公式サイトのインストーラーを使う
お手軽にプラグインを試しながら使いたいので
今回はRubyGemsを使ってインストールします。
Node-Setagaya#2 2013.06
2.Vagrantのインストール
1.まずはRuby環境の整備
* Macの人
デフォルトで入っているのRubyGems
の最新化だけしておきましょう。
* Ubuntu,LinuxMintの人
デフォルトでは入ってないので
インストール&念の為最新化
※ Windowsは今回は省略
$ sudo gem update --system
$ sudo apt-get install ruby rubygems
$ sudo gem update --system
Node-Setagaya#2 2013.06
2.Vagrantのインストール
2.RubyGemsでVagrantのインストール
インストールは以上!
$ sudo gem install vagrant
$ vagrant --version
Vagrantを使って
サクッと仮想環境を作ってみよう!
Node-Setagaya#2 2013.06
当然だけどこれはナシで
Node-Setagaya#2 2013.06
Node-Setagaya#2 2013.06
Vagrantで仮想環境を作ってみよう!
Vagrantを使った仮想環境構築の大まかな流れ
1. boxと呼ばれるテンプレートを用意する
2. 仮想マシンの作成
3. 仮想マシンの起動
といった感じです。
これがコマンドラインからできちゃうわけです!
Node-Setagaya#2 2013.06
Vagrantで仮想環境を作ってみよう!
仮想マシン作成手順
1. 作業ディレクトリの作成&移動
2. 仮想マシンの追加、起動
title: VM管理用の名前(自分がわかればとりあえず何でもOK)
url : テンプレートのURL
$ mkdir -p ~/work/vagrant
$ cd ~/work/vagrant
$ vagrant box add {title} {url}
$ vagrant init {title}
$ vagrant up
Node-Setagaya#2 2013.06
Vagrantで仮想環境を作ってみよう!
仮想マシン作成手順
3. テンプレートは以下のページで公開されている
ものを使うとラク。(もちろん自作もアリ!)
http://www.vagrantbox.es/
4.CentOS 6.3 x86_64 minimalだと以下のような感じ
$ vagrant box add cent63-x86_64 
> https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box
$ vagrant init cent63-x86_64
$ vagrant up
Node-Setagaya#2 2013.06
Vagrantで仮想環境を作ってみよう!
仮想マシンに接続
5. 基本的にはコンソールではなくSSHで接続します。
しかも以下のコマンドで一発接続可能
** 注意 **
※ Windowsの場合はSSHコマンドが見つからないんでPuTTY
とか使って入ってね。というメッセージが出るだけで
使えない。
※ Unix系環境でもlocalhostのPort2222にSSHすれば入れる。
(Portは環境によってはずれるかも。。)
$ vagrant ssh
Node-Setagaya#2 2013.06
Vagrantで仮想環境を作ってみよう!
vagrantコマンドのオプションなど
5. help見てもらえれば結構わかりますが、
結構使いそうなコマンドの例を
## gemを使ってプラグインのインストール
$ vagrant gem install {plugin}
## 仮想マシンの状態確認
$ vagrant status
## 仮想マシンの停止
$ vagrant halt {title}
## 仮想マシンの削除
$ vagrant destory {title}
Vagrantの便利なプラグイン紹介
Node-Setagaya#2 2013.06
Node-Setagaya#2 2013.06
Vagrantのプラグイン
Sahara
https://github.com/jedi4ever/sahara
sandboxモードが使えるようになり、
仮想マシンの状態を簡単にロールバックできるよう
になります。
インストール
$ vagrant gem install sahara
$ vagrant sandbox -h
おまけ
Node-Setagaya#2 2013.06
Node-Setagaya#2 2013.06
VirtualBoxのコマンドライン
Vagrantの内容が中心でしたが
実はVirtualBoxそのものもコマンドラインで
操作できたりします。
“Vbox...”というコマンドがそれに当たります。
Unix系OSの場合、VirtualBoxをインストールすれば
PATHの通った場所に配置されます。
$ ls /usr/bin/VBox*
/usr/bin/VBoxClient /usr/bin/VBoxHeadless
/usr/bin/VBoxManage /usr/bin/VBoxSDL
Node-Setagaya#2 2013.06
VirtualBoxのコマンドライン
WindowsでもPATHは通ってませんが
ちゃんとあります。
Node-Setagaya#2 2013.06
VirtualBoxのコマンドライン
あまり調べきれてないですが、
便利そうなものを紹介。
他にもVBoxManageコマンドのヘルプを覗いてみると
結構変態的なことできそうです。
## VirtualBoxに構築済みのVM一覧
$ VboxManage list vms
## 対象VMを起動
$ VboxManage startvm {vmname}
## 対象VMを起動(バックグラウンド)
$ VboxManage startvm {vmname} –type headless
最後に
Node-Setagaya#2 2013.06
Node-Setagaya#2 2013.06
最後に
Ops側から見た検証環境は
物理上でなきゃできないものや
最近だとクラウド上でやったりなんかが多いですが
ミドルウェア絡みのことをサクッとやりたいなら
VirtualBoxも非常に便利です。
予算や時間も見ながらこのあたりの手段は
適宜選択していきたいものですね。
また、今回紹介できたのはほんの一部ですが
ChefやPuppetなんかと絡めてこのへん掘り下げても
面白そうですね。

Vagrant+virtualboxを使ってみよう