Router アプライアンス インスタンスの作成

Router アプライアンスは、Google Cloud のネットワーク接続管理のためのハブアンドスポーク モデルである、Network Connectivity Center でサポートされている複数のスポークタイプの 1 つです。このページでは、Router アプライアンス インスタンスを作成する方法について説明します。

Router アプライアンスの詳細については、Router アプライアンスの概要をご覧ください。

Network Connectivity Center の詳細については、Network Connectivity Center の概要をご覧ください。

構成方法

Router アプライアンスの Compute Engine 仮想マシン インスタンスは、ご自身で用意したイメージか、任意のベンダーから提供されるイメージを使用して、Google Cloud Marketplace を利用する(推奨)か手動で構成できます。

Cloud Marketplace を介した Router アプライアンスの構成

仮想マシン(VM)インスタンスとそのイメージのインストールは、Cloud Marketplace でベンダーを選択して行うことをおすすめします。

Cloud Marketplace に移動

API に関する注意事項

手動での Router アプライアンスの構成

ご自身で用意したイメージ(quagga など)またはベンダーから提供されたイメージを使用して、Router アプライアンス インスタンスを手動でデプロイするには、このページの手順に沿って操作します。

Router アプライアンスの詳細については、次のステップをご覧ください。

構成の例:

このページで使用するサンプル構成は、Compute Engine VM インスタンスを使用する Router アプライアンスの構成を示すものです。等価コスト マルチパス(ECMP)ルーティングにより、トラフィック負荷が、複数の Router アプライアンス インスタンスに分散されます。また、BGP により、Virtual Private Cloud(VPC)ネットワークやオンプレミス ネットワークとのネットワーク ルートが分散されます。オンプレミスのそれぞれのネットワークは、お客様のオンプレミス機器(CPE)経由でルーター アプライアンス インスタンスに接続しています。

この構成では、同じ VPC サブネットワーク(サブネット)の 3 つの VM を使用しますが、各 VM は異なるゾーンにあります。各 Router アプライアンス インスタンスは、Cloud Router の各インターフェースと BGP セッションを確立します。

この構成の代わりに、異なるゾーンに 2 つ以上の VM を作成することで、Router アプライアンス インスタンスを冗長化することもできます。そうした別の構成では、各 VM は冗長構成の Cloud Router インターフェースのペアとピアリングする必要があります。この構成については、このページでは説明しません。ゾーンの詳細については、リージョンとゾーンをご覧ください。

Router アプライアンスの BGP セッションの作成
Router アプライアンスの BGP セッションの作成(クリックして拡大)

始める前に

Router アプライアンスを簡単に構成できるようにするため、次の手順を行います。

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

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

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

  4. Cloud SDK をインストールして初期化します。
  1. gcloud コマンドライン ツールを使用している場合は、プロジェクト ID を次のコマンドで設定します。このページの gcloud の説明では、コマンド発行前にプロジェクト ID を設定済みであることを前提としています。したがって、コマンドには --project オプションは含まれません。
        gcloud config set project PROJECT_ID
        
  2. すでに設定されているプロジェクト ID を使用することもできます。
        gcloud config list --format='text(core.project)'
        

VM インターフェースとルーティング

VM インターフェースをルーティングに使用する方法については、Router アプライアンスの概要に記載されているサイト間のデータ転送のユースケースをご覧ください。このページのユースケースでは、実施例が示されています。

IP アドレスと Router アプライアンス インスタンス

Router アプライアンス インスタンスから Cloud Router へのピアリングを確立する場合、Cloud Router とピアリングする Router アプライアンス インターフェースには、RFC 1918 の内部 IP アドレスのみがサポートされています。

VM で IP アドレスを表示するには、次のドキュメントをご覧ください。

IP アドレスタイプの定義と詳細については、IP アドレスをご覧ください。

静的内部 IP アドレスの予約(推奨)

再起動時にアドレスが変更されないようにするため、Router アプライアンス インスタンスには静的内部 IP アドレスを割り当てることをおすすめします。そうすることで、Router アプライアンス インスタンスのピア IP アドレスが Cloud Router に構成されると、そのアドレスは固定され、BGP ピアリングの失敗がなくなります。

あるいは、IP アドレス オプションを指定せずに VM を作成することもできます。その場合、VM はエフェメラル内部 IP アドレスを持ちます。この IP アドレスは、後で静的アドレスに変更できます。

いずれかの方法で IP アドレスを割り当てる手順については、静的 IP アドレスの予約をご覧ください。

BGP ピアリングの IP アドレス

Router アプライアンス インスタンスは、内部 IP アドレスを使用して Cloud Router とピアリングします。そのインスタンスでは、BGP ピアリングに 169.254.x.x アドレスを使用しません。

また、Cloud Router においても、Router アプライアンス インスタンスに接続するため、インターフェースごとに 1 つずつ、合わせて 2 つの RFC 1918 内部 IP アドレスを使用します。これらの IP アドレスは、Router アプライアンス インスタンスと Cloud Router の両方を含むサブネットから、手動または自動で割り当てられます。

VPC リソースの作成

以降のセクションでは、VPC ネットワークとサブネットの作成方法を説明します。

VPC ネットワークの作成

VPC ネットワークがない場合は、作成してください。次の手順では、network-a という名前のカスタムモードの VPC ネットワークを作成します。

VPC ネットワークの作成の詳細については、ネットワークの作成をご覧ください。

gcloud

カスタム VPC ネットワークを作成するには、次のコマンドを入力します。

  gcloud compute networks create NAME \
      --subnet-mode custom \
      --bgp-routing-mode global

NAME は、VPC ネットワークの名前に置き換えます(network-a など)。

API

Compute Engine API を使用してカスタム VPC ネットワークを作成するには、VPC ネットワークの使用をご覧ください。

サブネットの作成

network-a にサブネットを 1 つ作成し、Router アプライアンス インスタンスとして使用する VM インスタンスを含めます。

gcloud

VPC サブネットを作成するには、次のコマンドを入力します。

  gcloud compute networks subnets create NAME \
      --network=NETWORK \
      --region=REGION \
      --range=RANGE

以下を置き換えます。

  • NAME: Router アプライアンス VM を含むサブネットの名前(例: subnet-a-1
  • NETWORK: サブネットを含むネットワーク(例: network-a
  • REGION: サブネットを含むリージョン(例: us-west1
  • RANGE: CIDR 表記のサブネットの IP 範囲(例: 10.0.1.0/24

API

Compute Engine API を使用して VPC サブネットを作成するには、VPC ネットワークの使用をご覧ください。

Router アプライアンス VM の作成

Router アプライアンス インスタンスとして機能する VM を作成します。サンプル構成では、router-app-arouter-app-brouter-app-c の 3 つの VM を使用しています。

Router アプライアンスの VM を作成する際には、VM にイメージを追加する必要があります。このイメージには、ユーザーが作成したイメージか、任意のベンダーのカスタム イメージが使用できます。ベンダーのイメージを使用するには、ベンダーのドキュメントをご覧ください。

イメージの指定の詳細については、次のリソースをご覧ください。

VM 作成の詳細については、VM インスタンスの作成と起動をご覧ください。

このセクションの例では、Router アプライアンス インスタンス用に予約済みの IP アドレスがあることを前提としています。詳細については、Router アプライアンスの IP アドレスをご覧ください。

gcloud

このサンプル構成で使用される 3 つの Router アプライアンス VM を作成するには、次のコマンドを 3 回実行します。INSTANCE_NAME は、Router アプライアンス インスタンスとして機能する VM の名前に置き換えます。

次の例では、あらかじめ予約済みの静的内部 IP アドレスと静的外部 IP アドレスを VM に割り当てています。また、ベンダーから提供された VM のイメージを含むプロジェクトとイメージの名前も指定します。

  gcloud compute instances create INSTANCE_NAME \
      --project=PROJECT \
      --zone=ZONE \
      --machine-type=MACHINE_TYPE \
      --network-tier=NETWORK_TIER \
      --network-interface=[subnet=SUBNET,private-network-ip=INTERNAL_IP_ADDRESS] \
      --can-ip-forward \
      --image-project=IMAGE_PROJECT \
      --image=IMAGE

以下を置き換えます。

  • INSTANCE_NAME: Router アプライアンス インスタンスとして機能する VM の名前(例: router-app-arouter-app-brouter-app-c)。
  • PROJECT: Router アプライアンス VM を含むプロジェクトの名前(例: my-project
  • ZONE: VM が配置されている Google Cloud ゾーン(例: us-west1-a
  • MACHINE_TYPE: VM に使用するマシンタイプ リソース(例: n1-standard-2
  • NETWORK_TIER: Router アプライアンス VM を作成する際は、ネットワーク階層premium に設定します。こうすることで、トラフィックが使用する Google ネットワークの範囲が最大化されます。
  • SUBNET: VM のプライマリ ネットワーク インターフェースに割り当てられるサブネット(例: subnet-a-1
  • INTERNAL_IP_ADDRESS: Cloud Router に接続する VM インターフェースに割り当てられる RFC 1918 内部 IP アドレス(例: 10.0.1.10
  • IMAGE_PROJECT: image フィールドで指定されたイメージを含むプロジェクトの名前(例: debian-cloud
  • IMAGE: インストールするイメージの名前(例: debian-10-buster-v20210217

API

このサンプル構成で使用される 3 つの Router アプライアンス VM を作成するには、compute.instances.insert メソッドを使用して各 VM を作成します。

他の作成方法については、VM インスタンスの作成と起動をご覧ください。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances
 {
   "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
   "name": "INSTANCE_NAME",
   "canIpForward": "true",
   "networkInterfaces": [{
     "subnetwork": "regions/REGION/subnetworks/SUBNET",
     "networkIP": "INTERNAL_IP_ADDRESS",
     "accessConfigs": [{
         "networkTier": "NETWORK_TIER,
       }]
     }],
    "disks": [{
      "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
   }]
 }

以下を置き換えます。

  • PROJECT: Router アプライアンス VM を含むプロジェクトの名前(例: my-project
  • ZONE: VM が配置されている Google Cloud ゾーン(例: us-west1-a
  • MACHINE_TYPE: VM に使用するマシンタイプ リソース(例: zones/us-west1-a/machineTypes/n1-standard-2
  • INSTANCE_NAME: VM の名前(例: router-app-arouter-app-brouter-app-c
  • REGION: VM を含むリージョン(例: us-west1
  • SUBNET: VM のプライマリ ネットワーク インターフェースに割り当てられるサブネット(例: regions/us-west1/subnetworks/subnet-a-1
  • INTERNAL_IP_ADDRESS: VM に割り当てられ、Cloud Router に接続する VM インターフェースのアドレスを構成する RFC 1918 内部 IP アドレス(例: 10.0.1.10
  • NETWORK_TIER: Router アプライアンス VM を作成する際は、ネットワーク階層premium に設定します。こうすることで、トラフィックが使用する Google ネットワークの範囲が最大化されます。
  • IMAGE_PROJECT: VM の作成に指定するイメージを含むプロジェクトの名前(例: debian-cloud
  • IMAGE: VM の作成に使用するイメージの名前(例: debian-10-buster-v20210217

BGP を許可するファイアウォール ルールの作成

TCP ポート 179network-a への BGP トラフィックを許可するファイアウォール ルールを作成します。

ファイアウォール コマンドの詳細については、ファイアウォール ルールの使用をご覧ください。

gcloud

gcloud コマンドライン ツールを使用して VPC ファイアウォール ルールを作成するには、VPC ファイアウォール ルールの使用をご覧ください。

API

Compute Engine API を使用して VPC ファイアウォール ルールを作成するには、VPC ファイアウォール ルールの使用をご覧ください。

Cloud Router の作成

サンプル構成では、network-a に Cloud Router を作成します。Cloud Router は、前のセクションで作成したサブネットと同じ us-west1 リージョンに配置します。

詳細については、Cloud Router の作成をご覧ください。

gcloud

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

  gcloud beta compute routers create NAME \
      --region=REGION \
      --network=NETWORK \
      --asn=ASN \
      --project=PROJECT_ID

以下を置き換えます。

  • NAME: Cloud Router の名前(例: cloud-router-a
  • REGION: Cloud Router を含むリージョン(例: us-west1
  • NETWORK: Cloud Router を含む VPC ネットワーク(例: network-a
  • ASN: Cloud Router の自律システム番号(ASN)。この AS 番号は、RFC 6996 で定義された 16 ビットまたは 32 ビットのプライベート AS 番号である必要があります(例: 65000
  • PROJECT_ID: Cloud Router のプロジェクト ID(例: my-project

API

Cloud Router を作成するには、compute.routers.insert メソッドを使用します。

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/region/REGION/routers
{
 "name": "NAME",
 "network": "NETWORK",
 "bgp": {
   "asn": ASN
  }
}

以下を置き換えます。

  • PROJECT_ID: Cloud Router のプロジェクト ID(例: my-project
  • REGION: Cloud Router を含むリージョン(例: us-west1
  • NAME: Cloud Router の名前(例: cloud-router-a
  • NETWORK: Cloud Router を含む VPC ネットワークの URI(例: /global/networks/network-a
  • ASN: Cloud Router の自律システム番号(ASN)。この AS 番号は、RFC 6996 で定義された 16 ビットまたは 32 ビットのプライベート AS 番号である必要があります(例: 65000

Cloud Router に 2 つの冗長インターフェースを作成する

サンプル構成では、2 つの冗長な Cloud Router インターフェースを作成し、subnet-a-1 に関連付けます。

Cloud Router インターフェースには、リージョンの内部 IP アドレスを使用します。

インターフェース用に内部 IP アドレスを明示的に指定する場合、その IP アドレスはサブネットのプライマリ IP アドレス範囲の中にある必要があります。VM や別の Cloud Router インターフェースなど、別のリソースですでに使用されている IP アドレスは指定できません。事前にサブネットから IP アドレスを予約するには、アドレス リソースを作成し、Cloud Router インターフェースにこの予約済みの IP アドレスを使用します。

gcloud

Cloud Router に 2 つの冗長インターフェースを作成するには、次のコマンドを入力します。

--ip-address オプションを指定しない場合、Google はサブネットのプライマリ IP 範囲から空いている IP アドレスを見つけてインターフェースに割り当てます。

  1. 最初の Cloud Router インターフェースを作成します。

    gcloud beta compute routers add-interface NAME \
        --interface-name=INTERFACE_NAME \
        --ip-address=IP_ADDRESS \
        --subnetwork=SUBNET \
        --region=REGION \
        --project=PROJECT_ID
    
  2. 冗長な Cloud Router インターフェースを作成します。

    gcloud beta compute routers add-interface NAME \
        --interface-name=INTERFACE_NAME \
        --ip-address=IP_ADDRESS \
        --subnetwork=SUBNET \
        --redundant-interface=REDUNDANT_INTERFACE \
        --region=REGION \
        --project=PROJECT_ID
    

    以下を置き換えます。

    • NAME: 更新する Cloud Router の名前(例: cloud-router-a
    • INTERFACE_NAME: インターフェースの名前(例: router-appliance-interface-0router-appliance-interface-1
    • IP_ADDRESS: インターフェースに使用する RFC 1918 内部 IP アドレス(例: 10.0.1.510.0.1.6
    • SUBNET: 内部 IP アドレスが存在するサブネット(例: subnet-a-1
    • REDUNDANT_INTERFACE: プライマリ インターフェースと同じ Router アプライアンス インスタンスとピアリングした冗長な Cloud Router インターフェース(例: router-appliance-interface-0
    • REGION: Cloud Router が存在する Google Cloud リージョン(例: us-west1
    • PROJECT_ID: Cloud Router のプロジェクト ID(例: my-project
  • 次のコマンドは、サンプル構成に記載されているように、Cloud Router に最初のインターフェースを作成します。

    gcloud beta compute routers add-interface cloud-router-a \
        --interface-name=router-appliance-interface-0 \
        --ip-address=10.0.1.5 \
        --subnetwork=subnet-a-1 \
        --region=us-west1 \
        --project=my-project
    
  • 次のコマンドは、サンプル構成に記載されているように、Cloud Router に冗長なインターフェースを作成します。

    gcloud beta compute routers add-interface cloud-router-a \
        --interface-name=router-appliance-interface-1 \
        --ip-address=10.0.1.6 \
        --subnetwork=subnet-a-1 \
        --redundant-interface=router-appliance-interface-0 \
        --region=us-west1 \
        --project=my-project
    

API

Cloud Router に 2 つの冗長インターフェースを作成するには、compute.routers.patch メソッドを使用します。

privateIpAddress オプションを指定しない場合、Google はサブネットのプライマリ IP 範囲から空いている IP アドレスを見つけてインターフェースに割り当てます。

  1. 最初の Cloud Router インターフェースを作成します。

    "PATCH
    https"://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/NAME
    {
      "region":"REGION",
      "interfaces":[
        {
          "name":"INTERFACE_NAME",
          "privateIpAddress:"IP_ADDRESS",
          "subnetwork": "https":"//www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
        }
      ]
    }
    
  2. 冗長な Cloud Router インターフェースを作成します。

    "PATCH
    https"://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/NAME
    {
      "region":"REGION",
      "interfaces":[
        {
          "name":"INTERFACE_NAME_1",
          "privateIpAddress:"IP_ADDRESS",
          "subnetwork": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
        },
        {
          "name":"INTERFACE_NAME_2",
          "privateIpAddress:"IP_ADDRESS",
          "subnetwork": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET",
          "redundantInterface": "INTERFACE_NAME_1"
        }
      ]
    }
    

    以下を置き換えます。

    • PROJECT_ID: Cloud Router のプロジェクト ID(例: my-project
    • REGION: Cloud Router が存在する Google Cloud リージョン(例: us-west1
    • NAME: 更新する Cloud Router の名前(例: cloud-router-a
    • NETWORK: Cloud Router を含む VPC ネットワーク(例: network-a
    • INTERFACE_NAME: インターフェースの名前(例: router-appliance-interface-0router-appliance-interface-1
    • SUBNET: RFC 1918 内部 IP アドレスを含むサブネットの URL
    • IP_ADDRESS: インターフェースに使用する内部 IP アドレス(例: 10.0.1.510.0.1.6
    • REDUNDANT_INTERFACE: プライマリ インターフェースと同じ Router アプライアンス インスタンスとピアリングした冗長な Cloud Router インターフェース(例: router-appliance-interface-0
  • 次のコマンドは、サンプル構成に記載されているように、cloud-router-a に最初のインターフェースを作成します。

    "PATCH https"://www.googleapis.com/compute/beta/projects/my-project/regions/us-west1/routers/cloud-router-a
    {
    "region":"us-west1",
    "interfaces":[
      {
        "name":"router-appliance-interface-0",
        "privateIpAddress:"10.0.1.5",
        "subnetwork": "https://www.googleapis.com/compute/beta/projects/my-project/regions/us-west1/subnetworks/>"
      }
    ]
    }
    
  • 次のコマンドは、サンプル構成に記載されているように、cloud-router-a に冗長なインターフェースを作成します。

    "PATCH https"://www.googleapis.com/compute/beta/projects/my-project/regions/us-west1/routers/cloud-router-a
    {
    "region":"us-west1",
    "interfaces":[
      {
        "name":"router-appliance-interface-0",
        "privateIpAddress:"10.0.1.5",
        "subnetwork": "https://www.googleapis.com/compute/beta/projects/my-project/regions/us-west1/subnetworks/subnet-a-1"
      },
      {
        "name":"router-appliance-interface-0",
        "privateIpAddress:"10.0.1.6",
        "subnetwork": "https://www.googleapis.com/compute/beta/projects/my-project/regions/us-west1/subnetworks/subnet-a-1",
        "redundantInterface": "router-appliance-interface-0"
      }
    ]
    }
    

router-app-a の各インターフェースに 1 つずつ、合わせて 2 つの BGP ピアを作成する

Cloud Router の各インターフェースに 1 つずつ、合わせて 2 つの Router アプライアンス インスタンスに対する BGP ピアを作成します。このセクションでは、サンプル構成から router-app-a に対する 2 つの BGP ピアを作成する方法について説明します。次のセクションでは、router-app-brouter-app-c に対する 2 つの BGP ピアを作成する方法について説明します。

BGP ピア IP アドレスは、Router アプライアンス インスタンスとして構成された VM のプライマリ内部 IP アドレスである必要があります。サンプル構成では、VM は router-app-a です。subnet-a-1 に属しています。

次の例は、Cloud Router cloud-router-a の両方のインターフェースで router-app-a を BGP ピアとして構成する方法を示しています。

gcloud

Cloud Router 上に router-app-a に対する 2 つの BGP ピアを作成するには、次のコマンドを入力します。

  1. 最初の BGP ピアを作成します。

    gcloud beta compute routers add-bgp-peer NAME \
        --peer-name=PEER_NAME \
        --interface=INTERFACE \
        --peer-ip-address=PEER_IP_ADDRESS \
        --peer-asn=PEER_ASN \
        --instance=ROUTER_APPLIANCE \
        --instance-zone=ROUTER_APPLIANCE_ZONE \
        --region=REGION
    
  2. 2 つ目の BGP ピアを作成します。

    gcloud beta compute routers add-bgp-peer NAME \
        --peer-name=PEER_NAME \
        --interface=INTERFACE \
        --peer-ip-address=PEER_IP_ADDRESS \
        --peer-asn=PEER_ASN \
        --instance=ROUTER_APPLIANCE \
        --instance-zone=ROUTER_APPLIANCE_ZONE \
        --region=REGION
    

    以下を置き換えます。

    • NAME: 更新する Cloud Router の名前
    • PEER_NAME: Router アプライアンス インスタンスとの間に確立する BGP ピアリング セッションの名前
    • INTERFACE: この BGP ピアのインターフェースの名前
    • PEER_IP_ADDRESS: ピアルーター(Router アプライアンス インスタンス)の内部 IP アドレス。このアドレスは、VM のプライマリ ネットワーク インターフェース(nic0)のプライマリ内部 IP アドレスと一致する必要があります。
    • PEER_ASN: この BGP ピアの BGP 自律システム番号(ASN)。この ASN 番号は、RFC 6996 で定義された 16 ビットまたは 32 ビットのプライベート ASN 番号でなければなりません。
    • ROUTER_APPLIANCE: Router アプライアンス インスタンスとして機能する VM の名前
    • ROUTER_APPLIANCE_ZONE: Router アプライアンス インスタンスとして機能する VM が配置されるゾーン
    • REGION: Router アプライアンス インスタンスとして機能する VM が配置されるリージョン

router-app-a のサンプル構成の例を次に示します。

  gcloud beta compute routers add-bgp-peer cloud-router-a \
      --peer-name=router-appliance-bgp-peer-router-app-a-0 \
      --interface=router-appliance-interface-0 \
      --peer-ip-address=10.0.1.10 \
      --peer-asn=65001 \
      --instance=router-app-a \
      --instance-zone=us-west1-a \
      --region=us-west1
  gcloud beta compute routers add-bgp-peer cloud-router-a \
      --peer-name=router-appliance-bgp-peer-router-app-a-1 \
      --interface=router-appliance-interface-1 \
      --peer-ip-address=10.0.1.10 \
      --peer-asn=65001 \
      --instance=router-app-a \
      --instance-zone=us-west1-a \
      --region=us-west1

API

Cloud Router 上に router-app-a に対する 2 つの BGP ピアを作成するには、compute.routers.patch メソッドを使用します。

PATCH
https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/region/REGION/routers/NAME
{
  "bgpPeers": [
  {
    "name": "PEER_NAME",
    "interfaceName": "INTERFACE_NAME",
    "ipAddress": "IP_ADDRESS",
    "peerIpAddress": "PEER_IP_ADDRESS",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE",
    "peerAsn": PEER_ASN,
  }
  {
    "name": "PEER_NAME",
    "interfaceName": "INTERFACE_NAME",
    "ipAddress": "IP_ADDRESS",
    "peerIpAddress": "PEER_IP_ADDRESS",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE",
    "peerAsn": PEER_ASN
   }
 ]
}

以下を置き換えます。

  • PROJECT_ID: Cloud Router のプロジェクト ID
  • REGION: Router アプライアンス インスタンスとして機能する VM が存在するリージョン
  • NAME: 更新する Cloud Router の名前
  • PEER_NAME: Router アプライアンス インスタンスとの間に確立する BGP ピアリング セッションの名前
  • INTERFACE_NAME: ピアを追加する Cloud Router インターフェースの名前
  • IP_ADDRESS: Cloud Router インターフェースに使用する RFC 1918 内部 IP アドレス
  • PEER_IP_ADDRESS: Router アプライアンス インスタンスとして機能する VM の内部 IP アドレス
  • ROUTER_APPLIANCE_INSTANCE: Router アプライアンス インスタンスとして機能する VM の URL 形式の名前
  • ROUTER_APPLIANCE_ZONE: Router アプライアンス インスタンスとして機能する VM が存在するゾーン
  • PEER_ASN: この BGP ピアの BGP 自律システム番号(ASN)。この ASN 番号は、RFC 6996 で定義された 16 ビットまたは 32 ビットのプライベート ASN 番号でなければなりません。

router-app-a のサンプル構成の例を次に示します。

PATCH
https://compute.googleapis.com/compute/beta/projects/my-project/region/us-west1/routers/cloud-router-a
{
  "bgpPeers": [
  {
    "name": "router-appliance-bgp-peer-router-app-a-0",
    "interfaceName": "router-appliance-interface-0",
    "ipAddress": "10.0.1.5",
    "peerIpAddress": "10.0.1.10",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-a",
    "peerAsn": 65001,
  }
  {
    "name": "router-appliance-bgp-peer-router-app-a-1",
    "interfaceName": "router-appliance-interface-1",
    "ipAddress": "10.0.1.6",
    "peerIpAddress": "10.0.1.10",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-a",
    "peerAsn": 65001
   }
 ]
}

router-app-brouter-app-c の各インターフェースに 1 つずつ、合わせて 2 つの BGP ピアを作成する

前述のように、Cloud Router は Router アプライアンス インスタンスとして構成された複数の VM に BGP セッションを確立できます。これらの VM はすべて、同一のサブネットに属している必要があります。この構成を作成するには、同じ Cloud Router インターフェースに追加の BGP ピアリング セッションを作成します。

前のセクションでは、router-app-a に対する BGP ピアリングを設定する方法について説明しました。このセクションでは、さらに Cloud Router cloud-router-a の両方のインターフェースに router-app-brouter-app-c を BGP ピアとして構成する方法について説明します。

router-app-b の例

gcloud

Cloud Router 上に router-app-b に対する BGP ピアを 2 つ作成するには、次のコマンドを使用します。

  • 最初の BGP ピアのサンプル構成

    gcloud beta compute routers add-bgp-peer cloud-router-a \
        --peer-name=router-appliance-bgp-peer-router-app-b-0 \
        --interface=router-appliance-interface-0 \
        --peer-ip-address=10.0.1.11 \
        --peer-asn=65002 \
        --instance=router-app-b \
        --instance-zone=us-west1-a \
        --region=us-west1
    
  • 2 つ目の BGP ピアのサンプル構成

    gcloud beta compute routers add-bgp-peer cloud-router-a \
        --peer-name=router-appliance-bgp-peer-router-app-b-1 \
        --interface=router-appliance-interface-1 \
        --peer-ip-address=10.0.1.11 \
        --peer-asn=65002 \
        --instance=router-app-b \
        --instance-zone=us-west1-a \
        --region=us-west1
    

API

Cloud Router 上に router-app-b に対する 2 つの BGP ピアを作成するには、compute.routers.patch メソッドを使用します。

サンプル構成例を次に示します。

PATCH
https://compute.googleaps.com/compute/beta/projects/my-project/region/us-west1/routers/cloud-router-a
{
  "bgpPeers": [
  {
    "name": "router-appliance-bgp-peer-router-app-b-0",
    "interfaceName": "router-appliance-interface-0",
    "ipAddress": "10.0.1.5",
    "peerIpAddress": "10.0.1.11",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-b",
    "peerAsn": 65002,
  }
  {
    "name": "router-appliance-bgp-peer-router-app-b-1",
    "interfaceName": "router-appliance-interface-1",
    "ipAddress": "10.0.1.6",
    "peerIpAddress": "10.0.1.11",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-b",
    "peerAsn": 65002
   }
 ]
}

router-app-c の例

gcloud

Cloud Router 上に router-app-c に対する BGP ピアを 2 つ作成するには、次のコマンドを使用します。

  • 最初の BGP ピアのサンプル構成

    gcloud beta compute routers add-bgp-peer cloud-router-a \
        --peer-name=router-appliance-bgp-peer-router-app-c-0 \
        --interface=router-appliance-interface-0 \
        --peer-ip-address=10.0.1.12 \
        --peer-asn=65003 \
        --instance=router-app-c \
        --instance-zone=us-west1-a \
        --region=us-west1
    
  • 2 つ目の BGP ピアのサンプル構成

    gcloud beta compute routers add-bgp-peer cloud-router-a \
        --peer-name=router-appliance-bgp-peer-router-app-c-1 \
        --interface=router-appliance-interface-1 \
        --peer-ip-address=10.0.1.12 \
        --peer-asn=65003 \
        --instance=router-app-c \
        --instance-zone=us-west1-a \
        --region=us-west1
    

API

Cloud Router 上に router-app-c に対する 2 つの BGP ピアを作成するには、compute.router.patch メソッドを使用します。

サンプル構成例を次に示します。

PATCH
https://compute.googleaps.com/compute/beta/projects/my-project/region/us-west1/routers/cloud-router-a
{
  "bgpPeers": [
  {
    "name": "router-appliance-bgp-peer-router-app-c-0",
    "interfaceName": "router-appliance-interface-0",
    "ipAddress": "10.0.1.5",
    "peerIpAddress": "10.0.1.12",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-c",
    "peerAsn": 65003,
  }
  {
    "name": "router-appliance-bgp-peer-router-app-c-1",
    "interfaceName": "router-appliance-interface-1",
    "ipAddress": "10.0.1.6",
    "peerIpAddress": "10.0.1.12",
    "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-c",
    "peerAsn": 64003
   }
 ]
}

Router アプライアンス インスタンスでの BGP の構成

Cloud Router への BGP 接続用に Router アプライアンス インスタンスを構成するには、Router アプライアンス イメージ向けのベンダー ドキュメントをご覧ください。

Router アプライアンス インスタンスをスポークに接続する

Router アプライアンス インスタンスを構成したら、各 Router アプライアンス インスタンスを Network Connectivity Center ハブのスポークに接続します。ハブを介したデータ転送の有効化に加えて、Cloud Router との BGP ピアリングを有効にするためにスポークを作成する必要もあります。詳細については、スポークの作成をご覧ください。

Router アプライアンス インスタンスは、既存のリソースを含むスポークに関連付けることができます。詳細については、スポークのリソースタイプ割り当てと上限をご覧ください。

次のステップ