初めてのVagrantを用いた仮想環境構築方法


1.そもそも仮想化とは?仮想環境とは?

  仮想化(Virtualization)とは、物理的な環境に捉われることなく、ハードウェアに含まれるCPUや
  メモリなどのリソースを論理的に分割・統合する技術
のことをいいます。
  仮想マシン(Virtual Machine、VM)は、その仮想化の技術を用いてPCを動作させることをいいます。
  ざっくり言うと、目の前の1つしかないサーバを複数のサーバがあるように分割し動作させることをいいます。
  この時点で、「かなり便利そう!」「早く使いたい!」という気持ちになりますよね!(僕はなりました^^笑)
  具体的には、目の前のMac上でWindowsやLinuxを動作させることができます
  用語として、この場合Macが「ホストOS」といい、WindowsやLinuxを「ゲストOS」といいます。

2.仮想マシンのメリット・デメリットは?

  簡単に仮想マシンを導入することによるメリット・デメリットを列挙します。

 ☆メリット☆
  1.サーバの台数を減らしコスト削減
  2.管理の手間が減らせる
  3.すぐにサーバを用意できてしまう
  4.複数のOSが使える
                  etc

 ★デメリット★
  1.小規模環境ではコストが割高になる
  2.仮想環境を管理するための知識と技術が必要になる
  3.物理ハードウェアに障害での影響範囲が大きくなる可能性がある
                                  etc

3.Vagrantとは?

  Vagrantとは、仮想環境を作成するにあたって、とても便利なソフトウェアです。
  設定や仮想マシン(VM)の作成方法などを手助けしてくれます。
  Vagrantを使えば、簡単な数行のコマンドで仮想環境を構築することができます。
  しかし、Vagrant自体には仮想化に関する機能は搭載されていないので、
  別途仮想化ソフト(VirtualBox、VMware、EC2など)が必要になります。

4.Vagrant、VirtualBoxのインストール

 ●Vagrantのインストール
  Vagrant ←こちらから
  ※最新バージョン Vagrant 2.2.1(2018.11.22 現在) ※以下バージョン確認

Vagrantのバージョン確認
$ vagrant -v # -v は --versionと同義
Vagrant 2.2.1 

#インストールしているVagrantが最新版かどうかの確認方法
$ vagrant version
Installed Version: 2.2.1
Latest Version: 2.2.1

 ●VirtualBoxのインストール
  VirtualBox ←こちらから
  ※最新バージョン VirtualBox 5.2.22(2018.11.22 現在)

5.Vagrant Boxのダウンロード

 Vagrant Boxとは、仮想マシンのテンプレート(雛形)となるファイルです。
 手動で1からOSをインストールするのは大変です。
 が!しかし!例えばCentOSのBoxでCentOSの環境を構築することができます。
 早速ですが、以下のコマンドでVagrant Boxを追加します。

boxの追加
$ vagrant box add box名 boxのURL

 ●Vagrant Boxのダウンロード
  Box ←BoxのURLはこちらから

 例えば、CentOS 6.4というBoxを追加する場合

CentOSのboxを追加
$ vagrant box add CentOS 6.4 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20131103.box

  ダウンロードが完了したら、一覧を確認してみましょう。

boxの一覧確認
$ vagrant box list
bento/centos-6.8 (virtualbox, 2.3.4)
centos/7         (virtualbox, 1809.01)
centos64         (virtualbox, 0)

6.仮想マシン操作の前準備

  仮想マシンを作るフォルダの作成をする。

仮想マシン操作の前準備
$ cd              # ホームディレクトリに移動
$ mkdir MyVagrant # MyVagrantフォルダの作成(※今後はこのフォルダで仮想マシンを作っていく)
$ cd MyVagrant    # 先ほど作成したMyVagrantフォルダに移動
$ mkdir MyCentOS  # MyCentOSフォルダを作成(仮想マシンを作るフォルダの作成 ※フォルダ名は任意)
$ cd MyCentOS     # MyCentOSフォルダに移動

  続いて、Vagrantの初期化をし、Vagrantfileを作成する。(※最初だけ!

vagrantの初期化&Vagrantfileの作成
$ vagrant init box名

7.Vagrantの実行 仮想マシンの起動

  vagrantの実行=仮想マシンの起動となります。

vagrantの実行 仮想マシンの起動
$ vagrant up

  次に仮想マシンにsshログインします。

仮想マシンにsshログイン
$ vagrant ssh

  これでログインまでいけました。


 補足
  仮想マシンからログアウトする。

仮想マシンからログアウト
$ exit

  仮想マシンをシャットダウンする。

仮想マシンのシャットアウト
$ vagrant halt