AWS Transit Gateway アタッチメント+Site-to-Site VPNでGoogle Cloudとつなぐ

AWS Transit Gateway アタッチメント+Site-to-Site VPNでGoogle Cloudとつなぐ

AWS/Google Cloud間をAWS Transit Gatewayを通して接続してみる
Clock Icon2025.03.18

皆さんこんにちは!まると(@MaruDevG)です!

菊池さんの記事でも同様の手順がございますが、若干UIなどが変わっているため、改めて記事を出せればと思います。
https://dev.classmethod.jp/articles/aws-transit-gateway-to-gcp-with-ha-vpn/

想定する構成図

接続に当たり、将来的に複数VPCなどを繋げるよう、Transit Gatewayを配置し、タイプがVPNのTransit Gateway アタッチメントを作成してAWS/Google Cloud間を接続します。

構成図

また、各環境のCIDRは次の通りです。

AWS側VPC: 10.0.0.0/16
Google Cloud側サブネット: 192.168.0.0/24

注意点

AWS側の仕様として、Site-to-Site VPN接続の1カスタマーゲートウェイ(接続先IPアドレス)につき、2つのトンネルが用意されます。

Google Cloud側のCloud VPNでは「高可用性(HA)VPN」を利用して構築します。
高可用性(HA)VPNでは、冗長化のため2つのインターフェイス(IPアドレスが用意されます。)

  • AWS側は接続先IPアドレス1つに対し、2つのトンネルが用意
  • Google Cloud側は2つのIPアドレスが用意

上記の仕様から双方の冗長性を持たせるには、以下の図のように4つのトンネルで接続を確立する必要があります。

やってみる

それでは実際にやっていきましょう。
なお本検証では、AWS側でTransit Gatewayが作成されている前提で進めていきたいと思います。

1. [Google Cloud] Cloud VPN ゲートウェイを作成

まずは、Google Cloud側のインターフェイスを作成します。
ネットワーク接続/VPNより、サイドバーのVPNを選択します。

今回の検証する環境では、VPN接続が一つも構成されていないため、以下の図のようにウィザードが表示されます。
ウィザードが表示されている場合は、「VPN 接続を作成」をクリックします。

22

今回は、冗長化構成とするため、高可用性(HA)VPNを選択し、続行をクリックします。

21r

任意のVPNゲートウェイの名前、ネットワーク(VPC)、リージョンを選択します。

20

また、本検証ではVPN ゲートウェイの IP バージョンはIPv4、VPN ゲートウェイの IP スタックタイプはIPv4(シングル スタック)を選択し、作成して続行をクリックします。

これでGoogle Cloud側のインターフェイス(IPアドレス)が作成されます。

2. [Google Cloud] Cloud Router の作成

今回、ルーティングはBGPを利用します。
高可用性(HA)VPNはBGPを利用したルーティングのみ対応、という理由もありますが、一番のメリットとしては、BGPを利用することで、AWSとGoogle Cloud間のVPN接続において動的ルーティングが可能になり、ネットワーク変更時の手動設定が不要になります。  
これにより、各クラウドのサブネット追加や経路変更が自動的に伝播され、運用負荷を軽減しつつ可用性の高い接続を維持できます。

BGPを利用したルーティングにはBGP ASN(Cloud RouterのASN)が必要となるため、Cloud Routerを作成します。
Cloud Routerを作成するには、サイドバーのCloud Routerを選択し、CREATE ROUTERを選択します。

19

任意の名前、ネットワーク、リージョンを選択します。
Google ASNではネットワーク上で重複しない値とします。(Transit GatewayのASNなどとは同じにしない)
今回は64513としました。

18

BGP ピア キープアライブの間隔とBGP 識別子はデフォルト値並びに自動生成させるため、空欄とします。
必要な項目を入力したら作成します。

3. [AWS] Transit Gateway アタッチメントの作成 x2

続いて、AWS側でTransit Gateway アタッチメントを作成していきます。
Transit Gateway > Transit Gateway アタッチメントより、Transit Gateway アタッチメントを作成をクリックします。

16

アタッチメントタイプでVPNを選択後、Transite Gateway IDからアタッチメントを作成するTransit Gatewayを選択します。
また、カスタマーゲートウェイは新規を選択し、Google Cloud側Cloud VPN ゲートウェイのインターフェイス 0のIPアドレスを入力します。
BGP ASNではGoogle Cloud側で設定した、Google ASNの値(ここでは64513)を入力します。
ルーティングオプションは、動的 (BGP が必要)を選択します。

14

トンネルのオプションについては自動生成でOKです。
必要な値を入力したら、Transit Gateway アタッチメントを作成をクリックします。

なお、記事の冒頭でお伝えした通り、以下の仕様から、現時点ではGoogle Cloud側ゲートウェイの片方のインターフェイスしか使用していない状態となります。

  • AWS側は接続先IPアドレス1つに対し、2つのトンネルが用意
  • Google Cloud側は2つのIPアドレスが用意

上記の仕様から双方の冗長性を持たせるには、以下の図のように4つのトンネルで接続を確立する必要があります。

そのため、Google Cloud側Cloud VPN ゲートウェイのインターフェイス1側も使うために、もう一つTransit Gateway アタッチメントを作成してください。
(IPアドレスには、Google Cloud側Cloud VPN ゲートウェイのインターフェイス 1の値を設定してください。)

4. [AWS] VPN・BGP セッション確立のための設定をダウンロードする

続いて、Google Cloud側の設定に向けて、IKE事前共有キーなどが記載された設定ファイルを取得します。
サイドバーから仮想プライベートネットワーク (VPN) > Site-to-Site VPN接続を選択し、先ほど、Transit Gateway アタッチメントを2回作成したことにより、VPN接続が2つあります。
それぞれ選択し、設定をダウンロードするボタンを選択し、ベンダーで「Generic」を選択した上でダウンロードします。

13

12

一つのVPN接続につき、2つトンネルが用意されるため、ファイル毎にIPSec Tunnel #1/2という形で各トンネルの設定情報が記載されます。
必要となる情報は後程観ていきましょう。

5. [Google Cloud] VPNトンネルの作成・BGPセッションの確立

それでは実際につないでいきます。
Google Cloudコンソールに戻り、ネットワーク接続/VPNから「Cloud VPN トンネル」タブにある VPN トンネルを作成を選択します。

11

最初の手順で作成したVPN ゲートウェイを選択します。

10

ピア VPN ゲートウェイで「オンプレミス、または Google Cloud 以外」を選択し、新しくピア VPN ゲートウェイを作成します。

まず、前の手順でダウンロードした設定の内、Cloud VPN ゲートウェイのインターフェイス 0に対応するものを開きます。
IPSec Tunnel #1/#2 > #3: Tunnel Interface ConfigurationOutside IP Addresses:としてVirtual Private GatewayにIPアドレスが記載されています。

9

これがAWS側IPアドレスです。
IPSec Tunnel #1/#2と記載があるように、各トンネルごとにIPアドレスが割り振られているので、それぞれをピア VPN ゲートウェイ インターフェイスに設定します。

8

また、今回はトンネルを4つ作成するため、もう一つ設定ファイルも同様にVirtual Private Gatewayに記載されているIPアドレスをピア VPN ゲートウェイ インターフェイスに設定します。
(本手順通りであれば、4つのインターフェイスが設定されればOKです。)

続いて、「VPN トンネルを 4 つ作成する」を選択し、作成したCloud Routerを選択します。

7

次に、各インターフェイスに対応するVPNトンネルに必要なIKE 事前共有キーを入力します。
設定ファイルにはPre-Shared Keyとして記載があります。

6

各トンネルの設定で名前とインターフェイスに対応するIKE 事前共有キーを入力していきます。(4つ設定すればOK)

5

トンネルを作成したら、BGP セッションを作成していきます。
名前は任意の名前、ピア ASNには「Transit GatewayのASN」を入力します。

また、BGP IPv4 アドレスを割り振るでは「手動」に設定してください。
「Cloud Router の BGP IPv4 アドレス」では設定ファイルにあるInside IP AddressesCustomer Gatewayのアドレスを記載します。(/30は不要)
「BGP ピア IPv4 アドレス」ではInside IP AddressesVirtual Private Gatewayのアドレスを記載します。(同様に/30は不要)

4

同様に、他の各トンネルにBGP セッションを構成します。
※「Cloud Router の BGP IPv4 アドレス」、「BGP ピア IPv4 アドレス」は各トンネルごとに違うので、設定ファイルを確認しながら構成してください。

設定が完了したら、BGP を構成をクリックして完了です。
正しく設定できていれば、まとめとリマインダーで、VPN トンネルのステータスが「確立済み」、BGP ステータスが「BGP が確立されました」と表示されます。

3

AWS側でも、VPNが確立されていることが確認できます。

2

Google CloudへのルーティングもBGPにより伝搬されていることが確認できます。

1

終わりに

今回はTransit Gateway アタッチメントとAWS Site-to-Site VPN接続を利用して、AWSとGoogle Cloud間を接続してみました。
BGPの設定などいくつか設定するものはありますが、比較的簡単にクラウド間を接続することができます。
マルチクラウド環境などでVPNなどで接続する必要があった際は、是非使ってみてください。

一人でも参考になれば幸いです。以上、まるとでした!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.