動的ルーティングを使用する Classic VPN の作成

このページでは、境界ゲートウェイ ルーティング プロトコル(BGP)を使用した動的ルーティングを使用する Classic VPN ゲートウェイとトンネルを作成する方法について説明します。

動的ルーティングを使用する場合はローカル、リモートのどちらのトラフィック セレクタも指定せず、代わりに Cloud Router を使用します。ルート情報は動的に交換されます。

始める前に

Google Cloud で次の項目を設定すると、Cloud VPN を簡単に構成できます。

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Console のプロジェクト セレクタページで、Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。 プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Cloud SDK をインストールし、初期化します
  1. gcloud コマンドを使用している場合、プロジェクト ID を次のコマンドで設定します。このページの gcloud の説明では、コマンド発行前にプロジェクト ID を設定済みであることを前提としています。
      gcloud config set project project-id
    

すでに設定されているプロジェクト ID を表示することもできます。

      gcloud config list --format='text(core.project)'
    

カスタム Virtual Private Cloud ネットワークとサブネットの作成

Classic VPN ゲートウェイとトンネルを作成する前に、Classic VPN ゲートウェイが存在するリージョンに Virtual Private Cloud ネットワークと少なくとも 1 つのサブネットを作成する必要があります。

ゲートウェイとトンネルの作成

VPN 設定ウィザードは、Classic VPN ゲートウェイを作成する唯一のコンソール オプションです。このウィザードには、Classic VPN ゲートウェイ、トンネル、BGP セッション、外部 VPN ゲートウェイ リソースの作成に必要なすべての構成手順が含まれています。ですが、特定の手順は後から完了することもできます。たとえば、BGP セッションの構成です。

[VPN を作成] ボタンは、HA VPN ゲートウェイの作成のみをサポートします。

Console

ゲートウェイの構成

  1. Google Cloud Console の [VPN] ページに移動します。
    [VPN] ページに移動
  2. [VPN 設定ウィザード] をクリックします。
  3. [VPN の作成] ページで、[Classic VPN] を指定します。
  4. [続行] をクリックします。
  5. [VPN 接続の作成] ページで、次のゲートウェイ設定を指定します。
    • [名前] - VPN ゲートウェイの名前。この名前は後で変更できません。
    • [説明] - 必要に応じて、説明を追加します。
    • [ネットワーク] - VPN ゲートウェイとトンネルを作成する既存の VPC ネットワークを指定します。
    • [リージョン] - Cloud VPN ゲートウェイとトンネルは、リージョン オブジェクトです。ゲートウェイが配置される Google Cloud リージョンを選択します。別のリージョン内にあるインスタンスなどのリソースでは、ルートの順序の対象となる下り(外向き)トラフィック用のトンネルを使用できます。パフォーマンスの向上のために、ゲートウェイとトンネルは、関連する Google Cloud リソースと同じリージョン内に配置してください。
    • [IP アドレス] - 既存のリージョンの外部 IP アドレスを作成または選択します。

トンネルの構成

  1. 新しいトンネルについて、[トンネル] セクションに次の情報を指定します。
    • [名前] - VPN トンネルの名前。この名前は後で変更できません。
    • [説明] - 説明を任意で入力します。
    • [リモートピア IP アドレス] - ピア VPN ゲートウェイのパブリック IP アドレスを指定します。
    • [IKE バージョン] - ピア VPN ゲートウェイでサポートされている適切な IKE バージョンを選択します。IKEv2 がピアデバイスでサポートされていれば、このバージョンを選択してください。
    • [共有シークレット] - 認証用の事前共有キーを指定します。Cloud VPN トンネルの共有シークレットは、ピア VPN ゲートウェイ上で対応するトンネルを構成する場合に使用するものと同じでなければなりません。暗号として強い共有シークレットを生成するには、こちらの手順に従ってください。
    • [ルーティング オプション] - [動的(BGP)] を選択します。
    • [Cloud Router] - 下記のようにオプションを指定して新しい Cloud Router を作成します(まだ行っていない場合)。また、Cloud Router が Partner Interconnect に関連付けられた相互接続アタッチメントの BGP セッションをまだ管理していない場合は、既存の Cloud Router を使用できます。 既存の Cloud Router を選択しても、新しい BGP セッションが作成されますが、Google ASN は同じです。新しい Cloud Router を作成するには、次の情報を指定します。
      • [名前] - Cloud Router の名前。この名前は後で変更できません。
      • [説明] - 説明を任意で入力します。
      • [Google ASN] - プライベート ASN(64512~65534、4200000000~4294967294)を選択します。この Google ASN は、Cloud Router によって管理されるすべての BGP セッションで使用されます。この ASN は後で変更できません。
      • [保存して次へ] をクリックします。
    • [BGP セッション] - 鉛筆アイコンをクリックし、詳細を次のように入力します。入力が済んだら [保存して次へ] をクリックします。
      • [名前] - BGP セッションの名前。この名前は後で変更できません。
      • [ピア ASN] - ピア VPN ゲートウェイで使用されるパブリック ASN またはプライベート ASN(64512~65534、4200000000~4294967294)。
      • [アドバタイズされたルートの優先度] - (省略可)Cloud Router が「Google Cloud に至る」ルートのアドバタイジングで使用する基本優先度。詳細については、ルート指標をご覧ください。ピア VPN ゲートウェイの場合、この値は MED 値としてインポートされます。
      • [Cloud Router の BGP IP] と [BGP ピア IP] - この 2 つの BGP インターフェース IP アドレスは、169.254.0.0/16 ブロックの共通の /30 CIDR に属するリンクローカル IP アドレスでなければなりません。各 BGP IP は、ルート情報の交換に使用される、それぞれのリンクローカル IP を定義します。たとえば、169.254.1.1169.254.1.2 は共通の /30 ブロックに属します。
  2. 同じゲートウェイ上でトンネルを追加作成する場合は、[トンネルを追加] をクリックし、上記の手順を繰り返します。後でトンネルを追加することもできます。
  3. [作成] をクリックします。

gcloud


以下のコマンドでは、次の箇所を置き換えてください。

  • project-id は、プロジェクトの ID に置き換えます。
  • network は、Google Cloud ネットワークの名前に置き換えます。
  • region は、ゲートウェイとトンネルを作成する Google Cloud リージョンに置き換えます。
  • (省略可)--target-vpn-gateway-region は、Classic VPN ゲートウェイが動作するリージョンです。--region と同じ値になります。指定しない場合、このオプションが自動的に設定されます。このオプションは、このコマンド呼び出しのデフォルトの compute/region プロパティ値をオーバーライドします。
  • gw-name は、ゲートウェイの名前に置き換えます。
  • gw-ip-name は、ゲートウェイで使用される外部 IP の名前に置き換えます。

Google Cloud ゲートウェイを作成するには、次のコマンド シーケンスを完了します。

  1. Cloud VPN ゲートウェイのリソースを作成します。

    1. ターゲット VPN ゲートウェイ オブジェクトを作成します。

          gcloud compute target-vpn-gateways create gw-name \
              --network network \
              --region region \
              --project project-id
          
    2. リージョンの外部(静的)IP アドレスを予約します。

          gcloud compute addresses create gw-ip-name \
              --region region \
              --project project-id
          
    3. IP アドレスをメモします(ピア VPN ゲートウェイを構成するときに使用します)。

          gcloud compute addresses describe gw-ip-name \
              --region region \
              --project project-id \
              --format='flattened(address)'
          
    4. 転送ルールを 3 つ作成します。この 3 つのルールは、ESP(IPSec)、UDP 500、UDP 4500 のトラフィックをゲートウェイに送信するよう Google Cloud に指示します。

           gcloud compute forwarding-rules create fr-gw-name-esp \
               --ip-protocol ESP \
               --address gw-ip-name \
               --target-vpn-gateway gw-name \
               --region region \
               --project project-id
          
          gcloud compute forwarding-rules create fr-gw-name-udp500 \
              --ip-protocol UDP \
              --ports 500 \
              --address gw-ip-name \
              --target-vpn-gateway gw-name \
              --region region \
              --project project-id
          
          gcloud compute forwarding-rules create fr-gw-name-udp4500 \
              --ip-protocol UDP \
              --ports 4500 \
              --address gw-ip-name \
              --target-vpn-gateway gw-name \
              --region region \
              --project project-id
          
  2. 次のコマンドを実行して Cloud Router を作成します(まだ行っていない場合)。下記のオプションを置き換えます。また、Cloud Router が Partner Interconnect に関連付けられた相互接続アタッチメントの BGP セッションをまだ管理していない場合は、既存の Cloud Router を使用できます。

    • router-name は、Cloud Router の名前に置き換えます。
    • [GOOGLE_ASN] は、プライベート ASN(64512~65534、4200000000~4294967294)に置き換えます。この Google ASN は同じ Cloud Router 上のすべての BGP セッションに使用され、後で変更できません。
          gcloud compute routers create router-name \
          --asn google-asn \
          --network network \
          --region region \
          --project project-id
        
  3. 詳細を次のように指定して Cloud VPN トンネルを作成します。

    • tunnel-name は、トンネルの名前に置き換えます。
    • on-prem-ip は、ピア VPN ゲートウェイの外部 IP アドレスに置き換えます。
    • ike-vers1(IKEv1 の場合)または 2(IKEv2 の場合)に置き換えます。
    • shared-secret は、共有シークレットに置き換えます。Cloud VPN トンネルの共有シークレットは、ピア VPN ゲートウェイ上で対応するトンネルを構成する場合に使用するものと同じでなければなりません。この手順に従うと、暗号的に強い共有シークレットを生成できます。
    • router-name は、Cloud VPN トンネルのルートの管理に使用する Cloud Router の名前に置き換えます。Cloud Router はトンネルを作成する前に作成しておきます。

          gcloud compute vpn-tunnels create tunnel-name \
              --peer-address on-prem-ip \
              --ike-version ike-vers \
              --shared-secret shared-secret \
              --router router-name \
              --target-vpn-gateway gw-name \
              --region region \
              --project project-id
          
  4. インターフェースと BGP ピアを作成して、Cloud Router の BGP セッションを構成します。次のいずれかを行います。

    • リンクローカル BGP IP アドレスが Google Cloud によって自動的に選択されるようにする場合

      1. Cloud Router に新しいインターフェースを追加します。このインターフェースの名前を interface-name に指定します。

            gcloud compute routers add-interface router-name \
                --interface-name interface-name \
                --vpn-tunnel tunnel-name \
                --region region \
                --project project-id
            
      2. インターフェースに BGP ピアを追加します。peer-name はピアの名前に置き換え、peer-asn はピア VPN ゲートウェイ用に構成された ASN に置き換えます。

            gcloud compute routers add-bgp-peer router-name \
                --peer-name peer-name \
                --peer-asn peer-asn \
                --interface interface-name \
                --region region \
                --project project-id
            
      3. Cloud Router によって選択された BGP IP アドレスを一覧表示します。既存の Cloud Router に新しいインターフェースを追加した場合、そのインターフェースの BGP IP アドレスは最も大きいインデックス番号付きでリストされます。ピア IP アドレスは、ピア VPN ゲートウェイの構成に使用する BGP IP です。

            gcloud compute routers get-status router-name \
                 --region region \
                 --project project-id \
                 --format='flattened(result.bgpPeerStatus[].ipAddress, \
                 result.bgpPeerStatus[].peerIpAddress)'
            

        Cloud Router が単一の Cloud VPN トンネル(インデックス 0)を管理している場合、次のような出力が表示されます。この場合、google-bgp-ip は Cloud Router のインターフェースの BGP IP を表し、on-prem-bgp-ip はそのピアの BGP IP を表します。

            result.bgpPeerStatus[0].ipAddress:     google-bgp-ip
            result.bgpPeerStatus[0].peerIpAddress: on-prem-bgp-ip
            
    • Google Cloud BGP インターフェースとピアに関連付けられた BGP IP アドレスを手動で割り当てるには、次のようにします

      1. 169.254.0.0/16 の範囲にある /30 ブロック内で、リンクローカル BGP IP アドレスを 2 つ決定します。次のコマンドで google-bgp-ip を置き換えて、これらの BGP IP アドレスのいずれかを Cloud Router に割り当てます。もう 1 つの BGP IP アドレスはピア VPN ゲートウェイに使用します。このアドレスを使用するようにデバイスを構成し、次の後半のコマンドにある on-prem-bgp-ip をこのアドレスに置き換えます。

      2. Cloud Router に新しいインターフェースを追加します。interface-name をインターフェースの名前で置き換えて指定します。

            gcloud compute routers add-interface router-name \
                --interface-name interface-name \
                --vpn-tunnel tunnel-name \
                --ip-address google-bgp-ip \
                --mask-length 30 \
                --region region \
                --project project-id
            
      3. インターフェースに BGP ピアを追加します。peer-name はピアの名前に置き換え、peer-asn はピア VPN ゲートウェイ用に構成された ASN に置き換えます。

            gcloud compute routers add-bgp-peer router-name \
                --peer-name peer-name \
                --peer-asn peer-asn \
                --interface interface-name \
                --peer-ip-address on-prem-bgp-ip \
                --region region \
                --project project-id
            

フォローアップ手順

新しい Cloud VPN ゲートウェイとトンネルを使用する前に、次の手順を行う必要があります。

  1. ピア VPN ゲートウェイを設定し、対応するトンネルを構成します。次のページをご覧ください。
  2. 必要に応じて、Google Cloud とピア ネットワークにファイアウォール ルールを構成します。推奨事項については、ファイアウォール ルールのページをご覧ください。
  3. 転送ルールを含め、トンネルのステータスを確認します。

次のステップ