コンテンツにスキップ

2. VirtualBox&Vagrant基礎

2.1. VirtualBox

2.1.1. VirtualBoxとは

VirtualBoxはホスト型の仮想化ソフトウェア。 ホスト型ではVMは仮想化ソフトウェア上で仮想化される

2.1.2. VirtualBoxのネットワーク設定

ネットワーク設定ごとに通信が可能な方向は以下の通り。

種類 ゲストOS=>ホストOS ホストOS=>ゲストOS ゲストOS=>外部 外部=>ゲストOS ゲストOS同士
NAT × × ×
ホストオンリーアダプタ × ×
内部ネットワーク × ×
ブリッジアダプタ
NATネットワーク × ×

NAT

ゲストOSがホストOSの外部 (インターネットなど) にアクセスするために利用する。 内部的にはホストOSのルーティングにより接続される。

ホストオンリーアダプタ

ホストオンリーアダプタは、ゲストOS-ホストOS間、ゲストOS間の通信を実現するネットワーク。 内部的にはホストOSの仮想アダプタを開始接続される。

ブリッジアダプタ

ブリッジアダプタではVMがホストPCとは完全に独立しているかのように振舞える。 ホストOSの物理アダプタを経由して接続される。外部アクセス可能

外部からVMに直接アクセスできる

NATネットワーク

VirtualBox内に内部ネットワークが形成される。 なおNATネットワークでは使用する前に事前にネットワーク名やサブネット情報を設定する必要がある。

内部ネットワーク

VirtualBoxがスイッチのように機能する。ゲストOS同士のみ接続可能

2.2. Vagrant

2.2.1. Vagrantとは

Vagrantは仮想マシンの構築設定などをRuby言語で記述し構築できるツール。言い換えると仮想マシンなどを簡単に構築/操作するためのソフトウェア。

VirtualBoxやVMwareを直接操作せずともエージェントで操作可能となっており、記述はvgarantfileに行う。

利用できるイメージはコチラから。

2.2.2. Vagrantの基本コマンド

以下に、Vagrantを使用してVirtualBoxを対象とする基本的なコマンドを以下に示す。

vagrant init <イメージ名> # イメージを基に初期化

vagrant box list # イメージの確認
vagrant box add <イメージ名> # イメージの追加(local)
vagrant box remove <イメージ名> # イメージの削除(local)

vagrant up # イメージのデプロイ(デフォルトでは1イメージあたり1GBメモリ割り当て)
vagrant status # イメージの状態確認
vagrant global-status # イメージの状態確認(どのディレクトリでも使用可能)
vagrant ssh <host名> # 仮想マシン接続
vagrant up <host名> # 仮想マシンの起動/再開
vagrant halt <host名> # 仮想マシンの停止
vagrant destroy <id> # 仮想マシンの削除