はじめに
仕事柄海外のブログを閲覧しますが、中国在住だと悪名高い金盾によりネットワークが遮断されることがしばしば起こります。その場合はVPNを使いますが、閲覧したい時にだけ利用するのに月額サービスを利用するのはあまりにもったいない。そこで、自前で従量制VPNサーバを構築してみました。ただそれだけだとすぐに話が終わるので、専用のCLIツールについても紹介します。
VPNサーバについて
タイトルで既にネタばれですが、要はAWS EC2を利用するだけです。インスタンスの起動時間で実質的に料金が決まるので、ここへVPNサーバを構築すれば「従量制VPNサーバ」の出来上がりです。ちなみに、VPNサーバ構築手順についてはネットに出回っているため、ここでの説明は省略します。
ただし、インスタンス起動時には必ずVPNが接続できる状態にしておいてください。そのため、構築時には以下のコマンドでサービス自動起動するかどうか確認しておいてください。
$ systemctl status [service]
CLIツールについて
上記インスタンスをワンライナーで起動または停止するツールを作成しました。
aws-ec2-manager - the tools is managing AWS EC2 instance by python3.
このツールでいつでもどこでもVPNを利用できます。コマンドの実行にはインスタンスIDが必要なので、予め控えておいてください。ツールのインストール方法及び利用方法についてはReadmeをご覧ください。
コマンド実行時にはVPNサーバのパブリックIPアドレスを表示するようにしています。それをVPNクライアントソフトウェアに設定してVPN接続してください。
最後に
現在はVPNサーバのIPアドレスを取得するだけですが、更に発展させれば、コマンド一つでVPNクライアントへIPアドレスを設定しVPN接続することもできます。ただし、実行環境や利用するVPNクライアントソフトウェアへ依存するため、それは追々先の話でしょうか。