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

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

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

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

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

    ピア ゲートウェイ デバイスまたはサービスごとに Google Cloud の外部 VPN ゲートウェイ リソースを作成します。すべてのピア ゲートウェイのシナリオは、Google Cloud においては 1 つの外部ピア VPN リソースとして表現されます。

Cloud VPN の詳細については、次のリソースをご覧ください。

要件

冗長性タイプ

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

外部 VPN ゲートウェイ リソースを構成すると、gcloud コマンドは、インターフェース 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 の値を使用します。

AWS ピア ゲートウェイへの HA VPN を作成する

HA VPN 外部 VPN ゲートウェイをアマゾン ウェブ サービス(AWS)に構成する場合は、トランジット ゲートウェイか、仮想プライベート ゲートウェイを使用できます。等価コスト マルチパス(ECMP)ルーティングをサポートしているのはトランジット ゲートウェイのみです。有効にすると、ECMP はアクティブなトンネル間でトラフィックを均等に分散します。サポートされているトポロジでは、それぞれ 2 つの外部 IP アドレスを持つ 2 つの AWS サイト間 VPN 接続(AB)が必要です。このトポロジでは、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 interface 0 と AWS interface 0
    • HA VPN interface 0 と AWS interface 1
    • HA VPN interface 1 と AWS interface 2
    • HA VPN interface 1 と AWS interface 3

AWS を使用して HA VPN を設定します。

  1. Google Cloud で、必要なリージョンに HA VPN ゲートウェイと Cloud Router を作成します。これにより、ゲートウェイ インターフェースごとに 1 つずつで、2 つの外部 IP アドレスが作成されます。次のステップで使用するために外部 IP アドレスを記録します。
  2. AWS で、次の情報を使用して 2 つの顧客ゲートウェイを作成します。
    • ダイナミック ルーティング オプション
    • Cloud Router の Google ASN
    • Google Cloud HA VPN ゲートウェイの外部 IP アドレス(interfaces 01
  3. 使用している AWS VPN オプションに対応する手順を行います。
    • トランジット ゲートウェイ
      1. 最初の顧客ゲートウェイ(interface 0)のトランジット ゲートウェイ VPN アタッチメントを作成し、ダイナミック ルーティング オプションを使用します。
      2. 2 番目の顧客ゲートウェイ(interface 1)で前の手順を繰り返します。
    • 仮想プライベート ゲートウェイ
      1. 次の情報を使用して、最初の顧客ゲートウェイ(interface 0)のサイト間 VPN 接続を作成します
        • 仮想プライベート ゲートウェイターゲット ゲートウェイ タイプ
        • ダイナミック ルーティング オプション
      2. 2 番目の顧客ゲートウェイ(interface 1)で前の手順を繰り返します。
  4. 作成した両方の接続で AWS 構成ファイルをダウンロードします。ファイルには、事前共有認証キー、外部トンネル IP アドレス、内部トンネル IP アドレスなど、この手順の次のステップで必要な情報が含まれています。
  5. Google Cloud で次の操作を行います。
    1. 前の手順でダウンロードしたファイルからの AWS 外部 IP アドレスを使用して、4 つのインターフェースを持つ新しいピア VPN ゲートウェイを作成します。
    2. 手順 1 で作成した HA VPN ゲートウェイに 4 つの VPN トンネルを作成します。ダウンロードした各 AWS 構成ファイルの情報を使用して、適切なピア VPN ゲートウェイ インターフェースと事前共有鍵によって、HA VPN ゲートウェイ インターフェースを各トンネルに構成します。
    3. ダウンロードした AWS 構成ファイルから BGP IP アドレスを使用して、Cloud Router で BGP セッションを構成します。

Cloud Router を作成する

新しい HA VPN ゲートウェイを構成するときに、新しい Cloud Router を作成するか、既存の Cloud VPN トンネルまたは VLAN アタッチメントですでに使用している Cloud Router を使用できます。ただし、既存の Cloud Router を使用する場合は、アタッチメントの特定の ASN 要件により、この Cloud Router で Partner Interconnect 接続に関連付けられている VLAN アタッチメントの BGP セッションを管理していない必要があります。

始める前に

Google Cloud での動的ルーティングの仕組みを確認します。

ピア VPN ゲートウェイで Border Gateway Protocol(BGP)がサポートされていることを確認します。

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

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

  4. Google Cloud CLI をインストールして初期化します。
  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

  6. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

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

        gcloud config set project PROJECT_ID
        
  1. 次のコマンドを実行して、すでに設定されているプロジェクト ID を表示することもできます。

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

カスタム VPC ネットワークとサブネットを作成する

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

HA VPN ゲートウェイ(プレビュー)で IPv6 を有効にするには、VPC の作成時に IPv6 内部アドレスの割り振りを有効にする必要があります。また、IPv6 内部アドレスを使用するようにサブネットを構成する必要があります。

サブネット内の VM でも IPv6 を構成する必要があります。

VPC サブネットは、内部 IPv6 アドレスを使用するように構成する必要があります。gcloud CLI を使用する場合は、--ipv6-access-type=INTERNAL フラグを使用してサブネットを構成します。Cloud Router は、外部 IPv6 アドレス(--ipv6-access-type=EXTERNAL)を使用するように構成されているサブネットのルートを動的にアドバタイズしません。

VPC ネットワークとサブネットで内部 IPv6 の範囲を使用する方法については、内部 IPv6 の仕様をご覧ください。

このドキュメントの例では、VPC グローバル ダイナミック ルーティング モードも使用しています。このモードは次のように動作します。

  • Cloud Router のすべてのインスタンスは、学習した to on-premises ルートを VPC ネットワーク内のすべてのサブネットに適用します。
  • VPC ネットワーク内のすべてのサブネットへのルートは、オンプレミス ルーターと共有されます。

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

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

HA VPN ゲートウェイを作成する

コンソール

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

HA VPN ゲートウェイを作成するには、次の手順を行います。

  1. Google Cloud Console で、[VPN] ページに移動します。

    [VPN] に移動

  2. ゲートウェイを初めて作成する場合は、[VPN 接続を作成] をクリックします。

  3. [VPN 設定ウィザード] を選択します。

  4. 既存の HA VPN ゲートウェイがある場合は、そのゲートウェイのオプション ボタンを選択します。

  5. [続行] をクリックします。

  6. [VPN ゲートウェイ名] を指定します。

  7. [VPC ネットワーク] で、既存のネットワークまたはデフォルトのネットワークを選択します。

  8. リージョンを選択します。

  9. VPN ゲートウェイのスタックタイプを [IPv4(シングルスタック)] または [IPv4 と IPv6(デュアルスタック)](プレビュー)から選択します。

  10. [作成して続行] をクリックします。

  11. コンソール画面が更新され、ゲートウェイ情報が表示されます。ゲートウェイ インターフェースごとに 2 つの外部 IP アドレスが自動的に割り振られます。今後の構成手順のために、ゲートウェイ構成の詳細をメモします。

gcloud

HA VPN ゲートウェイを作成するには、次のコマンドを実行します。ゲートウェイが作成されると、2 つの外部 IPv4 アドレスが自動的に割り振られます(各ゲートウェイ インターフェースに 1 つ)。

gcloud compute vpn-gateways create GW_NAME \
    --network=NETWORK \
    --region=REGION  \
    --stack-type=IP_STACK

次のように置き換えます。

  • GW_NAME: ゲートウェイの名前
  • NETWORK: Google Cloud ネットワークの名前
  • REGION: ゲートウェイとトンネルを作成する Google Cloud リージョン
  • IP_STACK: 省略可。使用する IP スタック。IPV4_ONLY または IPV4_IPV6プレビュー)のいずれかを指定します。このフラグを指定しないと、デフォルトのスタックタイプが IPV4_ONLY になります。

作成するゲートウェイは、次の出力例のようになります。各ゲートウェイ インターフェースに外部 IPv4 アドレスが自動的に割り当てられます。

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

API

HA VPN ゲートウェイの完全な構成を作成するには、次のセクションの API コマンドを使用します。このセクションで使用されるすべてのフィールド値は、サンプル値です。

HA VPN ゲートウェイを作成するには、vpnGateways.insert メソッドを使用して POST リクエストを行います。

   POST https://compute.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",
     "stackType": "IPV4_IPV6"
   }

stackType フィールドは省略可能です。有効な値は IPV4_IPV6プレビュー)または IPV4_ONLY のみです。stackType を指定しない場合、デフォルトは IPV4_ONLY です。

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

Console

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

ピア VPN ゲートウェイ リソースを作成するには、次の手順を行います。

  1. [VPN の作成] ページの [ピア VPN ゲートウェイ] で、[オンプレミスまたは非 Google Cloud] を選択します。
  2. [ピア VPN ゲートウェイの名前] で既存のピア ゲートウェイを選択するか、[新しいピア VPN ゲートウェイを作成する] をクリックします。

    既存のゲートウェイを選択すると、コンソールは、既存のピア ゲートウェイで構成したピア インターフェースの数に基づいて、構成するトンネルの数を選択します。

    新しいピア ゲートウェイを作成するには、次の手順に沿って操作します。

    1. ピア VPN ゲートウェイの名前を指定します。
    2. [ピア VPN ゲートウェイ インターフェース] の下で、ピア ゲートウェイのインターフェースの種類に応じて、onetwo、または four を選択します。それぞれの種類の例については、トポロジのページをご覧ください。
    3. 各ピア VPN インターフェースのフィールドに、そのインターフェースに使用する外部 IP アドレスを指定します。詳細については、ピア VPN ゲートウェイを構成するをご覧ください。
    4. [作成] をクリックします。

gcloud

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

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

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

  • この種類のピア ゲートウェイでは、外部 VPN ゲートウェイの各インターフェースに 1 つの外部 IP アドレスがあり、各アドレスはいずれかのピア VPN ゲートウェイ デバイスからのものです。

    gcloud compute external-vpn-gateways create PEER_GW_NAME \
       --interfaces 0=PEER_GW_IP_0,1=PEER_GW_IP_1
    

    次のように置き換えます。

    • PEER_GW_NAME: ピア ゲートウェイを表す名前
    • PEER_GW_IP_0: 一方のピア ゲートウェイの外部 IP アドレス
    • PEER_GW_IP_1: もう一方のピア ゲートウェイの外部 IP アドレス

    作成した外部 VPN ゲートウェイ リソースは次の例のようになります。ここで PEER_GW_IP_0PEER_GW_IP_1 はピア ゲートウェイ インターフェースの実際の外部 IP アドレスを示します。

    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 ゲートウェイ リソースを作成する

  • この種類のピア ゲートウェイでは、2 つのインターフェースを持つ単一の外部 VPN ゲートウェイを作成します。

    gcloud compute external-vpn-gateways create PEER_GW_NAME \
       --interfaces 0=PEER_GW_IP_0,1=PEER_GW_IP_1
    

    次のように置き換えます。

    • PEER_GW_NAME: ピア ゲートウェイを表す名前
    • PEER_GW_IP_0: ピア ゲートウェイの一方のインターフェースの外部 IP アドレス
    • PEER_GW_IP_1: ピア ゲートウェイのもう一方のインターフェースの外部 IP アドレス

    作成した外部 VPN ゲートウェイ リソースは次の例のようになります。ここで PEER_GW_IP_0PEER_GW_IP_1 はピア ゲートウェイ インターフェースの実際の外部 IP アドレスを示します。

    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 つの外部 VPN ゲートウェイを作成します。

    gcloud compute external-vpn-gateways create PEER_GW_NAME \
       --interfaces 0=PEER_GW_IP_0
    

    次のように置き換えます。

    • PEER_GW_NAME: ピア ゲートウェイを表す名前
    • PEER_GW_IP_0: ピア ゲートウェイのインターフェースの外部 IP アドレス

    作成した外部 VPN ゲートウェイ リソースは次の例のようになります。ここで PEER_GW_IP_0 はピア ゲートウェイ インターフェースの実際の外部 IP アドレスを示します。

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

API

外部 VPN ゲートウェイ リソースを作成するには、externalVpnGateways.insert メソッドを使用して POST リクエストを行います。

  • 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 のインスタンスを指定して FOUR_IPS_REDUNDANCYredundancyType を使用します。

     POST https://compute.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"
     }
    

Cloud Router の作成

Console

まだ作成していない場合は、[Cloud Router] の下で、次のオプションを指定して Cloud Router を作成します。ルーターが Partner Interconnect 接続に関連付けられた VLAN アタッチメントの BGP セッションをまだ管理していない場合は、既存の Cloud Router を使用できます。

  1. 新しい Cloud Router を作成するには、以下を指定します。

    • 名前
    • 説明(省略可)
    • 新しいルーターの Google ASN

    ネットワーク内の他の場所では使用していない任意のプライベート ASN(645126553442000000004294967294)を使用できます。Google ASN は同じ Cloud Router のすべての BGP セッションで使用され、後からの変更はできません。

  2. 新しいルーターを作成するには、[作成] をクリックします。

gcloud

Cloud Router を作成するには、次のコマンドを実行します。

gcloud compute routers create ROUTER_NAME \
    --region=REGION \
    --network=NETWORK \
    --asn=GOOGLE_ASN

次のように置き換えます。

  • ROUTER_NAME: Cloud VPN ゲートウェイと同じリージョン内の Cloud Router の名前
  • REGION: ゲートウェイとトンネルを作成する Google Cloud リージョン
  • NETWORK: Google Cloud ネットワークの名前
  • GOOGLE_ASN: ピア ネットワークでまだ使用していないプライベート ASN(645126553442000000004294967294)。この Google ASN は同じ Cloud Router のすべての BGP セッションに使用され、後で変更できません。

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

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

API

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

Cloud Router を作成するには、routers.insert メソッドを使用して POST リクエストを行います。

 POST https://compute.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"
 }

VPN トンネルの作成

Console

1 つのインターフェースでピア VPN ゲートウェイ リソースを構成した場合、[VPN の作成] ページの 1 つの VPN トンネル ダイアログで 1 つのトンネルを構成します。99.99% の SLA を達成する必要がある場合は、2 つ目のトンネルを作成する必要があります。

2 つまたは 4 つのインターフェースを持つピア VPN ゲートウェイ リソースを構成した場合、[VPN の作成] ページの下部に表示される関連するダイアログで構成します。

VPN トンネルを作成する手順は次のとおりです。

  1. 該当する場合、[関連付けられている Cloud VPN ゲートウェイ インターフェース] の下で、このトンネルのピア VPN ゲートウェイ インターフェースに関連付ける HA VPN インターフェースと IP アドレスの組み合わせを選択します。
  2. [関連付けられているピア VPN ゲートウェイ インターフェース] の下で、このトンネルと HA VPN インターフェースに関連付けるピア VPN ゲートウェイ インターフェースと IP アドレスの組み合わせを選択します。このインターフェースは実際のピアルーターのインターフェースと一致する必要があります。
    1. トンネルの [名前] を指定します。
    2. [説明](省略可)を指定します。
    3. [IKE バージョン] を指定します。ピアルーターが IKE v2 をサポートしている場合は、デフォルト設定の IKE v2 をおすすめします。IPv6 トラフィック(プレビュー)を許可するには、IKEv2 を選択する必要があります。
    4. 事前共有キー(共有シークレット)を使用して [IKE 事前共有キー] を指定します。このキーは、ピア ゲートウェイに作成するパートナー トンネル用の事前共有キーに対応させる必要があります。ピア VPN ゲートウェイで事前共有キーをまだ構成しておらず、これから生成する場合は、[生成してコピー] をクリックします。事前共有キーは VPN トンネルの作成後に取得できないため、安全な場所に記録してください。
    5. [完了] をクリックします。
    6. [VPN の作成] ページの、残りのトンネル ダイアログでトンネル作成手順を繰り返します。
  3. すべてのトンネルを構成したら、[作成して続行] をクリックします。

gcloud

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

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

  • この場合、1 つの VPN トンネルが外部 VPN ゲートウェイの interface 0 に接続し、もう 1 つの VPN トンネルが外部 VPN ゲートウェイの interface 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
    

    次のように置き換えます。

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

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

    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 ゲートウェイの場合

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

    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
    

    次のように置き換えます。

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

API

HA VPN ゲートウェイの各インターフェースに 1 つずつ、2 つの VPN トンネルを作成するには、vpnTunnels.insert メソッドを使用して POST リクエストを行います。99.99% の稼働時間 SLA を取得するには、HA VPN ゲートウェイの各インターフェースにトンネルを作成する必要があります。

  1. 最初のトンネルを作成するには、次のコマンドを実行します。

       POST https://compute.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/externalVpnGateways/my-peer-gateway",
         "peerExternalGatewayInterface": 0,
         "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/vpnGateways/ha-vpn-gw-a",
         "vpnGatewayInterface": 0
       }
    

    このトンネルに関連付けられた BGP セッションで IPv6 を有効にする場合(プレビュー)は、ikeVersion2 を指定する必要があります。

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

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

BGP セッションの作成

コンソール

BGP セッションを作成する手順は次のとおりです。

  1. BGP セッションを今すぐ構成しない場合は、[後で BGP セッションを構成] をクリックして [まとめとリマインダー] ページを開きます。
  2. BGP セッションを今すぐ構成する場合は、最初の VPN トンネルで [構成] をクリックします。
  3. [BGP セッションの作成] ページで、次の手順を行います。
    1. BGP セッションの [名前] を指定します。
    2. ピア VPN ゲートウェイ用に構成された [ピア ASN] を指定します。
    3. (省略可)[アドバタイズされたルートの優先度] を指定します。
    4. 省略可: BGP セッションで IPv6 アドレス接頭辞の交換を許可する(プレビュー)には、[IPv6 を有効にする] チェックボックスをオンにします。
    5. [Cloud Router の BGP IP] アドレスと [BGP ピア IP] アドレスを指定します。IP アドレスが次の要件を満たしていることを確認します。
      • 各 BGP IP アドレスは、169.254.0.0/16 内に収まる同じ /30 CIDR に属している必要があります。
      • 各 BGP IP アドレスには、/30 CIDR の最初のアドレス(ネットワーク)または最後のアドレス(ブロードキャスト)を使用できません。
      • BGP セッションの各 BGP IP アドレス範囲は、VPC ネットワークのすべてのリージョンの Cloud Router 間で一意でなければなりません。
    6. 省略可: IPv6 を有効にした場合、IPv6 ネクストホップ アドレスは自動または手動で割り振ることができます(プレビュー)。アドレスを手動で割り振るには:
      1. [手動] を選択します。
      2. Cloud Router の IPv6 ネクストホップの IPv6 アドレスを入力します。このアドレスは、Cloud Router によってアドバタイズされる IPv6 ルートのネクストホップ アドレスです。アドレスは、2600:2d00:0:2::/64 または 2600:2d00:0:3::/64 の範囲内でなければなりません。
      3. ピア IPv6 ネクストホップの IPv6 アドレスを入力します。このアドレスは、Cloud Router が BGP ピアから学習した IPv6 ルートのネクストホップ アドレスです。アドレスは、2600:2d00:0:2::/64 または 2600:2d00:0:3::/64 の範囲内でなければなりません。
    7. (省略可)[アドバタイズされたルート] リストをクリックして、カスタムルートを作成します。
    8. [保存して次へ] をクリックします。
  4. ゲートウェイで構成した残りのトンネルに対して前の手順を繰り返します。トンネルごとに、異なる [Cloud Router の BGP IP] アドレスと [BGP ピア IP] アドレスを使用します。
  5. すべての BGP セッションを構成したら、[BGP 構成を保存] をクリックします。

gcloud

以前 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 アドレス。各トンネルは異なるゲートウェイ インターフェースを使用します。
  • MASK_LENGTH: 30。同じ Cloud Router 上の各 BGP セッションで、169.254.0.0/16 ブロックの一意の /30 CIDR を使用する必要があります。
  • TUNNEL_NAME_0TUNNEL_NAME_1: 構成した HA VPN ゲートウェイ インターフェースに関連付けられたトンネル
  • AUTHENTICATION_KEY: MD5 認証に使用する秘密鍵。このオプション機能の詳細については、MD5 認証の使用プレビュー)をご覧ください。

IPv4 BGP アドレスを割り当てる

BGP インターフェースと BGP ピアを構成する自動または手動の構成方法を選択します。これらのコマンドでは、BGP で IPv6 が有効になりません。IPv6 を有効にする場合は、IPv6 ネクストホップ アドレスの割り当てに記載されているコマンドを実行します。

自動

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
    

    MD5 認証を使用する場合は、gcloud beta コマンドを使用して、--md5-authentication-key フラグを追加します。このフィールドを使用して秘密鍵を識別します。

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION
       --md5-authentication-key=AUTHENTICATION_KEY
    

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

    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
    

    MD5 認証を使用する場合は、gcloud beta コマンドを使用して、--md5-authentication-key フラグを追加します。このフィールドを使用して秘密鍵を識別します。

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION
     --md5-authentication-key=AUTHENTICATION_KEY
    

手動

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

169.254.0.0/16 の範囲にある /30 ブロック内で、VPN トンネルごとにリンクローカル BGP IP アドレスのペアを決定します(合計 4 アドレス)。指定する BGP IP アドレスは、VPC ネットワークのすべてのリージョンの Cloud Router 間で一意にする必要があります。

トンネルごとに、いずれかの BGP IP アドレスを Cloud Router に割り当て、もう一方の BGP IP アドレスをピア VPN ゲートウェイに割り当てます。ピア BGP IP アドレスを使用するように、ピア VPN デバイスを構成します。

次のコマンドで、以下のように置き換えます。

  • GOOGLE_BGP_IP_0: Cloud VPN ゲートウェイ interface 0 上のトンネルの Cloud Router インターフェースの BGP IP アドレス。PEER_BGP_IP_0 はピアの BGP IP アドレスを表します。
  • GOOGLE_BGP_IP_1: Cloud VPN ゲートウェイ interface 1 上のトンネルの Cloud Router インターフェースの BGP IP アドレス。PEER_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=PEER_BGP_IP_0 \
     --region=REGION
    

    MD5 認証を使用する場合は、gcloud beta コマンドを使用して、--md5-authentication-key フラグを追加します。このフィールドを使用して秘密鍵を識別します。

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
      --peer-name=PEER_NAME \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_0 \
      --peer-ip-address=PEER_BGP_IP_0 \
      --region=REGION
      --md5-authentication-key=AUTHENTICATION_KEY
    

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

    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=PEER_BGP_IP_1 \
     --region=REGION
    
    MD5 認証を使用する場合は、「gcloud beta」コマンドを使用して「--md5-authentication-key」フラグを追加します。このフィールドを使用して秘密鍵を識別します。
    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
      --peer-name=PEER_NAME \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_0 \
      --peer-ip-address=PEER_BGP_IP_0 \
      --region=REGION
      --md5-authentication-key=AUTHENTICATION_KEY
    

IPv6 ネクストホップ アドレスの割り当て

このセクションのコマンドは、IPv4 と IPv6 の両方のトラフィックを交換する VPN トンネルを使用する場合にのみ使用します(プレビュー)。トンネルの BGP セッションで IPv6 を有効にする予定がない場合は、IPv4 BGP アドレスの割り当てに記載されているコマンドを使用します。

IPv6 トラフィックを有効にする場合は、BGP ピアのネクストホップ IPv6 アドレスを自動的に構成することも、手動で構成することもできます。

自動

IPv6 トラフィックを許可する BGP セッションを作成すると、Google Cloud は自動的に IPv6 のネクストホップ アドレスを割り当てることができます。Google Cloud は、2600:2d00:0:2::/64 または 2600:2d00:0:3::/64 の範囲から未使用のアドレスを割り当てます。

この構成は、Cloud Router と BGP ピア IPv4 アドレスの自動構成と手動構成のどちらを選択するかに依存しません。次のコマンドでは自動構成を使用します。ただし、IPv4 BGP アドレスの割り当てで説明しているように、--ip-address フラグと --peer-ip-address フラグを使用して BGP IP アドレスを割り当てることもできます。

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

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

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --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
       --enable-ipv6
    

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

    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 \
     --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
     --enable-ipv6
    

手動

IPv6 トラフィックを許可する BGP セッションを作成する場合、Cloud Router と BGP ピアの両方に IPv6 ネクストホップ アドレスを手動で構成できます。

この構成は、Cloud Router と BGP ピアの IPv4 アドレスの自動構成と手動構成のどちらを選択するかに依存しません。

VPN トンネルごとに、IPv6 ネクストホップ アドレスのペアを決定します。指定する IPv6 ネクストホップ アドレスは、VPC ネットワークのすべてのリージョンのすべての Cloud Router 間で一意にする必要があり、Google によって事前に割り振られた内部 IPv6 範囲(2600:2d00:0:2::/64 または 2600:2d00:0:3::/64)から選択する必要があります。

BGP IPv6 ネクストホップ アドレスを手動で割り当てる手順は、次のとおりです。

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

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

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --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 に置き換えます。
    • IPV6_NEXTHOP_ADDRESS: Cloud Router によってアドバタイズされる IPv6 ルートのネクストホップ アドレス。アドレスは 2600:2d00:0:2::/64 または 2600:2d00:0:3::/64 の範囲内になければなりません。
    • PEER_IPV6_NEXTHOP_ADDRESS: BGP ピアから Cloud Router が学習する IPv6 ルートのネクストホップ アドレス。アドレスは 2600:2d00:0:2::/64 または 2600:2d00:0:3::/64 の範囲内になければなりません。
gcloud compute routers add-bgp-peer ROUTER_NAME \
    --peer-name=PEER_NAME \
    --peer-asn=PEER_ASN \
    --interface=ROUTER_INTERFACE_NAME_0 \
    --region=REGION
    --enable-ipv6
    --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \
    --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS

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

   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 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --region=REGION
    
  2. 2 番目のトンネルのインターフェースに BGP ピアを追加します。

    以下のコマンドで、次のように置き換えます。

    • PEER_NAME は、ピア VPN インターフェースの名前に置き換えます。
    • PEER_ASN は、ピア VPN ゲートウェイ用に構成された ASN に置き換えます。
    • IPV6_NEXTHOP_ADDRESS: Cloud Router によってアドバタイズされる IPv6 ルートのネクストホップ アドレス
    • PEER_IPV6_NEXTHOP_ADDRESS: BGP ピアから Cloud Router が学習した IPv6 ルートのネクストホップ アドレス
    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION
     --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \
     --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS
    

API

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

    1 番目の HA VPN ゲートウェイ上の VPN トンネルごとに BGP インターフェースを作成します。2 番目の BGP インターフェースでは、1 番目のトンネルの ipRange と同じ /30 サブネットとは異なる、namelinkedVpnTunnel の名前、ipRange を使用します。BGP セッションの各 BGP IP アドレス範囲は、VPC ネットワークのすべてのリージョンの Cloud Router 間で一意でなければなりません。

    2 番目の HA VPN ゲートウェイの VPN トンネルごとに、この手順とコマンドを繰り返します。

    PATCH https://compute.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"
        }
      ]
    }
    
  2. VPN トンネルの Cloud Router に BGP ピアを追加するには、routers.insert メソッドを使用して POST リクエストを行います。namepeerAsn 以外のオプションをすべて変更して、このコマンドを他の VPN トンネルに繰り返します。

    次に例を示します。

    POST https://compute.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"
      }
    ]
    }
    

    以下に、IPv6 を有効にして IPv6 ネクストホップ アドレスを手動で構成した BGP ピアの追加の例を示します(プレビュー)。ipv6NexthopAddresspeerIpv6NexthopAddress を省略すると、IPv6 ネクストホップ アドレスが自動的に割り当てられます。

    POST https://compute.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",
       "enableIpv6": "true"
       "ipv6NexthopAddress: "2600:2d00::0:2::1"
       "peerIpv6NexthopAddress: "2600:2d00::0:2::2"
      }
    ]
    }
    

    MD5 認証(プレビュー)を使用するようにセッションを構成する場合、ベータ版 API を使用し、リクエストにいくつかの追加事項を含める必要があります。認証鍵を含める必要があります。つまり、鍵と鍵の名前の両方を指定する必要があります。また、BGP ピアリング セッションの作成時に名前で鍵を参照する必要があります。次に例を示します。

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "md5AuthenticationKeys": [
      {
       "name": "bgppeer-1-key",
       "key": "secret_key_value"
       }
      ],
    }
    {
     "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",
       "md5AuthenticationKeyName": "bgppeer-1-key"
      }
    ]
    }
    

構成を確認する

コンソール

構成を確認するには、[まとめとリマインダー] ページに移動します。

  1. このページの [まとめ] セクションには、HA VPN ゲートウェイとピア VPN ゲートウェイのプロファイルに関する情報が一覧表示されます。VPN トンネルごとに、VPN トンネルのステータスBGP セッション名BGP セッションのステータス、MED 値(アドバタイズされたルート優先度)が表示されます。
  2. このページの [リマインダー] セクションには、Cloud VPN とピア VPN 間の完全な VPN 接続を確立するために必要な手順が一覧表示されます。
  3. ピア VPN デバイスの構成テンプレートをダウンロードする場合は、[構成のダウンロード] をクリックします。テンプレートの選択方法とサポートされているベンダーのリストを表示する手順については、ピア VPN 構成テンプレートをダウンロードするをご覧ください。後で [ピア VPN ゲートウェイ] ページに移動して構成テンプレートをダウンロードすることもできます。
  4. このページの情報を確認したら、[OK] をクリックします。

gcloud

Cloud Router の構成を確認する手順は次のとおりです。

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

    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 ゲートウェイ interface 0 上のトンネルの Cloud Router インターフェースの BGP IP アドレスを表します。PEER_BGP_IP_0 はピアの BGP IP アドレスを表します。
    • GOOGLE_BGP_IP_1 は Cloud VPN ゲートウェイ interface 1 上のトンネルの Cloud Router インターフェースの BGP IP アドレスを表します。PEER_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 PEER_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 PEER_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
    

API

Cloud Router の構成を確認するには、routers.getRouterStatus メソッドを使用して GET リクエストを作成します。リクエストの本文は空にします。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers

シングル トンネル ゲートウェイにトンネルを作成する

Console

99.99% の稼働時間の SLA を実現するには、HA VPN ゲートウェイの各 HA VPN インターフェースにトンネルを構成します。

次のような場合は 2 つ目のトンネルを構成します。

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

2 つ目のトンネルを構成するには、HA VPN ゲートウェイからピア VPN ゲートウェイへのトンネルを追加するの手順を行います。

アドバタイズされたルートの基本優先度を設定する(省略可)

作成する BGP セッションでは、各 Cloud Router がピア ネットワークにルートをアドバタイズできます。アドバタイズには変更されていない基本優先度が使用されます。

Google Cloud 側とピア側からの 2 つの VPN トンネルのアドバタイズされたルート優先度が一致するアクティブ / アクティブ ルーティング構成では、ピア VPN への HA VPN ゲートウェイとトンネルペアの作成に記載されている構成を使用します。Google Cloud から両方の BGP ピアに同じアドバタイズされたルート優先度を構成するには、Google Cloud 側でアドバタイズされたルート優先度を省略します。

アクティブ / パッシブ構成を作成するには、2 つの HA VPN トンネルに対して、異なるアドバタイズされたルートの優先度を構成します。一方のルート優先度が、もう一方よりも高くなければなりません。例:

  • BGP session1/tunnel1、ルート優先度 = 10
  • BGP session2/tunnel2、ルート優先度 = 20

アドバタイズされたルートの基本優先度の詳細については、アドバタイズされた接頭辞と優先度をご覧ください。

アドバタイズされるルートを、カスタム アドバタイズを使用して指定することもできます。

  • --advertisement-mode=CUSTOM フラグ(gcloud)または advertiseMode: custom フラグ(API)を追加します。
  • --set-advertisement-ranges フラグ(gcloud)または advertisedIpRanges フラグ(API)を使用して、IP アドレス範囲を指定します。

構成の完了

新しい Cloud VPN ゲートウェイとそれに関連付けられた VPN トンネルを使用するには、次の操作を行います。

  1. ピア VPN ゲートウェイを設定し、対応するトンネルを構成します。手順については、以下をご覧ください。
  2. 必要に応じて、Google Cloud とピア ネットワークにファイアウォール ルールを構成します
  3. VPN トンネルのステータスを確認します。この手順は、HA VPN ゲートウェイの高可用性構成の確認を含みます。

ピア VPN ゲートウェイの IP アドレスを制限する組織のポリシー制約を適用する

Google Cloud 組織のポリシーの制約を作成し、Classic VPN または HA VPN のトンネルを介してピア VPN ゲートウェイとの通信が許可または拒否される IP アドレス群を定義できます。この制約には、このようなピアの IP アドレスの許可リストまたは拒否リストが含まれます。この許可リストまたは拒否リストは、制約適用後に作成される Cloud VPN トンネルに対し有効になります。詳細については、Cloud VPN トンネルを経由したピア IP アドレスの制限をご覧ください。

組織のポリシーを作成して組織、フォルダ、またはプロジェクトに関連付けるには、次のセクションの例を使用し、制約の使用の手順を行います。

必要な権限

組織レベルまたはプロジェクト レベルでピア IP の制約を設定するには、まず組織内で組織のポリシー管理者のロールroles/orgpolicy.policyAdmin)を付与してもらう必要があります。

特定のピア IP アドレスからの接続を制限する

Cloud VPN トンネル経由で特定のピア IP アドレスのみを許可するには、次の手順を行います。

  1. 次のコマンドを実行して、組織 ID を検索します。
    gcloud organizations list

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

          DISPLAY NAME             ID
          example-organization     29252605212
        
  2. 次の例のように、ポリシーを定義する JSON ファイルを作成します。

         {
           "constraint": "constraints/compute.restrictVpnPeersIPs",
           "listPolicy": {
             "allowedValues": [
               "100.1.1.1",
             ],
           }
         }
       
  3. Resource Manager の gcloud コマンド set-policy を使用して組織のポリシーを設定します。このとき、JSON ファイルを渡し、前のステップで確認した ORGANIZATION_ID を使用します。

任意のピア IP アドレスからの接続を制限する

新しい Cloud VPN トンネルの作成を禁止するには、この制約の例の手順を行います。

  1. 組織 ID、またはポリシーを設定するリソース階層内のノードの ID を調べます。
  2. 下の例のような JSON ファイルを作成します。

        {
          "constraint": "constraints/compute.restrictVpnPeersIPs",
          "listPolicy": {
            "allValues": "DENY"
          }
        }
    
  3. 特定のピア IP アドレスを制限するために使用するのと同じコマンドを入力して、JSON ファイルを渡します。

次のステップ

  • 高可用性と高スループットのシナリオ、または複数のサブネット シナリオを使用する。高度な構成をご覧ください。
  • Cloud VPN の使用時に発生する可能性のある一般的な問題を解決する。トラブルシューティングをご覧ください。