LoginSignup
19
20

More than 5 years have passed since last update.

Vagrantの使い方

Posted at

身近な人にDevOpsの最初の一歩を解説するために、Vagrantというツールの紹介と使い方をまとめてみた。

Vagrant(ベイグラント)とは

仮想マシン環境を簡単に構築・管理・配布できるツール。どのくらい簡単かというと、例えばUbuntu 12.04 server 32bitの仮想マシンを準備するのであれば、Vagrantをインストール後は下記の3行で済む。

$ vagrant box add base http://files.vagrantup.com/precise32.box
$ vagrant init
$ vagrant up

コマンドを実行後、しばらくすると、仮想マシンが立ち上がる。コンソールにログインするには、下記のコマンドを実行する。

$ vagrant ssh

vagrantというユーザーでログインされる。このユーザーはsudoersに追加されているので、sudoコマンドでroot権限で様々なコマンドが実行可能だ。

ここで登場したコマンドを簡単に説明すると、

$ vagrant box add base http://files.vagrantup.com/precise32.box

http://files.vagrantup.com/precise32.box というbox(仮想マシンのベース)をダウンロードし、baseという名前で追加する。

$ vagrant init

→ Vagrantの設定ファイル(Vagrantfile)を生成する。

$ vagrant up

→ Vagrantfileを元に仮想マシンを起動する。

$ vagrant ssh

→ 立ち上げた仮想マシンにSSHでログインする。

Vagrantを使った仮想マシンの構築

Vagrantは、このboxをベースにして、各種環境をインストールしたり、設定ファイルを追加したりできる。この操作をProvisioningと呼んでいる。

Provisioningに利用できるのは、以前はChef Soloのみだったが、今ではシェルスクリプト等もサポートしている。vagrant up時にはデフォルトで実行されるし、仮想マシンが起動中も下記のコマンドを実行すれば、構築スクリプトが実行される。

$ vagrant provision

Chefなどの環境構築ツールを利用すれば、「既にインストールされている場合はスキップ」みたいな事も自動でしてくれるので便利。(ただ、今回はVagrantの紹介なので、Chefについては割愛。)

VagrantもChefもRubyベースのDSLで環境を構築するので、スクリプトがあれば手順書要らずで環境を複製できる。

Vagrantの仮想環境を別の環境にデプロイする

VagrantはデフォルトではVirtualBoxベースの仮想マシンを作成する。VagrantはVMWareにも対応しているし、更にAWS EC2にデプロイすることもできる。ローカルで開発した環境を元に、EC2の構築までできる。この機構はプラグインになっている。例えばEC2にデプロイするのであれば、

$ vagrant plugin install vagrant-aws

というように、プラグインをインストールし、Vagrantfileに設定を記述する。もちろん、EC2以外のクラウドベンダーのプラグインもある。例えば「さくらのクラウド」であれば、

$ vagrant plugin install vagrant-sakura

$5/月でSSDストレージが使える事で有名なdigitaloceanにデプロイするのであれば、

$ vagrant plugin install vagrant-digitalocean

と言ったものがある。

(Vagrantfileに記述する内容や、providerの指定方法は、それぞれのプラグインのドキュメントに書いてあるので、こちらはとりあえず割愛。)

Vagrantを使ったデスクトップ環境の構築

GUIが必要な場合でも、Vagrantfileの設定を修正するだけで対応できる。下記はVirtualBoxの例

config.vm.provider "virtualbox" do |v|
  v.gui = true
end

もちろん、boxにはデスクトップ環境のパッケージが入っていないとGUIが立ち上がっても嬉しさ半減。boxの共有しているページもあるが、セキュリティ等が気になる人はveeweeを使ってboxを作ろうVeeweeの使い方

仮想マシンのネットワークの設定の辺りにハマる事があるが、Vagrantは便利なので、使い方を知っておこう。

19
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
20