Linux
 Computer >> コンピューター >  >> システム >> Linux

LinuxでVagrantを使い始める方法:仮想環境構築の基本ガイド

近年、Linuxを含む最新のオペレーティングシステムは、PC上でのOS仮想化を実現するよう大きく進化してきました。ハイパーバイザーを使って複数のOSを同時に実行できることで、開発者やシステム管理者、そして趣味でシステムをいじるユーザーは、小規模で使い捨て可能な仮想環境を手軽に構築し、テストや学習に活用できるようになっています。

仮想化が普及するにつれ、「作業をもっと楽にする」と謳うツールも数多く登場しました。Vagrantはその代表的な存在です。本記事では、LinuxでVagrantを始めるために知っておきたいポイントとして、Vagrantとは何か、ベースシステムへのインストール方法、そして実際にどのように活用できるのかを詳しく解説します。

Vagrantとは?

Vagrantは、VirtualBoxやVMwareなどの仮想化ソフトウェアと連携し、既知の状態を持つ仮想マシン(VM)を簡単に作成・設定・再現できるためのツールです。事前設定済みの仮想マシンイメージである「ボックス(Box)」をVagrant Cloudから取得し、自分のシステム上で初期化して実行できます。

イメージを取得し、いくつかの簡単なコマンドを実行するだけで、誰でも自由に触れる仮想サーバーを用意できるのが大きな魅力です。検証用の環境を何度でも作り直せるため、学習用途や開発時の動作確認にも最適です。

Vagrantのインストール

Vagrantは公式サイトのダウンロードページからzipファイルとして入手でき、展開するとAppImage形式のファイルが得られます。実行権限を付与してそのまま起動できます。

あるいは、お使いのディストリビューションのリポジトリからインストールすることも可能です。

Ubuntu / Debian系ディストロの場合:

sudo apt install vagrant

Fedoraの場合:

sudo dnf install vagrant

VagrantはHyper-V、VMware、Parallels、VirtualBox、libvirtなど、さまざまな仮想化基盤と連携できます。本チュートリアルではlibvirtを使用します。libvirtはLinuxカーネルに組み込まれたハイパーバイザーであり、Linux環境との相性が非常に良いからです。

Vagrantのlibvirtプロバイダーをインストールするには、以下のいずれかのコマンドを実行します。

sudo apt install vagrant-libvirt

または、プラグインとしてインストールする場合は:

vagrant plugin install vagrant-libvirt

最初のVagrant Boxを起動する

Vagrantを使い始めるには、①ボックスの追加、②仮想マシン(VM)用ディレクトリの作成、③初期化と起動のための2つのコマンド実行、という流れになります。

1. ボックスを追加する

まず、使用したいボックスをシステムに追加します。

vagrant box add centos/7 --provider=libvirt

--provider=libvirtのように、プロバイダーをフラグとして指定するのを忘れないでください。CentOS以外にも、UbuntuやDebianなど多数のボックスがVagrant Cloudで公開されています。

2. 作業用ディレクトリを作成する

次に、VM専用のディレクトリを作成して移動します。

mkdir vagrant-test
cd vagrant-test

3. Vagrantを初期化して起動する

続いて、Vagrantを初期化します。

vagrant init centos/7

初期化処理の一環として、Vagrantは現在の作業ディレクトリ内に「Vagrantfile」という設定ファイルを自動生成します。ディレクトリとVagrantfileはいくつでも作成でき、それぞれが1台の仮想マシンに対応します。複数のVMを同じボックスから生成することも、それぞれ異なるボックスをベースにすることも可能です。

VMを起動するには、次のコマンドを実行します。

vagrant up

起動が完了すると、仮想マシンはヘッドレスモード(モニターや仮想画面なし)でバックグラウンド実行され、SSH経由でのみアクセスできます。ネットワーク上の別マシンから通常のSSHクライアントで接続することも、Vagrant組み込みのsshコマンドを使うこともできます。

外部のSSHクライアントを使う場合は注意が必要です。接続先のIPアドレスはホストマシン(Vagrantとプロバイダーが稼働しているPC)のものですが、ポート番号が異なります。起動時にVagrantはSSH用のポート22がどこへ転送されたかを表示します。多くの場合、転送先は2222番ポートです。

組み込みのsshコマンドで接続するには、次のように入力します。

vagrant ssh

これで仮想マシンにログインできました。SSHセッションを終了するには「exit」と入力するか、Ctrl + Dを押します。

最初のVagrant Boxを停止・削除する

実行中のVMを停止するには、次のコマンドを使います。

vagrant halt

VMを完全に削除する場合はこちらです。

vagrant destroy

VMを破棄しても、ベースとなるOSイメージ(.boxファイル)はVagrantの内部キャッシュに保持されます。そのため、次回以降は.boxファイルを再ダウンロードすることなく、必要なときにすぐ新しいVMを起動できます。

まとめ

わずか2つのコマンド——vagrant initvagrant up——だけで、Vagrantは完全に機能しSSHでアクセス可能な仮想Linuxマシンを立ち上げられます。より高度な設定(メモリ割り当て、ネットワーク設定、プロビジョニングなど)はVagrantfileを編集することで行えます。詳細はVagrant公式ドキュメントを参照してください。

仮想化に興味がある方は、「仮想化とは何か、なぜ使うべきなのか」や「LinuxでVirtual Machine Managerを使い始める方法」といった関連記事もあわせてチェックしてみてください。

  1. Android MessagesをPCで使おう!Web版の初期設定と知って得する便利機能5選

    Googleは巨大なプラットフォームであり、世界有数の検索エンジンであることは言うまでもありません。しかし、その実力は検索だけにとどまりません。日常生活をより快適にしてくれる多彩なサービスを数多く提供しています。そんなGoogleが、Android Messagesアプリのアップデートをリリースしました。これにより、任意のWebブラウザからSMSメッセージを送受信できるようになり、AndroidユーザーはPCやMacから手軽にメッセージのやり取りが可能になりました。 利用に必要なのは、最新版にアップデートしたAndroid Messagesアプリだけ。以下では、Web版Android Mess

  2. Xen 仮想化の開始

    Zで綴られるZenは、8時間保持した後、雪の中でおしっこをしているときに頭頂部にある典型的な感覚です. Xen は X で綴られており、KVM と同様に、企業市場を対象としていますが、家庭でもビジネスでもセットアップを検討できるオープンソースの仮想化テクノロジです。 KVM に関するいくつかのチュートリアルがあり、導入記事、ストレージとネットワーク (ブリッジ ネットワークを含む) のセットアップと構成の方法、および VirtualBox との競合の解決方法をカバーしています。ここで、Xen についてもう少し学びましょう。同様に、仮想マシンをインストールして実行するために必要な最初の手順、