はじめに
皆さんこんにちは。XIMIXの湯口です。
今回はGoogle CloudのVPNサービスであるCloud VPNを利用して、2つのGoogle Cloudプロジェクトを接続する方法を解説します。
複数のGCPプロジェクトを運用している場合、プロジェクト間のデータ連携やネットワークの統合が必要になることがあります。Cloud VPNを利用することで、これらの課題を安全かつ効率的に解決できます。本記事では、Cloud VPNの基本的な概念から、具体的な構築手順までを分かりやすくご紹介します。
Cloud VPNとは
Cloud VPNは、Google CloudのVPC(Virtual Private Cloud)と、オンプレミス環境や他のクラウド環境またはVPC同士を安全に接続できるサービスです。
IPsec VPNプロトコルを用いて、プライベートなネットワークを構築し、異なるネットワーク間でのデータのやり取りを可能にします。
Cloud VPNの特徴とメリット
- 高可用性:
- HA VPNでは、複数の冗長なゲートウェイが自動的にフェイルオーバーを行い、高い可用性を実現します。
- セキュリティ:
- IPsecによる暗号化で、データの安全性を確保します。
- 柔軟性:
- さまざまなネットワーク構成に対応でき、オンプレミス環境とのハイブリッドクラウド環境構築に適しています。
- スケーラビリティ:
- トラフィックに応じて、簡単にVPNトンネルを増減できます。
Cloud VPNの接続方式
- HA VPN:
- 高可用性で、動的ルーティング(BGP)をサポートします。複数の冗長なゲートウェイによって、高い可用性を実現します。
- Classic VPN:
- 静的ルーティングをサポートします。HA VPNよりも柔軟性が低いですが、シンプルな構成で利用できます。
Cloud VPNのコスト
Cloud VPNの料金は、利用するゲートウェイの種類、トンネル数、転送データ量などによって異なりますが多くの場合、Cloud InterConnectを利用して他環境と接続するよりはコストを抑えることが可能です。 詳細な料金については、
Google Cloudの料金ページをご確認ください。
Cloud VPNでプロジェクトを接続するユースケース
Cloud VPNを利用してプロジェクト同士を接続するケースは以下の場合があります。
- 社内で部門、チーム間でプロジェクトやNWが分離されている場合
- 開発、本番等の環境ごとにプロジェクトやNWが分離されている場合
- 異なる組織間で接続したい場合
実装手順
それでは実装手順をご紹介します。
また本作業は同時に2プロジェクトを扱うので、2プロジェクトをコンソールで開いて同時に作業することをおすすめします。
構成
今回構築するものの構成は以下のようになります。
2つのプロジェクトを用意して両プロジェクトにVPCとVPNを構成して、GCE同士が疎通できるか確認します。
VPCの作成
はじめに今回VPNを接続するVPCとサブネットを作成します。
VPCはコンソールはVPCネットワーク>VPCネットワークを作成から作成可能です。
今回下表の値で2つのVPCを作成しています。
ポイントとしては最大伝送単位(MTU)は2つのVPCで同一の値にする必要があります。また、サブネット作成モードはカスタムサブネットにすることでユーザーがサブネットを作成することができ指定のIPアドレス範囲でサブネットを作成することが可能です。
項目 |
設定値 |
最大伝送単位(MTU) |
1460 |
IPv6 アドレス |
無効 |
サブネット作成モード |
カスタム |
動的ルーティング モード |
グローバル |
最適なパスの選択モード |
レガシー(デフォルト) |
次にサブネットの作成です。
サブネットはVPCの作成画面の途中で作成可能です。
今回は下表の値でサブネットを各VPC1つずつ作成しています。
ポイントとしては、サブネットのIP範囲は重複しない範囲で作成する必要があります。また、リージョンについても同一リージョンに作成する必要があります。
項目 |
設定値(プロジェクトA) |
設定値(プロジェクトB) |
リージョン |
asia-northeast1(東京) |
asia-northeast1(東京) |
IPスタックタイプ |
IPv4 |
IPv4 |
IP範囲 |
お好みのIP範囲を指定 |
お好みのIP範囲を指定 |
限定公開のGoogleアクセス |
オン |
オン |
フローログ
|
オフ |
オフ |
ハイブリッドサブネット |
オフ |
オフ |
また、VPCを作成する際にファイアウォールも作成可能なので、接続先のNWで通信を許可したい内部IPが事前にわかっている場合は、通信を許可するルールを事前に作成しておくとスムーズに構築作業が完了します。
VPNゲートウェイの作成
ではメインのVPNの作成に入っていきます。まずはVPNトンネルを構築するためのVPNゲートウェイを作成します。
VPNゲートウェイはコンソールからVPN>Cloud VPNゲートウェイ>VPNゲートウェイを作成から作成可能です。
VPNゲートウェイは以下のように作成します。
ネットワークは上の手順で作成したVPCを選択してください。
作成ボタンを押すと以下のようにCloud VPNゲートウェイの一覧に表示されます。
次に、Cloud Routerを作成します。
Cloud Routerは、コンソールからネットワーク接続>Cloud Router>CREATE ROUTERから作成可能です。
今回は以下のように作成しました。
次に、VPNトンネルを作成します。
VPNトンネルはコンソールからネットワーク接続>VPN>Cloud VPNトンネル>VPNトンネルを作成から作成可能です。
まず、先程作成した、VPNゲートウェイを選択します。
次にVPNトンネルを作成します。今回は以下のように設定しました。
ピアVPNゲートウェイはGoogle Cloud VPNゲートウェイを選択してください。プロジェクトはVPN接続先のプロジェクトを選択してください。
このとき接続先のプロジェクトに権限がない場合、接続設定ができないので注意しましょう。
また、このとき発行されるIKE 事前共有キーは後続作業で必要になるので安全な場所に記録してください。
設定を完了した後、作成して続行をクリックして、BGPセッションの構成します。今回HA構成でVPNを構築するため、2つBGPセッションを構成する必要があります。
BGPセッションの構成を以下のようにします。
BGPセッションの構成が完了するとまとめリマインダーページに移動してください。
まとめリマインダーでは構成を行うVPNに関する情報が確認できますので、確認後問題がなければOKをクリックしてください。
VPNの構成が完了して接続ができていると以下のようにトンネルのステータスとBGPセッションのステータスにチェックマークがつきます。
これにてVPNの構成が完了です。
疎通確認
双方のプロジェクトにVPNを構築したVPC、サブネット上にGCEインスタンスを構築します。
一方のインスタンスから、もう一方のインスタンスに向けてPingコマンド等で疎通できるか確認しましょう。
以上が実装手順になります。
まとめ
Cloud VPNを利用することで、複数のGCPプロジェクトを安全かつ効率的に接続することができます。本記事で紹介した手順を参考に、ご自身の環境に合わせた設定を行ってみてください。
参考記事
- https://cloud.google.com/network-connectivity/docs/vpn/concepts/overview?hl=ja
- https://cloud.google.com/network-connectivity/docs/vpn/how-to/creating-ha-vpn2?hl=ja