datchの日記

気がついたら社会人。気になる技術的なことについて少しずつ書いていけたらと思っております。

【Vagrant】よくわからないながら頑張ってVagrant触ってみた件

まだ完全に出来てないですが、とりあえず研究の方は一区切り着きました。
久々に気分が清々しい。
まだ、作業はあるけど今週の土日使えば終わりそうなので大丈夫になりそうです。

概要



以下の流れでこの記事は構成されています。

  • 動機
  • Vagrantとは?
  • メリット
  • 導入
  • 使い方

動機



自分はサーバ管理をするインフラ側の部署を志望しています。
また、インターンでの環境構築でもVagrantが使われており、その仕組みを以前から気になっていたからです。
それに最近はノートPCや家のPCで複数の仮想マシンがあり、一々設定が面倒だと思っていたので、サーバ構築の言語化にはちょうど興味が湧いている所でした。

Vagrantとは?



仮想マシン(以降、VM)をどのような状態で構築するか、という設定をRubyという言語で指定出来る開発環境構築ツールです。
Windows, Linux, MacなどのOSで使うことができるため、環境を選ばずに使用することが出来るのも嬉しいです。

メリット



Vagrantのメリットは以下のとおりです。

  • サーバの構築を自動化することが出来る
  • サーバの構築手順の流れをGitなどでバージョン管理することが出来る
  • 好きなサーバの構成をプロビジョニングツールシェルスクリプトのコードでいくつも用意することが出来る
  • いつでもそのサーバをコマンド1つで破棄することが出来る
  • 便利なプラグインが多く存在する

導入


VirtualBoxのインストール

以下のダウンロードからインストールするためのファイルをダウンロードしてインストール。
Downloads – Oracle VM VirtualBox

インストールされたプログラム一覧にVirtualBoxがあることを確認する。

Vagrantのインストール

以下のダウンロードからインストールするためのファイルをダウンロードしてインストール。
Vagrant

インストールが完了した後に以下のコマンドを入力してインストールされていることを確認する。

$ vagrant -v
Vagrant version 1.x.x

上記のようにバージョンが表示されればインストールが完了している。

使い方


Boxファイルを入手する

まずは仮想マシンの元になるBoxファイルというものを入手する必要がある。
下記のサイトから自分がインストールしたいサーバ用のOSを選び、ダウンロードしよう。
Puppet Vagrant Boxes

Boxファイルの追加

Boxファイルを入手した後は、適当な空フォルダの中にBoxファイルを配置し、以下のようにコマンドを入力する。
ここでは、「centos-64-x64-vbox4210.box」というBoxファイルを「centos64」という名前で登録する。

$ vagrant box add centos64 boxcentos-64-x64-vbox4210.box
$ vagrant box list
centos-64 (virtualbox)

これで64bitのOSを追加することが出来たはずだ。
ここらで失敗する人は自分の経験上ではWindowsの人で以下のような場合はこける事があるのでチェックして欲しい。

【仮想OS】virtualboxで64bitOSが選択できない場合 - エーシーの日記

Vagrantfileの生成
$ vagrant init centos64
$ ls
Vagrantfiel

これでVagrantfileが出来たのを確認出来ました。

仮想マシンを起動する

Vagrantfileが出来たらこれでVagrantから仮想マシンを起動できるようになります。
以下のコマンドで仮想マシンを起動出来ます。

$ vagrant up

このコマンドを打つとVagrantが起動します。
すると文字がずらずらと出てくると思いますが大人しく待ちましょう。

するとCentOSの画面が表示されるはずです。
こちらで

と入力することでログインが出来ます。

これで、普通に実機サーバと同じ環境が構築出来ました。

最後に



触る前はVagrantのboxファイルだったりVagrantfileだったりは非常に謎な存在だったのですが、実際に触ってみて単純に構築できることが出来たので良かったです。
ただ、本当に重要なのはVagrantfileに記述するプロビジョニングツールの記述だったりするので、そちらが本番という感じですね。