開発環境構築でも使用されているVagrantについてまとめた。
Vagrantとは?
Vagrantとは開発環境を自動で構築するコマンドラインツール。Windows, Mac, Linuxなど幅広いプラットフォームで使用することが可能である。Vagrantをインストールするとvagrant
というコマンドが使用できるようになり、このコマンドを使用することによって開発環境を構築することができる。開発環境はVirtualBoxやVMWareといった仮想環境上に仮想マシンを構築して利用する。さらに、必要に応じてChafやAnsibleなどのプロビジョニングツールと組み合わせることによってミドルウェアものインストールや設定も自動で行うことができる。
基本用語
Provider
Vagrantでは、仮想環境上に仮想マシンを構築して、これを操作する。この仮想環境のことをProviderと呼ぶ。
Provisioning
Provisioningツールを使うことで、起動した仮想マシンにApacheやPHPなどのミドルウェアのインストールや設定を行うことができる。
Boxファイル
仮想マシンを起動する際にベースとなるイメージファイルをBoxファイルと呼ぶ。Boxファイルは仮想環境毎に必要になる。通常、BoxファイルはOSイメージから作成し、Vagrantを利用する上で最低限必要な設定(Vagrantユーザの作成、sshdの起動、プロビジョニングツールインストール)のみを行う。
Vagrantfile
Vagrantを使って構築する仮想マシンのスペックやプロビジョニングツールの指定など、仮想マシンの構成を記述するのがVagrantfile。VagrantfileはRubyで記述する。このファイルとプロビジョニングツールの設定ファイルがあれば、どの環境においても同じ仮想環境を構築することができる。