【べいぐらんと】

Vagrant とは?

💡 仮想マシンの「レシピ帳」
📌 このページのポイント
Vagrant — 仮想環境の構築・管理ツール Vagrantfile OS: Ubuntu 22.04 Memory: 2GB Network: private vagrant up プロバイダ VirtualBox VMware / Docker 仮想マシン 開発環境 完成! Vagrantのメリット 環境の統一 チーム全員が同じ環境 「私の環境では動く」を解消 コードで管理 設定をGitで共有 再現性が高い 使い捨て可能 vagrant destroy で削除 何度でもやり直せる
Vagrantによる仮想環境管理のイメージ
ひよこ ひよこ

VagrantとDockerって何が違うの?

ペンギン先生 ペンギン先生

Vagrantは仮想マシンを管理するツールで、完全なOSが起動する。Dockerコンテナを管理するツールで、ホストOSのカーネルを共有する。VMオーバーヘッドが大きいけどOS全体を再現できる。コンテナは軽量だけどLinuxカーネルに依存する。WindowsサーバーGUI環境が必要ならVagrantが適しているよ

ひよこ ひよこ

Vagrantfileって何を書くの?

ペンギン先生 ペンギン先生

使用するOSイメージ(Box)、メモリやCPU数、ネットワーク設定、ポートフォワーディングプロビジョニング(初回起動時のセットアップスクリプト)などを書くよ。「vagrant up」コマンド一発でVMの作成から起動、初期設定まで全自動で実行されるんだ

ひよこ ひよこ

今でもVagrant使う場面はあるの?

ペンギン先生 ペンギン先生

あるよ。①Windowsサーバー環境のテスト、②ネットワーク機器のシミュレーション、③カーネルモジュールの開発、④セキュリティ検証用の隔離環境。特にKubernetesクラスタを手元で再現するときにVM複数台をVagrantで立てるパターンは今でも使われているね

ひよこ ひよこ

Vagrantの今後は?

ペンギン先生 ペンギン先生

HashiCorpが2023年にBSLライセンスに変更して物議を醸したね。コミュニティ主導のフォークも生まれている。用途的にはDockerやWSL2にかなり置き換わったけど、完全なVM環境が必要なシーンではまだまだ現役。代替としてはMultipassやLima(macOS向け)も注目されているよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Vagrant」って出てきたら「設定ファイルから仮想マシンを自動構築するツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Vagrant」 = 放浪者
💬 「どこでも同じ環境を持ち歩ける放浪者」というイメージだよ
← 用語集にもどる