See the Elephant

1992生まれのプログラマが書くエンジニアブログ

Vagrantについて勉強した

vagrantとは

vagrantVMを作成する手順を自動化するためのツールである.
vagrantで環境設定の自動化を行ったので, vagrantについてまとめていく.

www.vagrantup.com


vagrantでできること / できないこと

できること

VMを作成する時, 通常であれば手動でVMのOSやメモリ, ストレージを指定してVMの構築を行う. VM作成にあたって, このような手順を行ったとこがある人は多いと思う. これを手動で複数の環境で行うのはかなり面倒である.
zakkiweb.net

vagrantを使うことでこの作業を自動化することが出来る.
VagrantfileにVMの設定をあらかじめ記述しておけば, vagrantにファイルを読み込ませることでVMを自動構築してくれる.

Vagrantのうまみ

vagrantの旨味は, Vagrantfileを共有するだけで複数の端末上で同じ環境を作ることが出来ることにある.
githubでVagrantfileを共有すれば, みんな同じ環境で開発ができる.

ここについては以下の記事が詳しい.
knowledge.sakura.ad.jp

vagrantとサーバ設定ツールとの組み合わせ

vagrantVMの作成だけでなく, VM上の環境設定も同時に行うことが出来る.
こういった事前環境設定をprovisioningというらしい.

ChefやPuppetといったサーバ設定ツール, shellscriptと組み合わせることで, VMの作成だけでなく, VM上の環境設定も同時に行える.

できないこと

しかし, vagrantだけでVM自体は作成できない.
VM環境はvirtualboxなど仮想環境構築ソフトが別途必要である.

vagrantの機能をまとめると...

vagrantは以下の2つを行えるツールである.

  • vagrantの機能
    • VMの構築自動化
    • VM上のプロジェクト環境構築自動化