クイックスタート: VPC ネットワークとオンプレミス ネットワークの間に Cloud Router を作成する

VPC ネットワークとオンプレミス ネットワークの間に Cloud Router を作成する

Cloud Router は、Virtual Private Cloud(VPC)ネットワークとオンプレミス ネットワークの間でルートを動的に交換します。Cloud Router を作成すると、Cloud Router とオンプレミス ルーターの間で BGP セッションを確立できます。

Cloud Router を作成するときに、デフォルトのルート アドバタイズを使用することも、カスタム アドバタイズを指定することもできます。リージョン動的ルーティングの場合、Cloud Router はデフォルトでリージョンのサブネットをアドバタイズします。グローバル動的ルーティングの場合は、VPC ネットワークのすべてのサブネットをアドバタイズします。カスタム ルート アドバタイズでは、Cloud Router がアドバタイズするルート(外部静的 IP アドレスや特定の CIDR 範囲)を選択します。

詳細については、Cloud Router の概要の次のセクションをご覧ください。

始める前に

このガイドのコマンドラインの例を使用する場合は、次の操作を行います。

  1. Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新します。
  2. デフォルトのリージョンとゾーンを設定します。

このガイドの API の例を使用する場合は、API アクセスを設定します。

Cloud Router を作成する

Cloud Router を作成するには、次の手順を行います。

コンソール

  1. Cloud Console で、[Cloud Router の作成] のページに移動します。

    [Cloud Router の作成] に移動

  2. Cloud Router の詳細を指定します。

    • 名前: Cloud Router の名前。この名前は Cloud Console に表示され、Google Cloud CLI で Cloud Router を参照するために使用されます(例: my-router)。
    • 説明(省略可): Cloud Router の説明。
    • ネットワーク: 接続するインスタンスを含む VPC ネットワーク(例: my-network)。
    • リージョン: Cloud Router を配置するリージョン(例: asia-east1)。
    • Google ASN: 構成している Cloud Router のプライベート ASN64512-655344200000000-4294967294)。同じリージョンとネットワークでまだピア ASN として使用していない任意のプライベート ASN を指定できます(例: 65001)。Cloud Router ではプライベート ASN を使用する必要がありますが、オンプレミス ASN はパブリックまたはプライベートにできます。
    • BGP ピア キープアライブの間隔: ピアルーターに連続して送信される 2 つの BGP キープアライブ メッセージの間隔。この値は、間隔の秒数を指定する 20~60 の整数にする必要があります。デフォルト値は 20 秒です。詳細については、BGP タイマーの管理をご覧ください。
  3. 省略可: カスタム ルート アドバタイズを指定するには、[アドバタイズされたルート] セクションに移動します。次の手順の詳細については、カスタム ルート アドバタイズをご覧ください。

    1. カスタムルートを指定するには、[カスタムルートの作成] を選択します。
    2. Cloud Router に表示されたサブネットをアドバタイズするかどうかを選択します。このオプションを有効にすると、Cloud Router のデフォルトの動作と同じ結果になります。
    3. アドバタイズされたルートを追加するには、[カスタムルートの追加] を選択して構成します。
  4. 設定を保存して Cloud Router を作成するには、[作成] をクリックします。新しい Cloud Router が Cloud Router の一覧ページに表示されます。詳細を表示して構成する BGP セッションを選択します。

gcloud

  • 接続するインスタンスが含まれているリージョンに Cloud Router を作成するには、create コマンドを実行します。

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --network=NETWORK \
        --asn=ASN_NUMBER \
        --region=REGION
    

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

    • ROUTER_NAME: Cloud Router の名前
    • PROJECT_ID: Cloud Router を含むプロジェクトのプロジェクト ID
    • NETWORK: 接続するインスタンスを含む VPC ネットワーク
    • ASN_NUMBER: オンプレミス ネットワークでまだ使用していないプライベート ASN64512-655344200000000-4294967294)。Cloud Router ではプライベート ASN を使用する必要がありますが、オンプレミス ASN はパブリックまたはプライベートにできます。
    • REGION: Cloud Router を配置するリージョン。Cloud Router は、配置先のリージョンのすべてのサブネットをアドバタイズします。
  • カスタム ルート アドバタイズメントを使用して Cloud Router を作成するには、--advertisement-modecustom に設定し、--set-advertisement-ranges--set-advertisement-groups フラグを使ってルート アドバタイズメントを指定します。

    --set-advertisement-ranges フラグには、CIDR 範囲のリストを指定できます。--set-advertisement-groups フラグには、Cloud Router が動的にアドバタイズする Google 定義のグループを指定できます。現在、有効な値は all_subnets だけで、VPC ネットワークの動的ルーティング モードに基づいてサブネットをアドバタイズします(デフォルトのアドバタイズに類似しています)。

    次の例は、サブネットとカスタム IP 範囲(1.2.3.46.7.0.0/16)をアドバタイズします。

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --network=NETWORK \
        --asn=ASN_NUMBER \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets \
        --set-advertisement-ranges 1.2.3.4,6.7.0.0/16
    
  • BGP ピアにキープアライブ タイマーを設定するには、--keepalive-interval オプションを使用します。これにより、ピアルーターに送信される BGP キープアライブ メッセージの間隔が設定されます。この値は、間隔の秒数を指定する 20~60 の整数にする必要があります。デフォルト値は 20 秒です。

API

  • routers.insert メソッドを使用します。

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
       {
         "bgp": {
           "asn": "ASN_NUMBER"
           "keepaliveInterval": KEEPALIVE_INTERVAL
         },
         "name": "ROUTER_NAME",
         "network": "NETWORK"
       }
    

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

    • PROJECT_ID: VPC ネットワークを含むプロジェクトの ID
    • REGION: Cloud Router を配置するリージョン
    • ASN_NUMBER: 構成している Cloud Router のプライベート ASN64512-655344200000000-4294967294)。同じリージョンとネットワークでまだピア ASN として使用していない任意のプライベート ASN を指定できます(例: 65001)。Cloud Router ではプライベート ASN を使用する必要がありますが、オンプレミス ASN はパブリックまたはプライベートにできます。
    • KEEPALIVE_INTERVAL(省略可): ピアルーターに送信される BGP キープアライブ メッセージの間隔を設定する Cloud Router のキープアライブ タイマー

      この値は、間隔の秒数を指定する 20~60 の整数にする必要があります。デフォルト値は 20 秒です。

    • ROUTER_NAME: Cloud Router の名前。この名前は Cloud Console に表示され、Google Cloud CLI で Cloud Router を参照するために使用されます。

    • NETWORK: 接続するインスタンスを含むネットワーク

  • カスタムのルート アドバタイズを行う Cloud Router を作成するには、bgp.advertiseMode フィールドを CUSTOM に設定し、bgp.advertisedGroups[]bgp.advertisedIpRanges[] フィールドを使用してルート アドバタイズを指定します。

    bgp.advertisedIpRanges[] フィールドには、CIDR 範囲の配列を指定します。bgp.advertisedGroups[] フィールドには、Cloud Router が動的にアドバタイズする Google 定義のグループを指定できます。現在、有効な値は ALL_SUBNETS だけで、VPC ネットワークの動的ルーティング モードに基づいてサブネットをアドバタイズします(デフォルトのアドバタイズに類似しています)。

    次の例は、サブネットとカスタム IP アドレス範囲(1.2.3.46.7.0.0/16)をアドバタイズします。

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
       {
         "bgp": {
           "asn": "ASN_NUMBER",
           "advertiseMode": "CUSTOM",
           "advertisedGroups": [
             "ALL_SUBNETS"
           ],
           "advertisedIpRanges": [
             {
               "range": "1.2.3.4",
               "description": "First example range"
             },
             {
               "range": "6.7.0.0/16",
               "description": "Second example range"
             }
           ]
         },
         "name": "ROUTER_NAME",
         "network": "NETWORK"
       }
      

Terraform

Terraform モジュールを使用します。

module "cloud_router" {
  source  = "terraform-google-modules/cloud-router/google"
  version = "~> 0.4"

  name   = "my-router"
  region = "us-central1"

  bgp = {
    # The ASN (16550, 64512 - 65534, 4200000000 - 4294967294) can be any private ASN
    # not already used as a peer ASN in the same region and network or 16550 for Partner Interconnect.
    asn = "65001"
  }

  # project = "my-project-id"
  project = var.project
  # network = "my-network"
  network = var.network
}

次のステップ