Google Cloud PlatformでOpenVPN Access Serverを構築する方法

IT

今回はGoogle Cloud Platformで簡単に構築可能なVPNサーバ、OpenVPN Access Serverが本当に簡単に構築できたので紹介します。

OpenVPNサーバをCompute Engine上にデプロイする

Google Cloud Platform(以下GCP)のユーザはすでにある前提とします。
GCPにログイン後、Marketplaceに移動し、VPNで検索します。検索結果に「OpenVPN Access Server」が現れるのでクリックします。

その後以下の画面に遷移するので、「COMPUTE ENGINE上で起動」をクリックします。

次の画面で必要な情報を設定し、デプロイします。今回のスペックはsmall(共有vCPU ×1、メモリ1GB)のg1-smallを指定しました。推定で月あたり16.97米ドル。あくまで推定なので、しばらく使ってみて、どうなるか見てみようと思います。また今回はリージョンは東京のasia-northeast1を選びました。その他一通り、オプションを選択したら一番下にあるデプロイボタンを押下します。

デプロイが開始され、以下の様な画面になりしばらくするとデプロイが完了します。

OpenVPNサーバーでユーザを設定する

ここまでできたらあとはOpenVPN Access Serverにアクセスしてユーザ等の設定をします。ブラウザで、https://GCPで割り当てられたIPアドレス:943 にアクセスします。
ログイン画面が表示されるので、デフォルトのadminユーザでログインしたら、画面左の「USER MANAGEMENT」から「User Permissions」を選択してユーザを追加します。(以下画面は追加後に表示した画面。)

デフォルトのadminユーザのパスワードもUser Permissionから実施しようとしましたができなかったので、GCPのDeploy Managerの画面からWebのコンソールを開き、以下のコマンドを打って変更しました。

$sudo passwd ユーザ名

次に、VPN接続した際にインターネットへのアクセスもVPNを経由して接続する様に設定します。
左のメニューの「CONFIGURATION」から「VPN Settings」を選択し、「Routing」の「Should client internet traffic be routed through the VPN?」をYesに変更します。これにより、VPN接続後、インターネットにアクセスする場合はVPNサーバのIPアドレスからアクセスすることができます。

値を変更した後は、画面下にある「Save Settings」ボタンを押下し、遷移後の画面で現れる、「Update Running Server」ボタンを押下します。
これでサーバ側の設定は完了です。

接続端末でクライアントの設定する

今回はiPhoneで接続します。事前にApp StoreでOpenVPNのクライアントアプリ、「OpenVPN Connect」をダウンロードしておきます。
ブラウザから今度はhttps://GCPで割り当てられたIPアドレス:443にアクセスします。ログイン画面が現れるので先ほど新規に追加したユーザ名とパスワードを入力してログインします。ログインした後は以下の画面が表示されるので一番下の「Yourself(user-locked profile)」を押下し、ユーザプロファイルをダウンロードします。

ダウンロードの画面で「OpenVPN Connectで開く」を選択するとそのままアプリにインポートされるので、クライアントユーザのパスワードを入力してプロファイルを追加します。以降はアプリからワンタップで接続、切断ができる様になります。
追加が終わったらアプリのプロファイル選択画面で今回追加したプロファイルをタップして接続します。CONNECTEDとなれば、完了です。

最後に

念の為、IPアドレスが確認できるサイトに接続し、自分がどのIPから接続しているかを確認したところ、今回GCPで割り当てられたIPアドレスからきちんと接続されていました。ただ、日本リージョンにGoogle Compute Engineをデプロイしたはずなのに、IPアドレスはアメリカ合衆国で登録されたIPアドレスになっていることがわかりました。GoogleがこのCompute Engineに割り当てたIPアドレスがたまたまアメリカで登録されているIPアドレスだったためと思われます。東京リージョンにあってもIPがアメリカなのでこのVPNを経由するとアメリカからアクセスしているとみなされ、一部のサービスが使用できない可能性があるのでその点は注意が必要です。

今回はGCPでのOpenVPN Access Serverの構築でした。

コメント