VPC ネットワークをピア ネットワークに接続する Cloud Router を作成する

Virtual Private Cloud(VPC)ネットワークとピア ネットワークの間でルートを動的に交換するように Cloud Router を設定する方法について説明します。ピア ネットワークは、オンプレミス ネットワーク、AWS や Azure などの別のクラウド プロバイダがホストするネットワーク、または Google Cloud の別の VPC ネットワークです。

Cloud Router を使用して VPC ネットワークをピア ネットワークに接続するには、次のタスクを行う必要があります。

  1. Cloud Router を作成する。
  2. Google Cloud で Network Connectivity プロダクトを設定する。
  3. ピア ネットワークのルーターとの間で Border Gateway Protocol(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 の名前。この名前は Google Cloud コンソールに表示され、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 として使用していないプライベート ASN を指定できます(例: 65001)。Cloud Router では、プライベート ASN を使用する必要があります。ただし、オンプレミス ASN はパブリックでもプライベートでも可能で、16 ビットまたは 32 ビットのいずれかの値を使用できます。
    • 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 \
        --region=REGION \
        --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 秒です。詳しくは、キープアライブ タイマーをご覧ください。

  • Cloud Router に BGP ID 範囲を割り当てるには、--bgp-identifier-range オプションを使用して、サイズが /30 以上のリンクローカル IPv4 範囲を 169.254.0.0/16 から指定します。例: 169.254.16.16/30。BGP ID は、Cloud Router を一意に識別するために使用されます。Cloud Router で IPv6 BGP セッション(プレビュー版)をホストするには、明示的な 32 ビット BGP ID が必要です。

    ただし、Google Cloud が未使用の ID 範囲を Cloud Router に自動的に割り当てるため、IPv6 BGP セッションのインターフェースを初めて構成するときに、BGP ID 範囲フラグを使用する必要はありません。

    このオプションは、BGP ID に特定の IP 範囲を使用する場合にのみ構成する必要があります。Cloud Router の BGP ID 範囲は後で変更することもできます。詳細については、BGP ID 範囲を構成するをご覧ください。

  • Cloud Interconnect を介した HA VPN のデプロイメント用にルーターを作成するには、--encrypted-interconnect-router オプションを指定します。

    暗号化された Cloud Interconnect に使用する Cloud Router は、特殊なタイプの Cloud Router です。これらのルーターは、Cloud Interconnect を介した HA VPN でデプロイする VLAN アタッチメントでのみ使用できます。

Terraform

Cloud Router の Google Cloud Terraform モジュールを使用します。

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

  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 = var.project_id
  network = module.vpc.network_name
}

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

API

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

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
       {
         "bgp": {
           "asn": "ASN_NUMBER",
           "keepaliveInterval": KEEPALIVE_INTERVAL,
           "identifierRange": BGP_IDENTIFIER_RANGE
         },
         "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: ピアルーターに連続して送信される 2 つの BGP キープアライブ メッセージの間隔。このプレースホルダは省略可能です。値には、間隔の秒数を 20~60 の整数で指定する必要があります。デフォルト値は 20 秒です。詳細については、Cloud Router のキープアライブ タイマーをご覧ください。
    • BGP_IDENTIFIER_RANGE: 169.254.0.0/16 内でサイズが /30 以上のリンクローカル IPv4 範囲。このプレースホルダは省略可能です。値が指定されていない場合、Cloud Router に BGP ID が自動的に割り当てられます。詳細については、Cloud Router の BGP ID 範囲を構成するをご覧ください。
    • ROUTER_NAME: Cloud Router の名前。この名前は Google Cloud コンソールに表示され、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"
       }
    

ネットワーク接続プロダクトを設定する

VPC ネットワークとピア ネットワークの間でルートを交換するには、Cloud Router に加えて、次の Google Cloud のネットワーク接続プロダクトを少なくとも 1 つ設定する必要があります。

Cloud Interconnect

Cloud Interconnect と Cloud Router を使用して VPC ネットワークをオンプレミス ネットワークに接続するには、まず Cloud Interconnect 接続をプロビジョニングする必要があります。

Cloud Interconnect 接続用の VLAN アタッチメントを作成するときに、Cloud Router とその BGP セッションを構成します。Dedicated Interconnect 用 VLAN アタッチメントの作成Partner Interconnect 用 VLAN アタッチメントの作成をご覧ください。

Cloud Interconnect を介した HA VPN をデプロイする場合は、次の 2 つの Cloud Router をデプロイする必要があります。

  • VLAN アタッチメント用に構成する、Cloud Interconnect 用の特別な Cloud Router。この Cloud Router は、HA VPN ゲートウェイによって暗号化されたトラフィックのみを VLAN アタッチメントに送信します。
  • HA VPN トンネル用に構成する通常の Cloud Router。

Cloud VPN

HA VPN と Cloud Router を使用して VPC ネットワークをオンプレミス ネットワークまたはマルチクラウド ネットワークに接続するには、ピア VPN ゲートウェイへの HA VPN ゲートウェイの作成をご覧ください。

HA VPN と Cloud Router を使用して VPC ネットワークを別の VPC ネットワークに接続するには、Google Cloud ネットワーク間の HA VPN の作成をご覧ください。

ピア ネットワークへの HA VPN トンネルを作成するときに、Cloud Router とその BGP セッションを構成します。

Network Connectivity Center

ルーター アプライアンスを使用して VPC ネットワークをピア ネットワークに接続するには、ルーター アプライアンス インスタンスを作成するをご覧ください。

BGP セッションを確立する

Cloud Router を使用してネットワーク接続プロダクトを設定すると、Cloud Router とピア ネットワークのルーターとの間で Border Gateway Protocol(BGP)セッションが確立されます。

同じ Cloud Router を別のネットワーク接続プロダクトで再利用できます。ただし、各 BGP セッションは、Cloud Router で使用するように構成したネットワーク接続プロダクト(VLAN アタッチメント、Cloud VPN トンネル、ルーター アプライアンス インスタンス)に固有のものです。異なるネットワーク接続プロダクトで同じ BGP セッションを使用できません。十分な冗長性を確保するために、ネットワーク接続プロダクト用に複数の BGP セッションの設定が必要になる場合があります。たとえば、HA VPN で Cloud Router を使用する場合は、複数の BGP セッションを設定します。

Cloud Router とピア ネットワークのルーター間の BGP セッションを確立するには、BGP セッションの確立をご覧ください。

次のステップ