本稿では Vagrant のゲストOSに簡単に Proxy の設定を行うことができるプラグイン vagrant-proxyconf について説明します。
vagrant-proxyconf の概要
vagrant-proxyconf はゲストOSに Proxy の設定を自動的にしてくれる Vagrant プラグインで、GitHub のこちらのページで開発が行われています。この vagrant-proxyconf プラグインを利用すると、ゲストOSの以下の機能に対して Proxy の設定を自動的に行ってくれます。
- 多くのプログラムがサポートしている http_proxy, https_proxy などの環境変数
- Chef provisioners
- apt
- Docker
- npm
- Yum
- PEAR
- Subversion
いちいち Proxy の設定を1つずつ設定する手間が省けて、とてもありがたいですね。
手順1: vagrant-proxyconf プラグインのインストール
ではさっそく、vagrant-proxyconf プラグインをインストールしてみたいと思います。 プラグインのインストールは下記のコマンドで行えます。
# vagrant plugin install vagrant-proxyconf
Installing the 'vagrant-proxyconf' plugin. This can take a few minutes...
Fetching: vagrant-proxyconf-1.5.2.gem (100%)
Installed the plugin 'vagrant-proxyconf (1.5.2)'!
インストールされているプラグインを一覧表示する以下のコマンドで、vagrant-proxyconf プラグインが本当にインストールできたかを確かめましょう。 次のように vagrant-proxyconf が結果に表示されればOKです。
# vagrant plugin list
vagrant-proxyconf (1.5.2)
手順2: Vagrantfile に設定を追記
プラグインのインストールが完了したら、次は Vagrantfile に設定を追記します。 ここでは、Proxy のホスト名が proxy.mycompany.co.jp で Proxy ポートが 8080 であると想定して、下記のように追記します。
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
if Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.http = "http://proxy.mycompany.co.jp:8080/"
config.proxy.https = "http://proxy.mycompany.co.jp:8080/"
config.proxy.no_proxy = "localhost,127.0.0.1"
end
(snip)
end
設定した項目のそれぞれの意味は次のとおりです。
項目 | 意味 |
---|---|
config.proxy.http | HTTP通信の際に利用するプロキシサーバー |
config.proxy.https | HTTPS通信の際に利用するプロキシサーバー |
config.proxy.no_proxy | プロキシを利用しない通信先のホスト名 (カンマ区切りで複数指定可能) |
動作確認
それではゲストOSを起動してみましょう。 起動時の出力に中に下記のような「Configuring proxy ~」という文言が出力されるようになったはずです。 これで、ゲストOSに Proxy を設定していることが確認できます。
# vagrant up
(略)
[default] Configuring proxy environment variables...
[default] Configuring proxy for Yum...
おわりに
本稿では Vagrant のゲストOSに簡単に Proxy の設定ができる vagrant-proxyconf の概要と導入方法について説明しました。 企業内での Vagrant 利用には欠かせないプラグインかもしれませんネ。