HA VPN ゲートウェイからピア VPN ゲートウェイの作成

このページでは、ピア VPN ゲートウェイに接続する高可用性 VPN ゲートウェイを作成する方法を説明します。

HA VPN ゲートウェイは HA VPN API を使用し、99.99% の SLA を実現します。この構成では、HA VPN ゲートウェイ インターフェースごとに 1 つのトンネルを持つトンネルペアを使用します。

HA VPN 用に構成するゲートウェイ コンポーネントは 2 つあります。

  • Google Cloud の HA VPN ゲートウェイ
  • ピア VPN ゲートウェイ。HA VPN ゲートウェイが接続するピア ネットワーク内の 1 つ以上の物理 VPN ゲートウェイ デバイスまたはソフトウェア アプリケーションです。ピア ゲートウェイは、オンプレミス VPN ゲートウェイまたは他のクラウド プロバイダにホストされているゲートウェイです。ピア ゲートウェイ デバイスまたはサービスごとに Google Cloud の外部 VPN ゲートウェイ リソースを作成する必要があります。

このトポロジの図については、トポロジのページをご覧ください。

VPN の種類の選択方法についての詳細は、VPN オプションの選択をご覧ください。

始める前に

  • Google Cloud での動的ルーティングの仕組みについての情報をご覧ください。
  • 使用するピア VPN ゲートウェイで BGP がサポートされていることを確認します。

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
      
  1. すでに設定されているプロジェクト ID を表示することもできます。
        gcloud config list --format='text(core.project)'
      

冗長性タイプ

HA VPN API には REDUNDANCY_TYPE のオプションがあり、外部 VPN ゲートウェイ リソース用に構成するインターフェースの数を表します。

gcloud コマンドは、外部 VPN ゲートウェイ リソースを構成する際に、インターフェース ID に指定したインターフェースの数から、自動的に次の REDUNDANCY_TYPE の値を推測します。

  • 外部 VPN インターフェースが 1 つの場合は SINGLE_IP_INTERNALLY_REDUNDANT です
  • 外部 VPN インターフェースが 2 つの場合は TWO_IPS_REDUNDANCY です
  • 外部 VPN インターフェースが 4 つの場合は FOUR_IPS_REDUNDANCY です

外部 VPN ゲートウェイを構成する際は、外部 VPN インターフェースの数に応じて次のインターフェース識別番号を使用する必要があります。

  • 外部 VPN インターフェースが 1 つの場合は、0 の値を使用します。
  • 外部 VPN インターフェースが 2 つの場合は、01 の値を使用します。
  • 外部 VPN インターフェースが 4 つの場合は、0123 の値を使用します。

HA VPN 外部 VPN ゲートウェイを Amazon Web Services(AWS)に構成する場合、サポートされるトポロジには、それぞれ 2 つのパブリック IP アドレスを持つ AB の 2 つの AWS 仮想プライベート ゲートウェイが必要です。このトポロジでは、AWS で A1A2B1、および B2 の合計 4 つのパブリック IP アドレスが生成されます。

  1. 4 つの AWS IP アドレスを、FOUR_IPS_REDUNDANCY を使用して外部 HA VPN ゲートウェイとして構成します。ここで、
    • AWS IP 0 = A1
    • AWS IP 1 = A2
    • AWS IP 2 = B1
    • AWS IP 3 = B2
  2. HA VPN ゲートウェイに 4 つのトンネルを作成し、99.99% の SLA を達成します。次の構成を使用します。
    • HA VPN インターフェース 0 と AWS インターフェース 0
    • HA VPN インターフェース 0 と AWS インターフェース 1
    • HA VPN インターフェース 1 と AWS インターフェース 2
    • HA VPN インターフェース 1 と AWS インターフェース 3

Amazon Web Services(AWS)で HA VPN を構成するための全般的な構成手順の概要。

  1. HA VPN ゲートウェイと Cloud Router を作成します。これにより、GCP 側に 2 つのパブリック IP アドレスが作成されます。
  2. 2 つの AWS 仮想プライベート ゲートウェイを作成します。これにより、AWS 側に 4 つのパブリック アドレスが作成されます。
  3. AWS 仮想プライベート ゲートウェイごとに 1 つずつ、2 つの AWS Site-to-Site VPN 接続とカスタマー ゲートウェイを作成します。各トンネルで重複しないように、リンクローカル トンネル IP 範囲を 4 つ指定します。例えば、169.254.1.4/30 です。
  4. 汎用デバイスタイプの AWS 構成ファイルをダウンロードします。
  5. HA VPN ゲートウェイで 4 つの VPN トンネルを作成します。
  6. ダウンロードした AWS 構成ファイルの BGP IP アドレスを使用して、Cloud Router で BGP セッションを構成します。

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

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

このドキュメントの例では、VPC グローバル動的ルーティング モードも使用するため、Cloud Router のすべてのインスタンスは、学習した to on-premises ルートを VPC ネットワーク内のすべてのサブネットに適用します。グローバル ルーティング モードでは、VPC ネットワーク内のすべてのサブネットへのルートをオンプレミス ルーターと共有します。

ピア VPN への HA VPN ゲートウェイとトンネルペアの作成

このセクションの手順に沿って、HA VPN ゲートウェイ、トンネルペア、ピア VPN ゲートウェイ リソース、BGP セッションを作成します。

Console

VPN 設定ウィザードには、HA VPN ゲートウェイ、トンネル、ピア VPN ゲートウェイ リソース、BGP セッションの作成に必要なすべての構成手順が含まれています。

Cloud VPN ゲートウェイの作成

  1. Google Cloud Console の [VPN] ページに移動します。
    [VPN] ページに移動
    1. ゲートウェイを作成するのが初めての場合、[VPN 接続を作成] ボタンをクリックします。
    2. [VPN 設定ウィザード] を選択します。
  2. HA VPN ゲートウェイのラジオボタンを選択します。
  3. [続行] をクリックします。
  4. [VPN ゲートウェイ名] を指定します。
  5. [VPC ネットワーク] で、既存のネットワークまたはデフォルトのネットワークを選択します。
  6. [リージョン] を選択します。
  7. [作成して続行] をクリックします。
  8. コンソール画面が更新され、ゲートウェイ情報が表示されます。それぞれのゲートウェイ インターフェースに 2 つのパブリック IP アドレスが自動的に割り当てられます。今後の構成手順のために、ゲートウェイ構成の詳細をメモします。

ピア VPN ゲートウェイ リソースの作成

ピア VPN ゲートウェイ リソースは、Google Cloud の Google Cloud 以外のゲートウェイを表します。

  1. [VPN の作成] 画面の [ピア VPN ゲートウェイ] の下で、On-prem or Non-Google Cloud を選択します。
  2. [ピア VPN ゲートウェイの名前] で既存のピア ゲートウェイを選択するか、[新しいピア VPN ゲートウェイを作成する] をクリックします。既存のゲートウェイを選択すると、Cloud Console は、既存のピア ゲートウェイで構成したピア インターフェースの数に基づいて、構成するトンネルの数を選択します。新しいピア ゲートウェイを作成するには、次の手順に沿って操作します。
    1. ピア VPN ゲートウェイの [名前] を指定します。
    2. [ピア VPN ゲートウェイ インターフェース] の下で、ピア ゲートウェイのインターフェースの種類に応じて、onetwo、または four を選択します。それぞれの種類の例については、トポロジのページをご覧ください。
    3. 各ピア VPN インターフェースのフィールドに、そのインターフェースで使用するパブリック IP アドレスを指定します。詳細については、ピア VPN ゲートウェイの構成をご覧ください。
    4. [作成] をクリックします。

VPN トンネルの作成

  • 1 つのインターフェースを持つピア VPN ゲートウェイ リソースを構成した場合、[VPN の作成] 画面の 1 つの VPN トンネル ダイアログ ボックスで 1 つのトンネルを構成します。99.99% の SLA のために 2 番目のトンネルを作成する必要があります。
  • 2 つまたは 4 つのインターフェースを持つピア VPN ゲートウェイ リソースを構成した場合、[VPN の作成] 画面の下部に表示される関連するダイアログ ボックスで構成する必要があります。
  1. まだ作成していない場合は、[Cloud Router] の下で、次のオプションを指定して Cloud Router を作成します。ルーターが Partner Interconnect に関連付けられた相互の接続アタッチメントの BGP セッションをまだ管理していない場合は、既存の Cloud Router を使用できます。
    1. 新しい Cloud Router を作成するには、新しいルーターの [名前]、[説明]、[Google ASN] を指定します。ネットワーク内の他の場所では使用していない任意のプライベート ASN(645126553442000000004294967294)を使用できます。Google ASN は同じ Cloud Router のすべての BGP セッションで使用され、後からの変更はできません。
    2. [作成] をクリックして、新しいルーターを作成します。
  2. 該当する場合、[関連付けられている Cloud VPN ゲートウェイ インターフェース] の下で、このトンネルのピア VPN ゲートウェイ インターフェースに関連付ける HA VPN インターフェースと IP アドレスの組み合わせを選択します。
  3. [関連付けられているピア VPN ゲートウェイ インターフェース] の下で、このトンネルと HA VPN インターフェースに関連付けるピア VPN ゲートウェイ インターフェースと IP アドレスの組み合わせを選択します。このインターフェースは実際のピアルーターのインターフェースと一致する必要があります。
    1. トンネルの [名前] を指定します。
    2. [説明](省略可)を指定します。
    3. [IKE バージョン] を指定します。ピアルーターが IKE v2 をサポートしている場合は、デフォルト設定の IKE v2 をおすすめします。
    4. 共有シークレットを使用して [IKE 事前共有キー] を指定します。共有シークレットは、ピア ゲートウェイに作成するパートナー トンネル用の共有シークレットに対応させる必要があります。ピア VPN ゲートウェイで共有シークレットをまだ構成しておらず、これから生成する場合は、[生成してコピー] ボタンをクリックします。事前共有キーは VPN トンネルの作成後に取得できないため、安全な場所に記録してください。
    5. [完了] をクリックします。
    6. [VPN の作成] 画面の残りのトンネル ダイアログ ボックスで、トンネル作成手順を繰り返します。
  4. すべてのトンネルを構成したら、[作成して続行] をクリックします。

BGP セッションの作成

  1. BGP セッションを今すぐ構成しない場合は、[後で BGP セッションを構成] ボタンをクリックして [まとめとリマインダー] 画面を開きます。
  2. BGP セッションを今すぐ構成する場合は、最初の VPN トンネルの [構成] ボタンをクリックします。
  3. [BGP セッションの作成] 画面で、次の手順を行います。
    1. BGP セッションの [名前] を指定します。
    2. ピア VPN ゲートウェイ用に構成された [ピア ASN] を指定します。
    3. (省略可)[アドバタイズされたルートの優先度] を指定します。
    4. [Cloud Router の BGP IP] アドレスと [BGP ピア IP] アドレスを指定します。これらのアドレスは、それぞれ同じ /30 サブネット内の 169.254.0.0/16 CIDR ブロックのリンクローカル アドレスを使用する必要があります。サブネットのネットワーク アドレスやブロードキャスト アドレスではないことを確認してください。
    5. (省略可)[アドバタイズされたルート] プルダウン メニューをクリックして、カスタムルートを作成します。
    6. [保存して次へ] をクリックします。
  4. トンネルごとに異なる [Cloud Router の BGP IP] アドレスと [BGP ピア IP] アドレスを使用して、ゲートウェイで構成した残りのトンネルに対して前の手順を繰り返します。
  5. すべての BGP セッションを構成したら、[BGP 構成を保存] をクリックします。

まとめとリマインダー

  1. この画面の [まとめ] セクションには、HA VPN ゲートウェイとピア VPN ゲートウェイのプロファイルに関する情報が一覧表示されます。
  2. VPN トンネルごとに、[VPN トンネルのステータス]、[BGP セッション名]、[BGP セッションのステータス]、[MED 値(アドバタイズされたルート優先度)] が表示されます。
  3. この画面の [リマインダー] セクションには、Cloud VPN とピア VPN 間の完全な VPN 接続を確立するために必要な手順が一覧表示されています。
  4. この画面の情報を確認してから、[OK] をクリックします。

シングル トンネル ゲートウェイにトンネルを追加します。

このセクションの手順に従って、HA VPN ゲートウェイの 2 番目のインターフェースに 2 番目のトンネルを構成します。次のような場合、この構成を行ってください。

  • 単一のピア VPN インターフェースを持つピア VPN ゲートウェイへ接続する HA VPN ゲートウェイを構成した場合。
  • 以前、任意の数のインターフェースを含むピア VPN ゲートウェイの HA VPN で単一のトンネルを設定したものの、現在は HA VPN ゲートウェイに対して 99.99% の稼働率の SLA が必要な場合。

    1. Google Cloud Console の [VPN] ページに移動します。
      [VPN] ページに移動
    2. [VPN トンネルを作成] ボタンをクリックします。
    3. プルダウン メニューで、2 番目のトンネルが必要なゲートウェイを選択します。
    4. [続行] をクリックします。
    5. Cloud Router を選択します。Cloud Router をまだ構成していない場合は、VPN トンネルの作成の手順を実行して構成します。
    6. [ピア VPN ゲートウェイ] で [オンプレミスまたは非 Google Cloud] を選択します。
    7. [ピア VPN ゲートウェイの名前] で、新しいトンネルが使用する既存のピア VPN ゲートウェイ リソースを選択します。画面の上部付近にある [VPN ゲートウェイの名前] の下の [既存のすべてのトンネルを表示] リンクをクリックして、この Cloud VPN ゲートウェイの既存のピア VPN ゲートウェイの名前を確認できます。
    8. 同じピア VPN ゲートウェイ インターフェースを持つトンネルが、すでに同じローカル Cloud VPN ゲートウェイ インターフェースに関連付けられているという警告が表示される場合があります。この問題を解決するには、[関連付けられている Cloud VPN ゲートウェイ インターフェース] で他の HA VPN インターフェースを選択してください。
    9. VPN トンネルの作成に記載された残りの手順に従って、トンネルの構成を完了します。

gcloud


HA VPN ゲートウェイの作成

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

  1. HA VPN ゲートウェイを作成します。ゲートウェイが作成されると、2 つの外部 IP アドレスが自動的に割り当てられます(各ゲートウェイ インターフェースに 1 つ)。

    次のコマンドでは、次のオプションを置き換えてください。

    • network は、Google Cloud ネットワークの名前に置き換えます。
    • region は、ゲートウェイとトンネルを作成する Google Cloud リージョンに置き換えます。
    • gw-name は、ゲートウェイの名前に置き換えます。
          gcloud compute vpn-gateways create gw-name \
            --network network \
            --region region
        

    作成するゲートウェイは、次の出力例のようになります。パブリック IP アドレスが、各ゲートウェイ インターフェースに自動的に割り当てられました。

          Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnGateways/ha-vpn-gw-a].
          NAME        INTERFACE0    INTERFACE1   NETWORK   REGION
          ha-vpn-gw-a 203.0.113.16  203.0.113.23 network-a us-central1
        

Cloud Router の作成

  1. Cloud Router を作成するには、次のコマンド シーケンスを完了します。次のコマンドでは、次のオプションを置き換えてください。

    • router-name は、Cloud VPN ゲートウェイと同じリージョン内の Cloud Router の名前に置き換えます。
    • google-asn は、ピア ネットワークでまだ使用されていない任意のプライベート ASN(64512~65534、4200000000~4294967294)に置き換えます。この Google ASN は同じ Cloud Router 上のすべての BGP セッションに使用され、後で変更できません。
          gcloud compute routers create router-name \
            --region region \
            --network network \
            --asn google-asn
        

    作成するルーターは、次の出力例のようになります。

          Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/routers/router-a].
          NAME      REGION      NETWORK
          router-a us-central1 network-a
        

外部 VPN ゲートウェイ リソースの作成

ピア VPN ゲートウェイに関する情報を Google Cloud に提供する外部 VPN ゲートウェイ リソースを作成します。ピア VPN ゲートウェイの HA 推奨事項に基づいて、次の異なる種類のオンプレミス VPN ゲートウェイの外部 VPN ゲートウェイ リソースを作成できます。

  • 2 つのデバイスが互いに冗長であり、各デバイスに固有のパブリック IP アドレスがある、2 つの個別のピア VPN ゲートウェイ デバイス。
  • それぞれが固有のパブリック IP アドレスを持つ 2 つの個別のインターフェースを使用する単一のピア VPN ゲートウェイ。この種類のピア ゲートウェイでは、2 つのインターフェースを持つ単一の外部 VPN ゲートウェイを作成できます。
  • 単一のパブリック IP アドレスを持つ単一のピア VPN ゲートウェイ。

オプション 1: 2 つの個別のピア VPN ゲートウェイ デバイスに 1 つの外部 VPN ゲートウェイ リソースを作成します

  1. この種類のピア ゲートウェイでは、外部 VPN ゲートウェイのインターフェースごとにパブリック IP アドレスが 1 つあり、各アドレスはピア VPN ゲートウェイ デバイスからのものです。次の gcloud コマンドで、以下のオプションを置き換えます。

    • peer-gw_name は、ピア ゲートウェイを表す名前に置き換えます。
    • peer-gw-ip-0 は、ピア ゲートウェイのパブリック IP アドレスに置き換えます。
    • peer-gw-ip-1 は、もう一方のピア ゲートウェイのパブリック IP アドレスに置き換えます。
          gcloud compute external-vpn-gateways create peer-gw-name \
            --interfaces 0=peer-gw-ip-0,1=peer-gw-ip-1 \
        

    作成された外部 VPN ゲートウェイ リソースは次の例のようになり、peer-gw-ip-0peer-gw-ip-1 がピア ゲートウェイ インターフェースの実際のパブリック アドレスになります。

          Created [https://www.googleapis.com/compute/v1/projects/project-id/global/externalVpnGateways/peer-gw].
          NAME      INTERFACE0      INTERFACE1
          peer-gw   peer-gw-ip-0    peer-gw-ip-1
        

オプション 2: 2 つの個別のインターフェースを持つ単一のピア VPN ゲートウェイに外部 VPN ゲートウェイ リソースを作成します

  1. この種類のピア ゲートウェイでは、2 つのインターフェースを持つ単一の外部 VPN ゲートウェイを作成します。次の gcloud コマンドで、以下のオプションを置き換えます。

    • peer-gw-name は、ピア ゲートウェイを表す名前に置き換えます。
    • peer-gw-ip-0 は、ピア ゲートウェイの 1 つのインターフェースのパブリック IP アドレスに置き換えます。
    • peer-gw-ip-1 は、ピア ゲートウェイのもう一方のインターフェースのパブリック IP アドレスに置き換えます。

          gcloud compute external-vpn-gateways create peer-gw-name \
           --interfaces 0=on-prem-gw-ip-0,1=on-prem-gw-ip-1 \
          

      作成された外部 VPN ゲートウェイ リソースは次の例のようになり、peer-gw-ip-0peer-gw-ip-1 がピア ゲートウェイ インターフェースの実際のパブリック アドレスになります。

          Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
          NAME      INTERFACE0      INTERFACE1
          peer-gw   peer-gw-ip-0  peer-gw-ip-1
          

オプション 3: 単一のパブリック IP アドレスを持つ単一のピア VPN ゲートウェイに外部 VPN ゲートウェイ リソースを作成します

  1. この種類のピア ゲートウェイでは、1 つのインターフェースを持つ 1 つの外部 VPN ゲートウェイを作成します。次の gcloud コマンドで、以下のオプションを置き換えます。

    • peer-gw-name は、ピア ゲートウェイを表す名前に置き換えます。
    • peer-gw-ip-0 は、ピア ゲートウェイのインターフェースのパブリック IP アドレスに置き換えます。
          gcloud compute external-vpn-gateways create peer-gw-name \
            --interfaces 0=peer-gw-ip-0 \
        

    作成した外部 VPN ゲートウェイ リソースは次の例のようになり、peer-gw-ip-0 が、ピアゲートウェイ インターフェースの実際のパブリック アドレスになります。

          Created [https://www.googleapis.com/compute/v1/projects/project-id/global/externalVpnGateways/peer-gw].
          NAME      INTERFACE0
          peer-gw   peer-gw-ip-0
        

HA VPN ゲートウェイのインターフェースごとに 1 つずつ、2 つの VPN トンネルを作成します

VPN トンネルを作成する場合は、先に作成した外部 VPN ゲートウェイとして VPN トンネルのピア側を指定します。外部 VPN ゲートウェイの冗長性の種類に基づき、次のいずれかのオプションを使用してトンネルを構成します。

オプション 1: 外部 VPN ゲートウェイが、2 つの個別のピア VPN ゲートウェイ デバイス、または 2 つの IP アドレスを持つ単一のデバイスである場合

  1. この場合、1 つの VPN トンネルが外部 VPN ゲートウェイのインターフェース 0 に接続し、もう 1 つの VPN トンネルが外部 VPN ゲートウェイのインターフェース 1 に接続する必要があります。

    各トンネルを作成する次のコマンドで、以下のオプションを置き換えます。

    • tunnel-name-if0tunnel-name-if1 は、トンネルの名前に置き換えます。ゲートウェイ インターフェース名を含めてトンネルに名前を付けると、後でトンネルを識別するのに役立ちます。
    • gw-name は HA VPN ゲートウェイの名前に置き換えます。
    • (省略可)--vpn-gateway-region は、HA VPN ゲートウェイが動作するリージョンです。--region と同じ値になります。指定しない場合、このオプションが自動的に設定されます。このオプションは、このコマンド呼び出しのデフォルトの compute/region プロパティ値をオーバーライドします。
    • peer-gw-name は、前に作成した外部ピア ゲートウェイの名前に置き換えます。
    • peer-ext-gw-if-0peer-ext-gw-if1 は、外部ピア ゲートウェイで前に構成したインターフェース番号に置き換えます。
    • ike-vers1(IKEv1 の場合)または 2(IKEv2 の場合)に置き換えます。可能であれば、IKE バージョンは IKEv2 を使用してください。ピア ゲートウェイで IKEv1 を使用する必要がある場合、--ike-version 2 を --ike-version 1 に置き換えます。
    • shared-secret は共有シークレットに置き換えます。共有シークレットは、ピア ゲートウェイに作成するパートナー トンネル用の共有シークレットに対応する必要があります。推奨事項については、強力な事前共有キーの生成をご覧ください。
    • int-num-0 は、前に作成した HA VPN ゲートウェイの 1 番目のインターフェース番号 0 に置き換えます。
    • int-num-1 は、前に作成した HA VPN ゲートウェイの 2 番目のインターフェース番号 1 に置き換えます。

            gcloud compute vpn-tunnels create tunnel-name-if0 \
              --peer-external-gateway peer-gw-name \
              --peer-external-gateway-interface peer-ext-gw-if0  \
              --region region \
              --ike-version ike-vers \
              --shared-secret shared-secret \
              --router router-name \
              --vpn-gateway gw-name \
              --interface int-num-0
          
           gcloud compute vpn-tunnels create tunnel-name-if1 \
              --peer-external-gateway peer-gw-name \
              --peer-external-gateway-interface peer-ext-gw-if1 \
              --region region \
              --ike-version ike-vers \
              --shared-secret shared-secret \
              --router router-name \
              --vpn-gateway gw-name \
              --interface int-num-1
          

      コマンド出力は次の例のようになります。

            Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0].
            NAME                      REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
            tunnel-a-to-on-prem-if-0  us-central1  ha-vpn-gw-a    0               peer-gw        0
            Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
            NAME                      REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
            tunnel-a-to-on-prem-if-1  us-central1  ha-vpn-gw-a    1               peer-gw        1
          

オプション 2: 外部 VPN ゲートウェイが単一のパブリック IP アドレスを持つ単一のピア VPN ゲートウェイである場合

  1. この場合、両方の VPN トンネルが外部 VPN ゲートウェイのインターフェース 0 に接続する必要があります。

    各トンネルを作成する次のコマンドで、以下のオプションを置き換えます

    • tunnel-name-if0tunnel-name-if1 は、トンネルの名前に置き換えます。ゲートウェイ インターフェース名を含めてトンネルに名前を付けると、後でトンネルを識別するのに役立ちます。
    • peer-gw-name は、前に作成した外部ピア ゲートウェイの名前に置き換えます。
    • peer-ext-gw-if0 は、外部ピア ゲートウェイで前に構成したインターフェース番号に置き換えます。
    • (省略可)--vpn-gateway-region は、HA VPN ゲートウェイが動作するリージョンです。--region と同じ値になります。指定しない場合、このオプションが自動的に設定されます。このオプションは、このコマンド呼び出しのデフォルトの compute/region プロパティ値をオーバーライドします。
    • ike-vers1(IKEv1 の場合)または 2(IKEv2 の場合)に置き換えます。可能であれば、IKE バージョンは IKEv2 を使用してください。ピア ゲートウェイで IKEv1 を使用する必要がある場合、--ike-version 2 を --ike-version 1 に置き換えます。
    • shared-secret は共有シークレットに置き換えます。共有シークレットは、ピア ゲートウェイに作成するパートナー トンネル用の共有シークレットに対応する必要があります。推奨事項については、強力な事前共有キーの生成をご覧ください。
    • int-num-0 は、前に作成した HA VPN ゲートウェイの 1 番目のインターフェース番号 0 に置き換えます。
    • int-num-1 は、前に作成した HA VPN ゲートウェイの 2 番目のインターフェース番号 1 に置き換えます。
          gcloud compute vpn-tunnels create tunnel-name-if0 \
            --peer-external-gateway peer-gw-name \
            --peer-external-gateway-interface peer-ext-gw-if0  \
            --region region \
            --ike-version ike-vers \
            --shared-secret shared-secret \
            --router router-name \
            --vpn-gateway gw-name \
            --interface int-num-0
        
          gcloud compute vpn-tunnels create tunnel-name_if1 \
            --peer-external-gateway peer-gw-name \
            --peer-external-gateway-interface [peer-ext-gw-if0] \
            --region region \
            --ike-version ike-vers \
            --shared-secret shared-secret \
            --router router-name \
            --vpn-gateway gw-name \
            --interface int-num-1
        

    コマンド出力は次の例のようになります。

          Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0].
          NAME                      REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
          tunnel-a-to-on-prem-if-0  us-central1  ha-vpn-gw-a    0               peer-gw        0
          Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
          NAME                      REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
          tunnel-a-to-on-prem-if-1  us-central1  ha-vpn-gw-a    1               peer-gw        0
        

Cloud Router インターフェースと BGP ピアの作成

  1. HA VPN ゲートウェイ インターフェースで前に構成した各トンネルに、Cloud Router BGP インターフェースと BGP ピアを作成します。
    次のコマンドでは、以下のオプションを置き換えてください。

    • router-interface-name-0router-interface-name-1 は、Cloud Router BGP インターフェースの名前に置き換えます。前に構成したトンネル名に関連する名前を使用すると便利です。
    • 手動の構成方法を使用する場合、ip-address-0ip-address-1 は、構成する HA VPN ゲートウェイ インターフェースの BGP IP アドレスに置き換えます。トンネルごとに異なるゲートウェイ インターフェースを使用します。
    • 30mask-length を使用します。
    • tunnel-name-0tunnel-name-1 は、構成した HA VPN ゲートウェイ インターフェースに関連付けられたトンネルに置き換えます。

    BGP インターフェースと BGP ピアを構成する自動または手動の構成方法を選択します。

    自動

    Google Cloud にリンクローカル BGP IP アドレスを自動的に選択させる手順は次のとおりです。

    1 番目の VPN トンネルの場合

    1. Cloud Router に BGP インターフェースを追加します。

          gcloud compute routers add-interface router-name \
              --interface-name router-interface-name-0 \
              --mask-length mask-length \
              --vpn-tunnel tunnel-name-0 \
              --region region
          

      コマンド出力は次の例のようになります。

          Updated [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/routers/router-a].
          
    2. 1 番目のトンネルのインターフェースに BGP ピアを追加します。peer-name はピア VPN インターフェースの名前に置き換え、peer-asn はピア VPN ゲートウェイ用に構成した ASN に置き換えます。

          gcloud compute routers add-bgp-peer router-name \
              --peer-name peer-name \
              --peer-asn peer-asn \
              --interface router-interface-name-0 \
              --region region \
          

      コマンド出力は次の例のようになります。

          Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
          

    2 番目の VPN トンネルの場合

    1. Cloud Router に BGP インターフェースを追加します。

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

          gcloud compute routers add-bgp-peer router-name \
              --peer-name peer-name \
              --peer-asn peer-asn \
              --interface router-interface-name-1 \
              --region region \
          

    手動

    Google Cloud BGP インターフェースとピアに関連付けられた BGP IP アドレスを手動で割り当てる手順は、次のとおりです。

    1. 169.254.0.0/16 の範囲にある /30 ブロック内で、VPN トンネルごとにリンクローカル BGP IP アドレスを 2 つ決定します(合計 4 アドレス)。トンネルごとに、いずれかの BGP IP アドレスを Cloud Router に割り当て、もう一方の BGP IP アドレスをピア VPN ゲートウェイに割り当てます。また、ピア VPN デバイスがピア BGP IP アドレスを使用するように構成する必要もあります。以下のコマンドで、以下のオプションを使用します。
      • google-bgp-ip-0 は、Cloud VPN ゲートウェイ インターフェース 0 のトンネル用の Cloud Router のインターフェースの BGP IP を表します。on-prem-bgp-ip-0 は、ピアの BGP IP を表します。
      • google-bgp-ip-1 は、Cloud VPN ゲートウェイ インターフェース 1 のトンネル用の Cloud Router のインターフェースの BGP IP を表します。on-prem-bgp-ip-1 は、ピアの BGP IP を表します。

    1 番目の VPN トンネルの場合

    1. Cloud Router に BGP インターフェースを追加します。router-interface-name-0 をインターフェースの名前に置き換えて、名前を指定します。

          gcloud compute routers add-interface router-name \
              --interface-name router-interface-name-0 \
              --vpn-tunnel tunnel-name-0 \
              --ip-address google-bgp-ip-0 \
              --mask-length 30 \
              --region region \
          

      コマンド出力は次の例のようになります。

          Updated [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/routers/router-a].
          
    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 router-interface_name-0 \
              --peer-ip-address on-prem-bgp-ip-0 \
              --region region \
          

      コマンド出力は次の例のようになります。

          Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
          

    2 番目の VPN トンネルの場合

    1. Cloud Router に BGP インターフェースを追加します。router-interface-name-1 をインターフェースの名前に置き換えて、名前を指定します。

          gcloud compute routers add-interface router-name \
              --interface-name router-interface-name-1 \
              --vpn-tunnel tunnel-name-1 \
              --ip-address google-bgp-ip-1 \
              --mask-length 30 \
              --region region \
          
    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 router-interface-name-1 \
              --peer-ip-address on-prem-bgp-ip-1 \
              --region region \
          

Cloud Router の構成の確認

  1. Cloud Router によって選択された BGP IP アドレスを一覧表示します。既存の Cloud Router に新しいインターフェースを追加した場合、そのインターフェースの BGP IP アドレスは最も大きいインデックス番号付きでリストされます。ピア IP アドレスは、ピア VPN ゲートウェイの構成に使用する BGP IP アドレスです。

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

    2 つの Cloud VPN トンネル(インデックス 0 とインデックス 1)を管理する Cloud Router の予想される出力は次のようになります。ここで

    • google-bgp-ip-0 は、Cloud VPN ゲートウェイ インターフェース 0 のトンネル用の Cloud Router のインターフェースの BGP IP を表します。on-prem-bgp-ip-0 は、ピアの BGP IP を表します。
    • google-bgp-ip-1 は、Cloud VPN ゲートウェイ インターフェース 1 のトンネル用の Cloud Router のインターフェースの BGP IP を表します。on-prem-bgp-ip-1 は、ピアの BGP IP を表します。
        result.bgpPeerStatus[0].ipAddress:     169.254.0.1 [GOOGLE_BGP_IP_0]
        result.bgpPeerStatus[0].name:          bgp-peer-tunnel-a-to-on-prem-if-0
        result.bgpPeerStatus[0].peerIpAddress: 169.254.0.2 [ON_PREM_BGP_IP_0]
        result.bgpPeerStatus[1].ipAddress:     169.254.1.1 [GOOGLE_BGP_IP_1]
        result.bgpPeerStatus[1].name:          bgp-peer-tunnel-a-to-on-prem-if-1
        result.bgpPeerStatus[1].peerIpAddress: 169.254.1.2 [ON_PREM_BGP_IP_1]
        

    次のコマンドを使用して、Cloud Router の構成の完全なリストを取得することもできます。

        gcloud compute routers describe router-name \
            --region region
        

    完全なリストは次の例のようになります。

        bgp:
          advertiseMode: DEFAULT
          asn: 65001
        bgpPeers:
        - interfaceName: if-tunnel-a-to-on-prem-if-0
          ipAddress: 169.254.0.1
          name: bgp-peer-tunnel-a-to-on-prem-if-0
          peerAsn: 65002
          peerIpAddress: 169.254.0.2
        - interfaceName: if-tunnel-a-to-on-prem-if-1
          ipAddress: 169.254.1.1
          name: bgp-peer-tunnel-a-to-on-prem-if-1
          peerAsn: 65004
          peerIpAddress: 169.254.1.2
        creationTimestamp: '2018-10-18T11:58:41.704-07:00'
        id: '4726715617198303502'
        interfaces:
        - ipRange: 169.254.0.1/30
          linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0
          name: if-tunnel-a-to-on-prem-if-0
        - ipRange: 169.254.1.1/30
          linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1
          name: if-tunnel-a-to-on-prem-if-1
          kind: compute#router
          name: router-a
          network: https://www.googleapis.com/compute/v1/projects/project-id/global/networks/network-a
          region: https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1
          selfLink: https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/routers/router-a
        
  2. ゲートウェイの構成を完了するには、構成の完了に進みます。

API

HA VPN ゲートウェイの完全な構成を作成するには、次の API コマンドを使用します。

ステップ 1: vpnGateways.insert メソッドで POST リクエストを行い、HA VPN ゲートウェイを作成します。

     POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpnGateways
     {
       "name": "ha-vpn-gw-a",
       "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/network-a"
     }
    

ステップ 2: routers.insertメソッドで POST リクエストを行い、Cloud Router を作成します。

     POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers
     {
       "name": "router-a",
       "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/network-a"
     }
    

Partner Interconnect に関連付けられた相互接続のアタッチメントの BGP セッションをまだ管理していない場合は、既存の Cloud Router を使用できます。それ以外の場合は、別の Cloud Router を作成します。

ステップ 3: externalVpnGateways.insert メソッドで POST リクエストを行い、外部 VPN ゲートウェイ リソースを作成します。

  • 1 つのインターフェースを持つ外部(ピア)VPN ゲートウェイの場合、以下の例を使用します。ただし、指定するのは redundancyTypeSINGLE_IP_INTERNALLY_REDUNDANT のインターフェースの ID と ipAddress それぞれ 1 つだけです。
  • 1 つの外部 VPN ゲートウェイに 2 つのインターフェース、または 2 つの外部 VPN ゲートウェイにそれぞれ 1 つのインターフェースがある場合、以下の TWO_IPS_REDUNDANCY の例を使用します。
  • Amazon Web Services(AWS)など、4 つの外部 VPN インターフェースを持つ外部 VPN ゲートウェイが 1 つ以上ある場合、以下の例を使用します。ただし、4 つのインターフェース ID のインスタンスと ipAddress を指定し、redundancyTypeFOUR_IPS_REDUNDANCY を使用します。

     POST https://www.googleapis.com/compute/v1/projects/project-id/global/externalVpnGateways
     {
       "name": "my-peer-gateway",
       "interfaces": [
         {
           "id": 0,
           "ipAddress": "192.0.2.1"
         },
         {
           "id": 1,
           "ipAddress": "192.0.2.2"
         }
       ],
       "redundancyType": "TWO_IPS_REDUNDANCY"
     }
    

ステップ 4: vpnTunnels.insert メソッドで POST リクエストを行い、2 つの VPN トンネルを、HA VPN ゲートウェイの各インターフェースに 1 つずつ作成します。

次のコマンドを入力して、最初のトンネルを作成します。

     POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpnTunnels
     {
       "name": "ha-vpn-gw-a-tunnel-0",
       "ikeVersion": 2,
       "peerExternalGateway": "https://www.googleapis.com/compute/v1/projects/project-id/global/external-vpn-gateways/my-peer-gateway",
       "peerExternalGatewayInterface": 0,
       "peerIp": "192.0.2.1",
       "router": "https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers/router-a",
       "sharedSecret": "shared_secret",
       "vpnGateway": "https://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpn-gateways/ha-vpn-gw-a",
       "vpnGatewayInterface": 0
     }
    

2 番目のトンネルを作成するには、次のパラメータを変更してこのコマンドを繰り返します。

  • name
  • peerExternalGatewayInterface
  • peerIp
  • sharedSecret または sharedSecretHash(必要に応じて)
vpnGatewayInterface をもう一方の HA VPN ゲートウェイ インターフェースの値に変更します。この例では、1 に変更します。

ステップ 5: routers.patch メソッドまたは routers.update メソッドで PATCH リクエストまたは UPDATE リクエストを行い、Cloud Router BGP インターフェースを作成します。PATCH は、指定したパラメータのみを更新します。UPDATE は、Cloud Router のすべてのパラメータを更新します。

1 番目の HA VPN ゲートウェイ上の VPN トンネルごとに BGP インターフェースを作成します。2 番目の BGP インターフェースでは、1 番目のトンネルの ipRange と同じの /30 サブネットとは異なる、namelinkedVpnTunnel の名前、ipRange を使用します。2 番目の HA VPN ゲートウェイの VPN トンネルごとに、この手順とコマンドを繰り返します。

     PATCH https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers/{resourceId}
     {
       "interfaces": [
         {
           "name": "if-tunnel-a-to-on-prem-if-0",
           "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
           "ipRange": "169.254.0.1/30"
          }
        ]
     }
    

ステップ 6: routers.insert メソッドで POST リクエストを行い、Cloud Router に VPN トンネル用の BGP ピアを追加します。namepeerAsn 以外のオプションをすべて変更して、このコマンドを他の VPN トンネルに繰り返します。

     POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers
     {
       "name": "router-a",
       "network": "network-a",
       "bgpPeers": [
       {
         "interfaceName": "if-tunnel-a-to-on-prem-if-0",
         "ipAddress": "169.254.0.1",
         "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
         "peerAsn": "65002",
         "peerIpAddress": "169.254.0.2",
         "advertiseMode": "DEFAULT"
        }
      ]
     }
    

ステップ 7: 空のリクエストの本文を使用して、routers.getRouterStatus メソッドで Cloud Router の構成を確認します。

    POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers
    

構成の完了

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

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

次のステップ