RackShareRackShareラックを、シェアしよう

Vagrantで検証環境をコード化する|「作っては壊す」を一瞬で

Tomo@自宅ラボ ・ 公開 2026-07-15 ・ 更新 2026-08-25 ・ 閲覧 68
技術解説 #Linux

検証環境を毎回手で作るのは面倒。Vagrantを使えば、環境の構成をコードに書いて、コマンド一発で作って壊せます。入門をまとめます。

Vagrantとは

仮想マシン(VirtualBoxなど)の作成・設定を、設定ファイル(Vagrantfile)に書いて自動化するツールです。「どんなVMを、いくつ、どう設定するか」をコードにしておけば、vagrant up 一発で環境が立ち上がります。

何が嬉しいのか

  • 再現性: 同じVagrantfileから、いつでも同じ環境ができる
  • 速い: 手動のインストール作業が不要
  • 使い捨て: vagrant destroy で消し、また作り直せる
  • 共有できる: Vagrantfileを渡せば、他の人も同じ環境を作れる

「検証のたびに1時間かけてVMを作る」が、数分になります。

Vagrantfileの例

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/jammy64"

  config.vm.define "web" do |web|
    web.vm.hostname = "web01"
    web.vm.network "private_network", ip: "192.168.56.11"
  end

  config.vm.define "db" do |db|
    db.vm.hostname = "db01"
    db.vm.network "private_network", ip: "192.168.56.12"
  end
end

これで、web01とdb01の2台が、指定IPで立ち上がります。

基本コマンド

vagrant up        … 環境を起動(初回は自動で作成)
vagrant ssh web   … webにSSHログイン
vagrant halt      … 停止
vagrant destroy   … 削除(きれいに片付ける)
vagrant reload    … 設定を変えて再起動

プロビジョニングで初期設定も自動化

起動時にシェルスクリプトやAnsibleを走らせて、初期設定まで自動化できます。

config.vm.provision "shell", inline: "apt update && apt install -y nginx"

これで、起動と同時にnginxまで入った状態になります。

学習での使い方

  • 「Web+DBの2台構成」をVagrantfileで用意し、通信を検証
  • 壊して作り直す前提で、思い切った実験
  • Ansibleの練習台として、複数VMを一気に用意

まとめ

Vagrantは、検証環境を「コードで定義し、一瞬で作って壊す」ためのツールです。再現性があり、使い捨てできるので、学習にも実務の検証にも最適。手作業でVMを作る時代から、環境をコードで管理する時代へ。まずは1台のVagrantfileから始めて、「作っては壊す」の快適さを体験してみてください。

♥ 0(いいねはログイン後)

コメント 0 件

コメントするにはログインしてください。