0
0

[VirtualBox / Vagrant] VirtualBoxとVagrantとは

Last updated at Posted at 2024-05-31

まとめ

VirtualBoxとは

Oracle VM VirtualBox (オラクル ブイエム バーチャルボックス)とは、x86ならびにAMD64/Intel64にかかる仮想化ソフトウェアパッケージの一つ。
Wikipedia

つまり、ホストOS上で複数のゲストOSを仮想マシンとして実行するためのソフトウェア。VMの実行環境です。

Vagrantとは

仮想機械の提供自体は、VirtualBoxをはじめとする仮想化ソフトウェアが行う。Vagrantは、これらソフトウェアが用意されているのを前提として、仮想機械の設定や立ち上げに特化している。
Wikipedia

つまり、色々な種類の仮想マシンの定義、構築、管理を同一の設定ファイルとインターフェースで操作するためのソフトウェア。

目次

詳細

VirtualBoxとは

種類: ハイパーバイザ(仮想マシンモニタ)
提供元: Oracle
主な機能: ホストOS上で複数のゲストOSを仮想マシンとして実行するためのソフトウェア。
用途: 個別の仮想マシンを作成、管理、実行すること。

実現できること

  • 複数のOSを同時に実行: 例えば、Windows上でLinuxや他のWindowsを実行。
  • テスト環境の構築: 異なるOSでの動作確認や開発テストを実行。
  • スナップショット: 仮想マシンの現在の状態を保存し、後でその状態に戻す。

比較対象

  • EC2 (AWS)
  • GCE (GCP)
  • Docker (VMとコンテナは別物だがアプリケーションの実行環境という点では共通のため比較対象に含む)

Vagrantとは

種類: 仮想マシンのプロビジョニングと管理を行うツール。
提供元: HashiCorp
主な機能: 仮想マシンの定義、構築、管理を簡単に行えるようにする。特に開発環境のセットアップを自動化するために使われる。
用途: 仮想環境の構築を自動化し、開発環境の共有を容易にする。

実現できること

  • 仮想マシンの自動構築: コマンド一つで仮想マシンを設定、起動、構築。
  • 環境の再現性: どの開発者も同じ開発環境を容易に構築できる。
  • プロビジョニング: Shellスクリプト、Chef、Puppetなどを使って、仮想マシン上にソフトウェアをインストールし、設定を行う。

比較対象

Vagrant単体で使うことはないため

  • Vagrant + VirtualBox(VagrantがデフォルトでVirtualBoxに対応してる)
  • Vagrant + EC2(vagrant-aws を利用)
  • Vagrant + GCE(vagrant-google を利用)
  • Vagrant + Docker

使用例

VirtualBoxのみ使用

  • 手動でUbuntu仮想マシンを作成し、OSをインストールし、必要なソフトウェアを手動でインストール。
  • 各開発者が自分で設定を行うため、設定がバラバラになる可能性がある。

VirtualBox+Vagrantを使用

  • Vagrantfileを作成し、仮想マシンの設定(例えば、OSの種類、メモリサイズ、ネットワーク設定など)とプロビジョニングスクリプト(必要なソフトウェアのインストールや設定)を記述。
  • 各開発者はvagrant upコマンドを実行するだけで、同じ設定の仮想マシンを立ち上げ、環境を統一。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0