拠点が複数ある企業の各拠点間を、インターネット経由して接続し、仮想化技術を用いてセキュアな通信を行う方法としてVPN(Virtual Private Network)があります。
従来は、オンプレミスのデータセンタ環境同士や支店などの拠点間通信が主でしたが、クラウド時代と呼ばれる昨今、社内の作業環境とクラウド環境で行うことも年々増えているのではないでしょうか。
GCPでは、他ネットワークとの接続手段として、Cloud VPN を提供しています。
Cloud VPN を利用することで、GCPネットワークとイントラネット間、または他クラウドネットワーク間に対してVPNトンネルを張り、安全に通信を行えるようになります。
Cloud VPNの設定自体はとても簡単で、必要な情報があれば30分もかからずにVPN接続が可能です。
百聞は一見にしかず! ということで、早速Cloud VPN を使用して、社内のネットワーク環境とGCP環境でVPN接続を行う手順を見ていきましょう!!
1.今回の構成
今回は、下記のような簡単な構成で構築します。
2.設定内容
GCP側の各サービスとGoogle Cloud VPN の設定、対向側のルーターの設定を行います。
下記の設定について、説明していきます。
- オンプレミス環境のVPNルーター
- VPCネットワーク
- インスタンス
- ファイアウォール
2.1 ルーターの設定
オンプレミス環境のVPNルーターとして、今回はYAMAHAのRTX1200を使用します。
ルーターのVPN設定は下記のように設定しました。
設定項目 | 設定内容 |
---|---|
ルーターのグローバルIPアドレス(下記※1) | 39.xxx.xxx.xxx |
イントラネットアドレス範囲 | 192.168.100.0/24 |
Cloud VPNアドレス(下記※2) | 35.xxx.xxx.xxx |
tunnel select 1
ipsec tunnel 1
ipsec sa policy 1 1 esp aes-cbc sha-hmac
ipsec ike version 1 2
ipsec ike always-on 1 on
ipsec ike encryption 1 aes-cbc
ipsec ike group 1 modp1024
ipsec ike hash 1 sha
ipsec ike keepalive log 1 off
ipsec ike keepalive use 1 on dpd
ipsec ike local address 1 192.168.100.1
ipsec ike local name 1 39.xxx.xxx.xxx(※1) ipv4-addr
ipsec ike pfs 1 on
ipsec ike pre-shared-key 1 *
ipsec ike remote address 1 35.xxx.xxx.xxx(※2)
ipsec ike remote name 1 35.xxx.xxx.xxx(※2) ipv4-addr
ipsec auto refresh 1 on
ip tunnel tcp mss limit auto
tunnel enable 1
2.2 VPCネットワークの作成
CloudVPNは、GCPのVPCネットワークとオンプレミスや他クラウドのネットワークをVPN経由で接続します。
接続するネットワークがないと話がはじまらないため、まずはGCP側にVPCネットワークを作成します。
「VPCネットワーク」をクリックし、「VPCネットワークを作成」をクリックします。
今回は下記のようなネットワーク、サブネットワークを作成しました。
2.3 インスタンスの作成
Cloud VPN 経由で社内環境とGCP環境を接続するため、社内環境からGCP環境へ内部接続するサーバとして、GCP上にCompute Engine インスタンスを作成します。
下記の設定でインスタンスを作成しました。
設定項目 | 設定内容 |
---|---|
名前 | test-vpn-instance |
ゾーン | asia-northeast1-a |
マシンタイプ | n1-standard-1 |
OS | CentOS 7 |
ネットワーク | test-vpn-network |
サブネットワーク | test-vpn-subnet (192.168.200.0/24) |
プライマリ外部IP | エフェメラル |
外部IP | エフェメラル |
IP転送 | オフ |
作成したインスタンスがこちら
2.4 ファイアウォールルールの設定
ファイアーウォールルールにより、外部からのアクセス拒否や、一部のIPアドレスやポートからのみのアクセスができるよう制限できます。
社内環境のCloud VPN 接続用ルーターと外部通信をする必要があるため、外部通信用に、ルーターのグローバルIPアドレスの許可ルールを設定いたしました。
また、内部通信用にサブネットワークのIPアドレス範囲(192.168.200.0/24)を設定します。
2.5 Cloud VPN の作成
インスタンスが所属するVPCネットワークの作成、実際に接続予定の仮想マシンインスタンスの作成、仮想マシンインスタンスと社内環境までを接続するためのファイアウォールルールの設定が完了したら、実際に社内環境と接続する予定のCloud VPN の作成をします。
VPCネットワークの設定、社内環境のルーターのグローバルIPアドレスを元に、下記のように設定しました。
設定項目 | 設定内容 |
---|---|
名前 | vpn-gcp-yamaha |
ネットワーク | vpn-test-net |
リージョン | asia-northeast1 |
IPアドレス | 35.xxx.xxx.xxx |
トンネル名 | tunnel-gcp-yamaha |
リモートピアIPアドレス | 39.xxx.xxx.xxx |
IKEバージョン | IKEv2 |
共有シークレット | 任意 |
ルーティングオプション | ポリシーベース |
リモートネットワークIPの範囲 | 192.168.100.0/24 |
ローカルサブネットワーク | test-vpn-subnet |
ローカルIP範囲 | 192.168.200.0/24 |
リモートピアIPアドレスには社内環境にある、Cloud VPNと接続するルーターのグローバルIPアドレスを設定。
IKEのバージョン、共有シークレットは対向VPNルーターと設定を合わせてください。
Cloud VPN と対向のVPNルーターの設定がうまくいっている場合、トンネルが張られ、ステータスが「確立済み」になり通信ができるようになります。
これでCloud VPNの設定は完了です。
実際に接続ができているかpingテストをします。
今回作成したインスタンスには、内部IPとして192.168.200.2が割り振られていたため、ローカルのルーターから、インスタンスに向けて、ping コマンドを実行してパケットが届くか確認しました。
結果…
インスタンスからの応答があり、接続していることが確認できました!!
これでCloud VPN の設定は終了です。
3. まとめ
社内環境のルーターの設定と、Google Cloud VPNの設定を合わせる必要がありますが、そこだけ注意すれば、想像より簡単に構築ができます。
フルマネージドサービスのため、初期設定を行う負担もなく、簡単な情報をいれるだけで拠点間接続が実現できるのは素晴らしいですね。
複数拠点がある場合、Cloud VPNをそれぞれ作成することで拠点間接続ができますので、拠点が増えた場合も手間と時間をかけずに柔軟に作成が可能です。
クラウドとオンプレ間の接続だからといって、敷居が高いものではありませんので、ご利用を検討してみてはいかがでしょうか。
※クラウドエース(Cloud Ace)はGCPの導入・運用支援サービスを提供しております。ご興味のある方はこちらまでお問い合わせください。VPNに限らず、あらゆるGCPサービスのサポートが可能です。