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> # 仮想マシンの削除