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

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

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

始める前に

  • GCP での動的ルーティングの仕組みを確認します。
  • 使用するオンプレミス VPN ゲートウェイで BGP がサポートされていることを確認します。

必要な権限

プロジェクト所有者、編集者、ネットワーク管理者の役割を持つ IAM メンバーが、新しい Cloud VPN ゲートウェイとトンネルを作成できます。

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

コンソール


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

gcloud


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

  • [PROJECT_ID] はプロジェクトの ID に置き換えます。
  • [NETWORK] は GCP ネットワークの名前に置き換えます。
  • [REGION] は、ゲートウェイとトンネルを作成する GCP リージョンに置き換えます。
  • [GW_NAME] はゲートウェイの名前に置き換えます。
  • [GW_IP_NAME] は、ゲートウェイによって使用される外部 IP の名前に置き換えます。

GCP ゲートウェイを作成するには、次に示す一連のコマンドを使用します。

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

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

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

      gcloud compute addresses create [GW_IP_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
    3. IP アドレスをメモして、オンプレミス VPN ゲートウェイの構成時に使用できるようにします。

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

       gcloud compute forwarding-rules create fr-[GW_NAME]-esp \
           --ip-protocol ESP \
           --address [GW_IP_NAME] \
           --target-vpn-gateway [GW_NAME] \
           --region [REGION] \
           --project [PROJECT_ID]
      
      gcloud compute forwarding-rules create fr-[GW_NAME]-udp500 \
          --ip-protocol UDP \
          --ports 500 \
          --address [GW_IP_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
      gcloud compute forwarding-rules create fr-[GW_NAME]-udp4500 \
          --ip-protocol UDP \
          --ports 4500 \
          --address [GW_IP_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
  2. Cloud Router をまだ作成していない場合や、Cloud Router を新たに作成する場合は、次のコマンドを使用します。[ROUTER_NAME] は Cloud Router の名前に置き換え、[GOOGLE_ASN]プライベート ASN(64512~65534、4200000000~4294967294)に置き換えます。この Google ASN は同じ Cloud Router 上のすべての BGP セッションに使用され、後で変更できません。

      gcloud compute routers create [ROUTER_NAME] \
      --asn [GOOGLE_ASN] \
      --network [NETWORK] \
      --region [REGION] \
      --project [PROJECT_ID]
    
  3. 詳細を次のように指定して Cloud VPN トンネルを作成します。

    • [TUNNEL_NAME] はトンネルの名前に置き換えます。
    • [ON_PREM_IP] はオンプレミス VPN ゲートウェイの外部 IP アドレスに置き換えます。
    • [IKE_VERS]1(IKEv1 の場合)または 2(IKEv2 の場合)に置き換えます。
    • [SHARED_SECRET] は共有シークレットに置き換えます。Cloud VPN トンネルの共有シークレットは、オンプレミス VPN ゲートウェイ上で対応するトンネルを構成する場合に使用するものと同じでなければなりません。この手順に従うと、暗号的に強い共有シークレットを生成できます。
    • [ROUTER_NAME] は、Cloud VPN トンネルのルートの管理に使用する Cloud Router の名前に置き換えます。Cloud Router はトンネルを作成する前に作成しておきます。

      gcloud compute vpn-tunnels create [TUNNEL_NAME] \
          --peer-address [ON_PREM_IP] \
          --ike-version [IKE_VERS] \
          --shared-secret [SHARED_SECRET] \
          --router [ROUTER_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
  4. インターフェースと BGP ピアを作成して、Cloud Router の BGP セッションを構成します。次のいずれかを行います。

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

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

        gcloud compute routers add-interface [ROUTER_NAME] \
            --interface-name [INTERFACE_NAME] \
            --vpn-tunnel [TUNNEL_NAME] \
            --region [REGION] \
            --project [PROJECT_ID]
        
      2. インターフェースに BGP ピアを追加します。[PEER_NAME] はこのピアの名前に置き換え、[PEER_ASN] はオンプレミス VPN ゲートウェイ用に構成された ASN に置き換えます。

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

        gcloud compute routers get-status [ROUTER_NAME] \
             --region [REGION] \
             --project [PROJECT_ID] \
             --format='flattened(result.bgpPeerStatus[].ipAddress, \
             result.bgpPeerStatus[].peerIpAddress)'
        

        Cloud Router が単一の Cloud VPN トンネル(インデックス 0)を管理している場合、次のような出力が表示されます。この場合、[GOOGLE_BGP_IP] は Cloud Router のインターフェースの BGP IP を表し、[ON_PREM_BGP_IP] はそのオンプレミス ピアの BGP IP を表します。

        result.bgpPeerStatus[0].ipAddress:     [GOOGLE_BGP_IP]
        result.bgpPeerStatus[0].peerIpAddress: [ON_PREM_BGP_IP]
        
    • GCP BGP インターフェースとピアに関連付ける BGP IP アドレスを手動で割り当てる場合:

      1. 169.254.0.0/16 の範囲にある /30 ブロック内で、リンクローカル BGP IP アドレスを 2 つ決定します。この BGP IP アドレスの 1 つを、次のコマンドの [GOOGLE_BGP_IP] に指定して Cloud Router に割り当てます。もう 1 つの BGP IP アドレスはオンプレミス VPN ゲートウェイに使用します。このアドレスを使用するようにデバイスを構成し、この後の後半のコマンドにある [ON_PREM_BGP_IP] をこのアドレスに置き換えます。

      2. Cloud Router に新しいインターフェースを追加します。このインターフェースの名前を [INTERFACE_NAME] に指定します。

        gcloud compute routers add-interface [ROUTER_NAME] \
            --interface-name [INTERFACE_NAME] \
            --vpn-tunnel [TUNNEL_NAME] \
            --ip-address [GOOGLE_BGP_IP] \
            --mask-length 30 \
            --region [REGION] \
            --project [PROJECT_ID]
        
      3. インターフェースに BGP ピアを追加します。[PEER_NAME] はこのピアの名前に置き換え、[PEER_ASN] はオンプレミス VPN ゲートウェイ用に構成された ASN に置き換えます。

        gcloud compute routers add-bgp-peer [ROUTER_NAME] \
            --peer-name [PEER_NAME] \
            --peer-asn [PEER_ASN] \
            --interface [INTERFACE_NAME] \
            --peer-ip-address [ON_PREM_BGP_IP] \
            --region [REGION] \
            --project [PROJECT_ID]
        

フォローアップ手順

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

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

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...