VagrantTweetTweetこれまでサービスの環境構築はシェルスクリプトでやっていました。シェルスクリプトはgitで管理しておいて、上から準に流せば環境設定が完了するという方式です。EC2で、一度環境を構築したらイメージ化して再利用ができるので、それほど不便にも思っていませんでした。Chefも併用しようということで、導入を進めています。仮想環境の立ち上げが必要Chefに限らずなんですが、環境を構築するフローを繰り返しテストするためには、環境を初期状態に繰り返しリセットする必要があります。環境を初期状態にするというのはOSを再インストールするとか、ちょっと面倒な話です。EC2の場合は新しいインスタンスを起動するだけでリセットできるんですが、ローカルマシンだけで環境構築のテストができたら、喜ばしいです。そこで使えるのが、仮想化ソフトウェアVirtualBoxです。VirtualBoxそして、VirtualBoxを含む仮想化ソフトウェアを用いて開発環境を簡単に起動したり捨てたりできるようにするVagrantというツールです。VagrantVirtualBoxとVagrantのインストールVirtualBoxは、下記のページからダウンロードできます。VirtualBoxv.4.3.12のOSX向けをダウンロードしました。http://download.virtualbox.org/virtualbox/4.3.12/VirtualBox-4.3.12-93733-OSX.dmgVagrantは、下記ページからダウンロードします。Downloadsv.1.3.5のOSX向けをダウンロードしました。http://files.vagrantup.com/packages/a40522f5fabccb9ddabad03d836e120ff5d14093/Vagrant-1.3.5.dmgどちらもダウンロードしたらパッケージを展開してインストールします。無事にインストールが完了したら、vagrantコマンドが使えるようになります。1.3.5vagrantコマンドから、OSイメージを追加します。ここでは、CentOSのイメージを、centosという名前で登録しています。http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.5-x86_64-v20140504.boxかなり容量が大きいので、ダウンロードに時間がかかりますが、完了するとlistサブコマンドで確認できるようになります。(virtualbox)これでインストールは完了です。実際に仮想環境を起動します。何かしらの作業ディレクトリを作成しておきます。~/vagrantvagrantコマンドのinitサブコマンドで、環境を初期化します。これをすると、Vagrantfileという設定ファイルが生成されます。upというコマンドを打てば、このVagrantfileを元に仮想環境を起動してくれます。upこれで起動が完了です!あとは接続するだけです。~]$これでここから先のプロンプトは、CentOSの環境となります。仮想環境なのでめちゃくちゃに破壊しても自分のマシンには影響しませんし、環境構築のフローをテストする場合は、「一度捨ててもう一度最初から」というのを簡単にできます。後片付け仮想環境での作業が終了したら後片付けですが、vagrantのhaltサブコマンドで、環境を停止できます。halthaltは次にマシンの停止のようなもので、次にupサブコマンドで起動した時には同じ状態からスタートします。停止ではなく、完全に破棄して最初からやり直したい場合は、destroyサブコマンドを使います。destroyこれで全部まっさらに。まとめChef導入の前段階として、仮想環境の構築をしてみましたが、思っていたよりも簡単でした。これから本格的にChefを使っていきたいと思います。ちなみに、今これを読んでいます。次のページも参考にさせていただきました。LeanplumでスマホアプリのA/Bテストをする。ゲームバランスも調整できる。Sparkの分散処理を実行する。EC2にクラスタを構築。エンジニアリング半分で頑張っています。広告業界と無関係な僕がさっぱり理解できないアドテク用語を調べた。2014年3月30日WEBアクセス解析ツールMixpanelが簡単なのに凄い。