*

GCE VPNの検証

公開日: : 最終更新日:2015/05/27 投稿者: GCE, GCP

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/ISAKMP aes128-sha1-modp1024
ESP aes128-sha1
PFS Algorithm Group 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指定
10KB 1秒弱 1秒弱
100KB 1秒 1秒
1MB 1秒強 1秒強
10MB 5秒 7秒
100MB 75秒 101秒

WAN上のIP指定の方が時間がかかっている事象については原因不明ですが、1〜2MB/sec程度と思われますので概ね問題の無い速度かと思います。

まとめ

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

この記事を書いた人

kajimaru3
How toよりWhyが気になるエンジニア

関連記事

2016/10/03 GCE vs AWS vs Azure ベンチマーク

2016/10/03 GCE vs EC2 vs Azureベンチマーク 本シリ

記事を読む

たったの5ステップ!EC2のAMIからGCEへのエクスポートインポートが30分で出来る!

GCEはイメージのインポート機能は無かったのですが、先日ひっそりと追加されてました。特にAmazon

記事を読む

GCEのネットワーク性能調査(iperf3でゾーン間やEC2と比較もしてみる)

GCEとEC2の同一ゾーン間と同一リージョン別ゾーン間でのネットワーク性能(ping遅延、iperf

記事を読む

2016/03/18 GCE vs AWS vs Azure ベンチマーク

2016/03/18 GCE vs EC2 vs Azureベンチマーク 本シリ

記事を読む

2014/12/04 GCE vs AWS ベンチマーク

2014/12/04 GCE vs AWS ベンチマーク 本シリーズでは定期的にGCEとEC2のベ

記事を読む

[GoogleAPI千本ノック] Google Cloud DNS API を試してみた

こんにちは。 GoogleのAPIを隔週で片っ端から紹介する、GoogleAPI千本ノック 第三

記事を読む

2015/09/16 GCE vs AWS ベンチマーク

2015/09/16 GCE vs AWS ベンチマーク 本シリーズでは定期的に

記事を読む

2015/08/04 GCE vs AWS ベンチマーク

2015/08/04 GCE vs AWS ベンチマーク 本シリーズでは定期的に

記事を読む

AppEngineでTwilioを試してみた(基本編)

AppEngineでTwilioを試してみた(基本編) AppEngineでTwilioを試し

記事を読む

PaaS最前線!たったの15分でできるGAE/GO入門!

はじめに 2015年7月ついにGoogle App EngineのGO言語正式サポートが決定しまし

記事を読む

PAGE TOP ↑