4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Vagrantでローカル開発環境を用意しよう

Last updated at Posted at 2022-01-26

##概要

開発をしていると、サービスの動作確認をするためにチームメンバー全員に同じローカル開発環境を用意したいと思うことはないでしょうか。

この記事は、ローカル開発環境のベースとなる仮想サーバを簡単に用意できるVagrantというツールについて、メリットや利用方法をまとめたものです。

この記事で伝えたいこと

  • Vagrantを利用するメリット
  • Vagrantの基本的な利用方法

Vagrantとは

Vagrantとは簡単にいうと、端末内で仮想サーバーを管理することができるツールです。Vagrantfileというファイルに仮想サーバーの設定を記述して、コマンドによって設定した仮想サーバーを管理(起動・停止・破棄)します。
※ インストールの手順は以下の記事を参考にしてください。
【設定方法】配布可能な環境を簡単に構築することができるVagrantをMacのHomebrewでサクッとインストールする手順 | とあるクリエイターのエンジニアブログ

Vagrantのメリット

他にも仮想サーバを構築する方法はありますが、その上でVagrantを利用する理由は何でしょうか?

私が思うVagrantを利用する大きなメリットは以下の2つです。

  1. 誰でも同じ仮想サーバーを簡単に用意できる
    VagrantはVagrantfileに記述した設定を元に、コマンドを実行して仮想サーバーを起動します。言い換えれば、同じVagrantfileさえあれば誰でも同じ仮想サーバーを起動できます。

  2. 複数台の仮想サーバーを一括で管理できる
    また、Vagrantfileには複数台の仮想サーバーについて設定を記述することもできます。
    例えば、APサーバーを3台、DBサーバーを1台立ち上げたいという場合にも、記述した設定をコマンドで一括で管理(起動・破棄など)できます。

Vagrantによるローカル開発環境構築

以下では、実際にVagrantで仮想サーバーを起動するまでの手順を簡単に説明します。

Vagrantfileの作成

以下の内容のファイルを、Vagrantfileという名前で作成します。
以下ファイルでは、ホスト名、box(OSのイメージ)、IPアドレスを設定しています。

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.define "sample-ap" do |server|
    server.vm.box = "generic/ubuntu2004"
    server.vm.network "private_network", ip: "192.168.33.21"
  end

  config.vm.define "sample-db" do |server|
    server.vm.box = "generic/ubuntu2004"
    server.vm.network "private_network", ip: "192.168.33.22"
  end
end

チームで開発している場合は作成したファイルをgitで管理することで、チームメンバー全員が同様の環境を構築できます。

仮想サーバーの起動・疎通確認

Vagrantfileがあるディレクトリでvagrant upを実行すると、Vagrantfileに設定を記述した仮想サーバが一括で起動します。

仮想サーバー起動後はデフォルトで作成されるvagrantユーザーを利用して、vagrant ssh ホスト名で外部のサーバーと同様に接続して利用できます。

# 仮想サーバーを起動
$ vagrant up 

# 仮想サーバーに接続
$ vagrant ssh sample-ap

まとめ

ここまで、Vagrantのメリットと基本的な利用方法について説明しました。
改めて、自分が思うVagrantを利用するメリットは以下の通りです。

  1. gitでVagrantfileを管理することで、チームメンバー全員が同じ仮想サーバーを簡単に用意できる
  2. 設定ファイルを利用することで、複数台の仮想サーバーでもコマンドで一括管理できる

皆さんもVagrantを利用して開発環境を整えてみてはいかがでしょうか。

補足

  • Vagrantでは開発環境のベースとなる仮想サーバーのみを作成します。そのため実際に動作確認に利用するには、Ansibleなどの構成管理ツールでツールのインストール、アプリのデプロイなどを行う必要があります。

参考

4
1
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?