*

鼻水出るほどびっくりな環境構築ツール Vagrant

公開日: : Vagrant ,

仕事で仮想マシンを使うことにして(今まではXAMPPやAWSで事足りてた)、ついでに面倒だから自動構築できる手段を獲得しよう、ということで初めて Vagrant と Chef-solo をいじりました。

今更感はすごいものの、実際に触ってみてその便利さに思わず鼻水を吹き出しそうになったので、今回はそのうちの Vagrant に関して記録を。Chef-soloに関してはまた今度(たぶん)。

スクリーンショット 2014-11-30 22.11.59

Vagrant と Chef-solo は合わせて使えば仮想環境の作成や破棄、自動構築や複製が簡単にできるようになる、という代物(少なくとも今はそう認識しています)。

★今回したいこと★
Vagrant で仮想マシンを立て、ホストのブラウザからゲストにアクセスするまで。更に外部PCからもアクセス。

※基本的にMacで動かしています。

1. VirtualBox と Vagrant のインストール

 

 

 

Vagrant は仮想マシンのためのツールなので、仮想化ソフトがまず必要。
ということで今回は VirtualBox を使います。
以下のサイトからダウンロードしてインストール。
https://www.virtualbox.org/wiki/Downloads

Vagrant は以下のサイトからダウンロードしてインストール。
http://www.vagrantup.com/downloads.html

2. 仮想マシンを Vagrant で起動

 

 

 

まず、インストールした Vagrant の動作確認。

 

Vagrant はBOXファイルというテンプレートを使って仮想環境を作成します。
以下のサイトに有志の方々が様々なBOXファイルを置いてくれていますので、今回はそこから使います。
http://www.vagrantbox.es
(veeweeというツールでBOXファイルは自作も可能)

上記サイトからBOXファイルをインストール。
インストールするファイルに名前を付けますが、仮に名前をcentos6.5とします。

 

BOXファイルが追加されているかどうかを確認。

centos6.5が表示されれば成功。

仮想マシンの起動に必要な設定ファイル、Vagrantfile を作成します。

 

作成された Vagrantfile を編集します。
今回はわかりやすくするため、 VirtualBox の画面が出てくるように以下の箇所のコメントを削除。その他の仮想マシンの設定もこのファイルで調整できます。

 

そして仮想マシンを起動。

 

すると以下のように VirtualBox が起動して CentOS が立ち上がります。
スクリーンショット_2014-11-30_17_52_57

停止させたい時。

 

VirtualBox のCentOSにログイン

login : vagrant
password : vagrant

 

ターミナルから ssh でのログインもできます。

Windows はそのままでは vagrant ssh はできませんが、Tera Term や PuTTY で sshログインできます。(確かデフォルトだと Host:127.0.0.1 / Port:2222)

仮想マシンを破棄したい場合は以下。

 

使いたい時に vagrant up して ssh するだけ。

3. 仮想マシンにホストブラウザからアクセス

 

 

 

Vagrantfile の以下の箇所のコメントを外します。

これでホスト内で有効なIPが割り当てられます。

そして vagrant up します(既に起動中の場合は vagrant reload)。
後は試しに Apache をインストールしてサービス起動するだけ。

ホストのブラウザに 192.168.33.10 を入力すれば以下のようにアクセスできると思います(index.htmlを置いています)。
スクリーンショット 2014-11-30 18.55.43

4. 外部から仮想マシンにアクセス

 

 

 

更に、Vagrant Cloud というサービスを使用すると簡単に他のPCやスマホからも仮想マシンにアクセスできます。
https://vagrantcloud.com/
スクリーンショット 2014-11-30 23.45.46
上記のサイトにアクセスして右上からユーザ登録。

登録完了後、ターミナルでログイン(登録時のユーザ名とパスワードを入力)。

 

そして vagrant share を実行。
すると、メッセージの下の方にURLが出力されます。

このURLで他のPCやスマホからも仮想マシンにアクセスできます。

 

チーム内で開発中のものをちょっと確認してもらう、とかに使えそう。 

5. その他(共有フォルダとSahara)

 

 

 

Vagrantfile を編集することでホストとゲスト間の共有フォルダを設定できます。
以下の箇所のコメントを外して共有したいパスを記述(手前がホスト側のパス)。

vagrant reload して設定を適用。

 

また、Saharaというプラグインで簡単に仮想マシンのロールバックができます。
Sharaプラグインをインストール。

 

仮想マシン起動中にホスト側で sandbox をオンにしておけば、

 

どんなに仮想マシンをぶっ壊しても以下のコマンドで on にした時点までマシン状態をロールバックできます。

 

他にも便利なプラグインが多数ありますが、Vagrant だけでも非常に便利。
びっくりするツールです。鼻水注意。

 

関連記事

vagrant_structure

Vagrantで複数サーバ立ち上げ

普段、ローカルPCでの開発の際、アプリケーションの動作環境をできるだけ本番環境と同じ状態にしたい時は

記事を読む

  • Kazu (カズ) です。 87年生まれです。 ベトナムのホーチミン市に1年ちょっと駐在して本帰国、かと思いきや今度はベトナムのダナン市に駐在することになりました。 ITシステムなお仕事をしています。 ベトナムが初めての海外。いろいろびびりまくってます。 ガイコツの被り物をしてますが、中身も大して違いはありません。 本ブログはぼちぼち更新していきます。 solutions-architect-associate
PAGE TOP ↑