【べいぐらんと】

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」 = 放浪者
💬 「どこでも同じ環境を持ち歩ける放浪者」というイメージだよ
← 用語集にもどる