railsアプリ(puma)のサーバを立ち上げた時にsshトンネルも一緒に立ち上げる
bin/rails server
を実行時にバックグラウンドで ssh -i proxy-server.pem -ND 1081 bitnami@XX.XX.XX.XX
を実行するpumaプラグインを作りました。プロセスが終了すると再び実行します。
このpumaプラグインは、sshトンネルを作ることに限定したものではなく、shellスクリプトを実行します。
https://github.com/jiikko/puma-plugin-shellscript
設定方法は、 ENV['PUMA_PLUGIN_SHELLSCRIPT']
に実行したいコマンドを設定してplugin :shellscript
を呼び出すだけです。
# config/puma.rb
ENV['PUMA_PLUGIN_SHELLSCRIPT'] = 'ssh -i proxy-server.pem -ND 1081 bitnami@XX.XX.XX.XX'
plugin :shellscript
以下は、socksify
を使ってrubyからproxyサーバに接続をしている例です。
TCPSocket.socks_server = 'XX.XX.XX.XX'
TCPSocket.socks_port = 1081
動かしているツールで、必須となるプログラムを一緒に立ち上げることができて運用が楽になりました。
以上。
-
category:
- ruby