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 の種類を選択する方法に関する詳細は、ネットワーク接続プロダクトの選択をご覧ください。

Cloud VPN を設定する前に考慮すべきベスト プラクティスについては、Cloud VPN のベスト プラクティスをご覧ください。

要件

一般的な要件とガイドライン

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

冗長性タイプ

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 セッションを構成します。

Cloud Router の作成

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

始める前に

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

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

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

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

    [プロジェクトの選択] ページに移動

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

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

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

カスタム 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] アドレスを指定します。IP アドレスが次の要件を満たしていることを確認します。
      • 各 BGP IP アドレスは、169.254.0.0/16 内に収まる同じ /30 CIDR に属している必要があります。
      • 各 BGP IP アドレスには、/30 CIDR の最初のアドレス(ネットワーク)または最後のアドレス(ブロードキャスト)を使用できません。
      • BGP セッションの各 BGP IP アドレス範囲は、VPC ネットワークのすべてのリージョンの Cloud Router 間で一意でなければなりません。
    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 ゲートウェイの各インターフェースに 1 つの外部 IP アドレスがあり、各アドレスはいずれかのピア 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_IF0PEER_EXT_GW_IF1 を、外部ピア ゲートウェイで以前に構成したインターフェース番号に置き換えます。
    • IKE_VERS1(IKEv1 の場合)または 2(IKEv2 の場合)に置き換えます。可能であれば、IKE バージョンは IKEv2 を使用してください。ピア ゲートウェイで IKEv1 を使用する必要がある場合、--ike-version 2 を --ike-version 1 に置き換えます。
    • SHARED_SECRET を共有シークレットに置き換えます。これは、ピア ゲートウェイで作成するパートナー トンネル用の共有シークレットに対応する必要があります。推奨事項については、強力な事前共有キーの生成をご覧ください。
    • INT_NUM_0 を、以前に作成した HA VPN ゲートウェイの最初のインターフェースの番号 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 ゲートウェイの最初のインターフェースの番号 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 アドレスは、VPC ネットワークのすべてのリージョンの Cloud Router 間で一意にする必要があります。

      トンネルごとに、いずれかの 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://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"
 }

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

 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"
 }

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://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"
 }

ステップ 4: vpnTunnels.insert メソッドで POST リクエストを行い、2 つの VPN トンネルを、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/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 を使用します。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"
      }
    ]
 }

ステップ 6: routers.insert メソッドで POST リクエストを行い、Cloud Router に VPN トンネル用の BGP ピアを追加します。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"
    }
  ]
 }

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

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

構成の完了

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

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

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

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

必要な権限

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

制約の設定方法

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

特定のピア IP アドレスから Cloud VPN トンネルを経由する接続の制限

特定のピア IP アドレスのみを許可するには、次の手順を行います。

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

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

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

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

ピア IP から Cloud VPN トンネルを経由する接続の制限

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

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

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