GCE VPNの検証

ご注意

この記事は 2015年2月27日 に書かれたものです。内容が古い可能性がありますのでご注意ください。

GCE VPNのα版が公開されました。α版のためGoogleに申請し許可制ですが、取り急ぎ性能テストをしてみました。
https://cloud.google.com/compute/docs/vpn

仕様

価格

  • α版ではVPNに関する課金はない
  • 本稼働後の値段はまだ公開されていない

VPNの種類、制限

  • IPsecのESPトンネルモード
  • サイト間VPNをサポートし、ポイント対サイトVPNは構築できない
  • 鍵交換にはIKEv1とIKEv2をサポート
  • IKEフェーズ1ではPSK(Pre-Shared Key)認証方式のみを採用
  • ゲートウェイのリージョンは、us-central1,europe-west1,asia-east1のみ
  • ゲートウェイにつながる仮想マシンは、ゲートウェイと同じリージョンでないといけない

VPNの構築

今回は以下のようなネットワークを構築し、Windows Serverの共有ファイルにRHELからVPN経由でアクセスできるか試しました。 vpn
環境 リージョン マシンタイプ OS
GCE asia-east-c n1-standard-1 Windows Server 2008 R2
EC2 ap-northeast-1c m3.medium RHEL-6.6
α版ではサイト間VPNのみに対応しておりVPNゲートウェイには静的IPが必須であるため、NATの背後にあるPCではVPNが構築できません。社内のPCがNATの背後にあり、かつ、VPNゲートウェイの機器をすぐには用意できなかったため、相手側のゲートウェイとしてとりあえずAWSを利用しました。 UIを使った構築手順を以下に示します。

1.事前準備

まず、α版のためGoogleサポートへGCE VPNを利用する許可をもらう必要があります。その際、許可される静的なIPアドレスを予約する必要があり、それがVPNゲートウェイのIPとなります。 次に、相手側のVPNの構築をしておきます。IKEv1またはIKEv2に対応する機器を利用し、設定は下記を参考にして下さい。
設定項目
IPsecモードESPトンネルモード
IKEフェーズ1の認証方式PSK(Pre-Shared Key)
PSKの値第三者に知られないよう強固なkeyを設定して下さい。
※Google側のVPN構築でも同じ値を設定します。
開始タイミングオート(接続が切れた際、ただちに再接続を試みるようにしてください。)
PFS (Perfect Forward Secrecy)オン
DPD (Dead Peer Detection)オンに設定することを推奨します。
INITIAL_CONTACT(uniqueidsとも呼ばれます)オンに設定することを推奨します。
※以下の設定は、IKEv1の機器の場合です。
IKE/ISAKMPaes128-sha1-modp1024
ESPaes128-sha1
PFS AlgorithmGroup 2 (MODP_1024)

2.GCE側のネットワーク作成

Google Developers Consoleを開き、メニューでネットワークを選択します。 相手側のCIDRと範囲が被らないようにGCE側のCIDRを設定してください。 new-net

3.VPN作成

Googleから許可を得るとメニューにVPNが表示されるようになります。 ここからVPNを作成します。 重要な項目について説明します。
  • ネットワーク  2で作成したネットワークを選んで下さい。
  • 地域、IPアドレス  用意した静的IPアドレスを選んで下さい。
  • トンネル  相手側のVPNの設定をします。α版では10個まで作成できます。
       
    • ピアIPアドレス   相手側のVPNゲートウェイのIPアドレスを設定して下さい。
    •  
    • IKEバージョン   相手側のVPNが対応しているバージョンを選んで下さい。   GoogleはIKEv2を勧めています。
    •  
    • SHARED SECRET   相手側のVPN構築時と同じKeyを入力して下さい。
    •  
    • リモートネットワークIPの範囲   相手側のCIDRを入力して下さい。2で作成したネットワークとは被らないようにして下さい。
new-vpn1 作成後、VPNの一覧画面に追加されます。 自動的に相手側と接続しようと試み、上手く接続できると、ピアIPアドレスの左側に成功のマークが表示されます。 complete-vpn (コピー)

4.Windows Serverインスタンスの構築

こちらの記事を参考にインスタンスを構築して下さい。 ただし、ネットワークは2で作成したものを設定する必要があります。 また今回は性能テストでsambaを使いますので、ファイアウォールにはRDPのtcp:3389だけでなく、sambaに必要なプロトコルも許可します。

5.VPN接続確認

まずRDPで接続し、Windows Serverに共有ファイルを作成します。 win-shared 次に相手側のクライアントPCにおいて、sambaを使いWindows Serverのsharedフォルダをマウントします。
sudo mount -t cifs -o username=[username],password=[password] //[server]/shared /mnt/win
[username]、[password]、[server]はGCEのインスタンス詳細画面で確認できます。 上手くマウントできれば完了です。

CIFS性能テスト

性能テストとして、VPN経由と直接WAN上のIPを指定してマウントした2つの場合において、10KB〜10MBのファイルをviコマンドを使い開くのにかかった時間を計測しました。 どちらもマウント直後にviを使い、キャッシュや一時保存の影響を受けないようにしています。 結果は以下のようになりました。
ファイルサイズVPN経由WAN上のIP指定
10KB1秒弱1秒弱
100KB1秒1秒
1MB1秒強1秒強
10MB5秒7秒
100MB75秒101秒
WAN上のIP指定の方が時間がかかっている事象については原因不明ですが、1〜2MB/sec程度と思われますので概ね問題の無い速度かと思います。

まとめ

慣れれば15分位でVPNの環境を構築できます。削除もマウスでボタンクリックするだけでできます。実機だと気軽にVPN構築して試行錯誤するなんてできませんが、クラウドだとパソコンの前に座ってるだけで出来てしまいます。学ぶ素材としてもIaaSは優れているのではないかと思います。 もうすぐWindows Server 2003のサポートが切れます。GCE VPNを使って、GCE上に移行してはいかがでしょうか?構築から保守までマネジメントするクラウドエースというサービスもありますので、よろしくお願いします。

Google のクラウドサービスについてもっと詳しく知りたい、直接話が聞いてみたいという方のために、クラウドエースでは無料相談会を実施しております。お申し込みは下記ボタンより承っておりますので、この機会にぜひ弊社をご利用いただければと思います。

無料相談会のお申込みはこちら