Vagrant×AnsibleでUbuntu16.04の日本語環境を一発構築

2016.07.28.木
技術

今回は、VagrantとAnsibleを使い、Ubuntu16.04の環境を構築する手順を説明します。
Vagrantとは、Vagrantfileという設定ファイルに基いて、仮想環境の構築・破棄をコマンド一発で行えるソフトウェアです。
Ansibleとは、YAML形式で書かれたPlaybookという設定ファイルに基いて、サーバに対してソフトウェアのインストールなどを行う構成管理ツールです。Chefなどの仲間です。
Vagrant及びAnsible、VirtualBoxのインストールは済ませておいてください。ちなみにMacで動作を確認しています。

ざっと手順を言うと、以下の2ファイルを同じディレクトリに作成して「vagrant up」するだけです。それだけで、Ubuntu16.04の日本語環境が手に入ります。
Playbookに、必要なソフトウェアのインストールや、仮想環境の設定ファイルの書き換えなどを記述すれば、いつでもコマンド一発で欲しい環境が構築できるようになります。

Vagrantの設定ファイルの作成

Vagrantの設定ファイル「Vagrantfile」を作成します。Vagrantfileは、仮想環境自体を構築するための、設定ファイルです。下記のたった20行だけでOKです。

7~11行目で、Ansibleを使うために、Python2.7をインストールしています。
Ubuntu16.04からPython3系のみの標準インストールされますが、AnsibleはPython3系に対応していません。
なので、Ansibleを実行する前にインストールしておく必要があります。

13~19行目は、Ansibleによる環境構築を行うための設定をしています。
VagrantでAnsibleを使う解説をしているサイトを見ると、ゲストOSのIPアドレスを設定しているものがありますが、「vagrant ssh」するだけなら、IPアドレスの指定は必要ありません。基本的にPlaybookの場所だけ指定すれば動きます。
今回は、別でインストールしたPython2.7を使う必要があるので、「ansible_python_interpreter」の設定を行っています。

Ansibleの設定ファイルの作成

次に、Ansibleの「Playbook」を作成します。Playbookには、仮想環境の中身を構築する設定を記述します。

Playbookは、どんなファイル名でもOKですが、ここでは先のVagrantfileで設定したように「ubuntu.yml」というファイル名にしてください。
今回は、日本語表示にするパッケージのインストールしています。そして、APTの利用可能なパッケージの一覧を取得するサーバを、日本のサーバを使うように変更しています。
基本的なことしかしていないので、自分の必要なものを追加しましょう。

4~15行目で、APTでの利用可能なパッケージの一覧を取得するサーバを、日本のサーバに変更しています。
こうすることで、APTによるパッケージのインストール時に、日本のサーバに対して取得するので早くなります。

17~21行目は、APTによるパッケージのインストールを行っています。
with_items以下にインストールしたいものを追加するだけで、自動でインストールされるようになります。
開発で必要な、プログラミング言語やSQLサーバ、HTTPサーバなどを追加しておけば、仮想環境の構築が楽になります。自分好みにカスタマイズしてみてください。

ファイルの配置と環境の構築

作成した2つのファイルを、以下のように配置してください。
「vagrant up」を実行すると、管理用のディレクトリなども自動で生成されるので、新しいディレクトリを作成して実行したほうが分かりやすいです。

ターミナルを開いて「/path/to/new/directory」へ移動し、「vagrant up」を実行すれば、自動でUbuntu16.04の仮想環境が作られます。
初回実行時はUbuntu16.04自体のダウンロードが行われるので、時間がかかります。
「vagrant up」が終われば、「vagrant ssh」で仮想環境へアクセスできます。

今回はさわりだけですが、Playbookをカスタマイズすると、あらゆることができます。自分好みの環境を、いつでもすぐに構築できるようにしておくと、良いと思います。





キー・ポイントでは、なんでもコマンド一発でこなすエンジニアを募集しています。