创建 Cloud Router 路由器以将 VPC 网络连接到对等网络

本页面概述了在虚拟私有云 (VPC) 网络或 NCC 网关与对等网络之间交换路由所需的 Cloud Router 路由器配置过程。对等网络可以是本地网络、由 AWS 或 Azure 等其他云服务提供商托管的网络,甚至是 Google Cloud中的其他 VPC 网络。

Cloud Router 路由器配置过程包括以下三个简要任务:

  1. 创建 Cloud Router 路由器。
  2. 在 Google Cloud中设置网络连接产品。
  3. 与对等网络上的路由器建立边界网关协议 (BGP) 会话。

准备工作

gcloud

如果您要使用本指南中的命令行示例,请执行以下操作:

  1. 安装或更新到 Google Cloud CLI 的最新版本。
  2. 设置默认区域和可用区

API

如果希望使用本指南中的 API 示例,请设置 API 访问权限

自治系统编号 (ASN)

创建 Cloud Router 路由器时,您可以为 Cloud Router 路由器使用的所有 BGP 会话选择 Google 端 ASN使用 Cloud Router 的Google Cloud 产品中列出了每个产品的说明以及它们如何使用 ASN。

创建 Cloud Router 路由器

如需创建 Cloud Router 路由器,请按照以下步骤操作。

如果您想创建与 NCC 网关 spoke 关联的 Cloud Router 路由器,则必须使用本部分中的 Google Cloud CLI 或 Cloud Router API 说明。如需了解详情,请参阅向 NCC 网关添加混合连接

控制台

  1. 在 Google Cloud 控制台中,前往创建 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:任何您在本地网络中尚未使用的专用 ASN64512-655344200000000-4294967294)。Cloud Router 要求您使用专用 ASN,但您的本地 ASN 可以是公共的,也可以是专用的。

    • BGP 对等 keepalive 时间间隔:发送到对等路由器的两条连续 BGP keepalive 消息之间的时间间隔。此值必须是 20 到 60 之间的整数,用于指定该间隔的秒数。默认时间为 20 秒。如需了解详情,请参阅管理 BGP 计时器
    • BGP 标识符:可选。BGP 标识符(有时称为路由器 ID),用于唯一标识网络中的 Cloud Router 路由器。如果省略,具有 IPv4 BGP 会话的 Cloud Router 路由器会使用其中一个 IPv4 BGP 地址作为 BGP 标识符,并且向此 Cloud Router 路由器添加第一个 IPv6 接口会自动填充该字段。

      如需了解详情,请参阅为 Cloud Router 路由器配置 BGP 标识符范围

  3. 可选:如需指定自定义通告路由,请前往通告路由部分。如需了解详情,请参阅通告的路由
    1. 如需指定自定义路由,请选择创建自定义路由
    2. 选择是否通告该 Cloud Router 路由器可见的子网。启用此选项可模拟 Cloud Router 路由器的默认行为。
    3. 如需添加通告路由,请选择添加自定义路由,然后进行配置。
  4. 如需保存设置并创建 Cloud Router 路由器,请点击创建。您的新 Cloud Router 路由器将显示在 Cloud Router 路由器列表页面上。如需查看其详细信息并配置 BGP 会话,请选择它。

gcloud

gcloud compute routers create 命令会创建一个新的 Cloud Router 路由器。Cloud Router 路由器与 VPC 网络或 NCC 网关 spoke 关联。创建后,您无法更改区域、关联的 VPC 网络或关联的 NCC 网关 spoke。

仅当设置了 --advertisement-mode=CUSTOM 标志时,--set-advertisement-groups=ALL_SUBNETS 标志才有效。指定此标志和值后,路由器级通告会根据 VPC 网络的动态路由模式包含本地子网范围。

如需了解详情,请参阅子网范围通告

仅当 Cloud Router 路由器为通过 Cloud Interconnect 实现的高可用性 VPN 管理 BGP 会话时,才添加 --encrypted-interconnect-router 标志。

  • 如需创建与 VPC 网络的某个区域关联的 Cloud Router 路由器,请使用以下命令:

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --network=NETWORK \
        --region=REGION\
        --asn=ASN_NUMBER \
        [--advertisement-mode=ADVERTISEMENT_MODE] \
        [--set-advertisement-groups=ALL_SUBNETS] \
        [--set-advertisement-ranges=CUSTOM_ADVERTISED_RANGES] \
        [--bgp-identifier-range=ROUTER_IDENTIFIER_RANGE] \
        [--keepalive-interval=KEEPALIVE_TIMER] \
        [--encrypted-interconnect-router]
    

    替换以下内容:

    • ROUTER_NAME:Cloud Router 路由器的名称

    • PROJECT_ID:Cloud Router 路由器所属项目的 ID

    • NETWORK:包含 Cloud Router 路由器的 VPC 网络

    • REGION:包含 Cloud Router 路由器的区域

    • ASN_NUMBER:您尚未在本地网络中使用的任何专用 ASN64512-655344200000000-4294967294

      Cloud Router 路由器要求您使用专用 ASN,但您的本地 ASN 可以是公共的,也可以是专用的。

    • ADVERTISEMENT_MODE:指定路由器级通告模式

      有效值为 CUSTOMDEFAULT。 如果省略 --advertisement-mode 标志, Google Cloud 会在路由器级使用 DEFAULT 通告模式。如需了解路由器级通告模式的含义及其对单个 BGP 会话通告的影响,请参阅通告模式有效通告

    • CUSTOM_ADVERTISED_RANGES:仅当 --advertisement-mode=CUSTOM 时才有效,这是要包含在路由器级通告中的自定义 IP 地址范围(采用 CIDR 格式)或单个 IP 地址的可选列表

      单个 IPv4 地址会被解释为带有 /32 子网掩码的 CIDR,单个 IPv6 地址会被解释为带有 /128 子网掩码的 CIDR。如需了解自定义路由通告的数量上限,请参阅限制

    • ROUTER_IDENTIFIER_RANGE:可选的 IPv4 地址范围,用作 Cloud Router 路由器的唯一标识符

      如需了解详情,请参阅配置 BGP 标识符范围

    • KEEPALIVE_TIMER:可选的时间(以秒为单位),用于定义 BGP keepalive 计时器

      有效值介于 2060 之间(含边界值)。如果您省略 --keepalive-interval 标志,Cloud Router 路由器会使用 20 秒的 BGP keepalive 计时器。如需了解详情,请参阅 Keepalive 计时器

  • 如需创建与 NCC 网关 spoke 关联的 Cloud Router 路由器,请使用以下命令。

    使用 --advertisement-mode=CUSTOM 标志将路由器级通告模式设置为 CUSTOM,以便您可以指定路由器级自定义路由通告。

    如需了解路由器级通告模式对单个 BGP 会话通告的影响,请参阅有效通告

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --ncc-gateway=NCC_GATEWAY_URI \
        --region=REGION\
        --asn=ASN_NUMBER \
        --advertisement-mode=CUSTOM \
        --set-advertisement-ranges=CUSTOM_ADVERTISED_RANGES \
        [--bgp-identifier-range=ROUTER_IDENTIFIER_RANGE] \
        [--keepalive-interval=KEEPALIVE_TIMER] \
    

    替换以下内容:

    • ROUTER_NAME:Cloud Router 路由器的名称

    • PROJECT_ID:Cloud Router 路由器所属项目的 ID

    • NCC_GATEWAY_URI:与路由器关联的 NCC 网关的完整 URI。URI 的格式遵循以下模式:https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/GATEWAY_SPOKE_NAME

    • REGION:包含 Cloud Router 路由器的区域

    • ASN_NUMBER:您尚未在本地网络中使用的任何专用 ASN64512-655344200000000-4294967294

      Cloud Router 路由器要求您使用专用 ASN,但您的本地 ASN 可以是公共的,也可以是专用的。

    • --advertisement-mode=CUSTOM:将路由器级通告模式设置为 CUSTOM,以便您指定路由器级自定义路由通告。

      如需了解路由器级通告模式对单个 BGP 会话通告的影响,请参阅有效通告

    • CUSTOM_ADVERTISED_RANGES:要包含在路由器级通告中的自定义 IP 地址范围(采用 CIDR 格式)或单个 IP 地址的列表

      单个 IPv4 地址会被解释为带有 /32 子网掩码的 CIDR,单个 IPv6 地址会被解释为带有 /128 子网掩码的 CIDR。如需了解自定义路由通告的数量上限,请参阅限制

    • ROUTER_IDENTIFIER_RANGE:可选的 IPv4 地址范围,用作 Cloud Router 路由器的唯一标识符

      如需了解详情,请参阅配置 BGP 标识符范围

    • KEEPALIVE_TIMER:可选的时间(以秒为单位),用于定义 BGP keepalive 计时器

      有效值介于 2060 之间(含边界值)。如果您省略 --keepalive-interval 标志,Cloud Router 路由器会使用 20 秒的 BGP keepalive 计时器。如需了解详情,请参阅 Keepalive 计时器

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 方法会创建一个新的 Cloud Router 路由器。Cloud Router 路由器与 VPC 网络或 NCC 网关 spoke 关联。创建后,您无法更改区域、关联的 VPC 网络或关联的 NCC 网关 spoke。

仅当 bgp.advertiseMode: CUSTOM 时,"advertisedGroups": [ALL_SUBNETS] 标志才有效;在 bgp.advertisedGroups: [ALL_SUBNETS] 时,路由器级通告会根据 VPC 网络的动态路由模式包含本地子网范围。如需了解详情,请参阅子网范围通告

encryptedInterconnectRouter 标志是一个布尔值参数,用于指示 Cloud Router 路由器是否为通过 Cloud Interconnect 实现的高可用性 VPN 管理 BGP 会话。

  • 如需创建与 VPC 网络的某个区域关联的 Cloud Router 路由器,请使用以下请求:

         POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
         {
           "name": "ROUTER_NAME",
           "network": "NETWORK",
           "encryptedInterconnectRouter": True|False,
           "bgp": {
             "asn": "ASN_NUMBER",
             "advertiseMode": "ADVERTISEMENT_MODE",
             "advertisedGroups": [ALL_SUBNETS],
             "advertisedIpRanges": [
                {
                   "range": CUSTOM_ADVERTISED_RANGE,
                   "description": CUSTOM_ADVERTISED_RANGE_DESCRIPTION
                }, ...
             ],
             "identifierRange": ROUTER_IDENTIFIER_RANGE,
             "keepaliveInterval": KEEPALIVE_TIMER
           }
         }
    

    替换以下内容:

    • ROUTER_NAME:Cloud Router 路由器的名称

    • PROJECT_ID:Cloud Router 路由器所属项目的 ID

    • NETWORK:包含 Cloud Router 路由器的 VPC 网络

    • REGION:包含 Cloud Router 路由器的区域

    • ASN_NUMBER:您尚未在本地网络中使用的任何专用 ASN64512-655344200000000-4294967294

      Cloud Router 路由器要求您使用专用 ASN,但您的本地 ASN 可以是公共的,也可以是专用的。

    • ADVERTISEMENT_MODE:指定路由器级通告模式

      有效值为 CUSTOMDEFAULT。 如果您省略 bgp.advertiseMode, Google Cloud 会在路由器级使用 DEFAULT 通告模式。如需了解路由器级通告模式的含义及其对单个 BGP 会话通告的影响,请参阅通告模式有效通告

    • CUSTOM_ADVERTISED_RANGECUSTOM_ADVERTISED_RANGE_DESCRIPTION:字典中的键,用于指定路由器级自定义路由通告

      bgp.advertisedIpRanges 是包含每个自定义路由通告字典的列表。指定 bgp.advertisedIpRanges 时需要 bgp.advertiseMode: CUSTOM。每个 CUSTOM_ADVERTISED_RANGE 都是采用 CIDR 格式的 IP 地址范围或单个 IP 地址。单个 IPv4 地址会被解释为带有 /32 子网掩码的 CIDR,单个 IPv6 地址会被解释为带有 /128 子网掩码的 CIDR。如需了解自定义路由通告的数量上限,请参阅限制。每个 CUSTOM_ADVERTISED_RANGE_DESCRIPTION 都是一个用于描述通告的字符串。

    • ROUTER_IDENTIFIER_RANGE:定义一个 IPv4 地址范围,用作 Cloud Router 路由器的唯一标识符

      如需了解详情,请参阅配置 BGP 标识符范围

    • KEEPALIVE_TIMER:可选的时间(以秒为单位),用于定义 BGP keepalive 计时器

      有效值介于 2060 之间(含边界值)。如果您省略 bgp.keepaliveInterval,Cloud Router 路由器会使用 20 秒的 BGP keepalive 计时器。如需了解详情,请参阅 Keepalive 计时器

    • encryptedInterconnectRouter:一个布尔值参数,用于指示 Cloud Router 路由器是否为通过 Cloud Interconnect 实现的高可用性 VPN 管理 BGP 会话

  • 如需创建与 NCC 网关 spoke 关联的 Cloud Router 路由器,请使用以下请求。

    bgp.advertiseMode: CUSTOM 标志将路由器级通告模式设置为 CUSTOM,以便您指定路由器级自定义路由通告。如需了解路由器级通告模式对单个 BGP 会话通告的影响,请参阅有效通告

         POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
         {
           "name": "ROUTER_NAME",
           "ncc_gateway": "NCC_GATEWAY_URI",
           "bgp": {
             "asn": "ASN_NUMBER",
             "advertiseMode": CUSTOM,
             "advertisedIpRanges": [
                {
                   "range": CUSTOM_ADVERTISED_RANGE,
                   "description": CUSTOM_ADVERTISED_RANGE_DESCRIPTION
                }, ...
             ],
             "identifierRange": ROUTER_IDENTIFIER_RANGE,
             "keepaliveInterval": KEEPALIVE_TIMER
           }
         }
    

    替换以下内容:

    • ROUTER_NAME:Cloud Router 路由器的名称

    • PROJECT_ID:Cloud Router 路由器所属项目的 ID

    • NCC_GATEWAY_URI:与路由器关联的 NCC 网关的完整 URI。URI 的格式遵循以下模式:https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/GATEWAY_SPOKE_NAME

    • REGION:包含 Cloud Router 路由器的区域

    • ASN_NUMBER:您尚未在本地网络中使用的任何专用 ASN64512-655344200000000-4294967294

      Cloud Router 路由器要求您使用专用 ASN,但您的本地 ASN 可以是公共的,也可以是专用的。

    • CUSTOM_ADVERTISED_RANGECUSTOM_ADVERTISED_RANGE_DESCRIPTION:字典中的键,用于指定路由器级自定义路由通告

      bgp.advertisedIpRanges 是包含每个自定义路由通告字典的列表。指定 bgp.advertisedIpRanges 时需要 bgp.advertiseMode: CUSTOM。每个 CUSTOM_ADVERTISED_RANGE 都是采用 CIDR 格式的 IP 地址范围或单个 IP 地址。单个 IPv4 地址会被解释为带有 /32 子网掩码的 CIDR,单个 IPv6 地址会被解释为带有 /128 子网掩码的 CIDR。如需了解自定义路由通告的数量上限,请参阅限制。每个 CUSTOM_ADVERTISED_RANGE_DESCRIPTION 都是一个用于描述通告的字符串。

    • ROUTER_IDENTIFIER_RANGE:定义一个 IPv4 地址范围,用作 Cloud Router 路由器的唯一标识符

      如需了解详情,请参阅配置 BGP 标识符范围

    • KEEPALIVE_TIMER:可选的时间(以秒为单位),用于定义 BGP keepalive 计时器

      有效值介于 2060 之间(含边界值)。如果您省略 bgp.keepaliveInterval,Cloud Router 路由器会使用 20 秒的 BGP keepalive 计时器。如需了解详情,请参阅 keepalive 计时器

设置网络连接产品

与 VPC 网络的某个区域关联的 Cloud Router 路由器可以为以下连接产品管理 BGP 会话:

与 NCC 网关 spoke 关联的 Cloud Router 路由器可以为与 NCC 网关 spoke 关联的 VLAN 连接管理 BGP 会话。

Cloud Interconnect

如需使用 Cloud Interconnect 和 Cloud Router 路由器将 VPC 网络连接到本地网络,您必须先预配 Cloud Interconnect 连接。

在为 Cloud Interconnect 连接创建 VLAN 连接时,您可以配置 Cloud Router 路由器及其 BGP 会话。请参阅创建专用互连的 VLAN 连接创建合作伙伴互连的 VLAN 连接

如果您要部署通过 Cloud Interconnect 实现的高可用性 VPN,则必须部署两个 Cloud Router 路由器:

  • 您为 VLAN 连接配置的适用于 Cloud Interconnect 的特殊 Cloud Router 路由器。此 Cloud Router 路由器可确保只有高可用性 VPN 网关加密的流量可以发送到 VLAN 连接。

  • 您为高可用性 VPN 隧道配置的常规 Cloud Router 路由器。

Cloud VPN

如需使用高可用性 VPN 和 Cloud Router 路由器将 VPC 网络连接到本地或多云网络,请参阅创建连接到对等 VPN 网关的高可用性 VPN 网关

如需使用高可用性 VPN 和 Cloud Router 路由器将 VPC 网络连接到其他 VPC 网络,请参阅在 Google Cloud 网络之间创建高可用性 VPN

创建连接到对等网络的高可用性 VPN 隧道时,您需要配置 Cloud Router 路由器及其 BGP 会话。

路由器设备

如需使用 Network Connectivity Center 混合 spoke 中的路由器设备将 VPC 网络连接到对等网络,请参阅创建路由器设备实例

NCC 网关 spoke

如需在 NCC 网关 spoke 上配置 VLAN 连接,请参阅向 NCC 网关添加混合连接

建立 BGP 会话

使用 Cloud Router 路由器设置网络连接产品时,您可以在 Cloud Router 路由器与对等网络上的路由器之间建立边界网关协议 (BGP) 会话。

您可以将同一 Cloud Router 路由器重复用于不同的网络连接产品。但是,每个 BGP 会话对于您配置用于 Cloud Router 路由器的网络连接产品(VLAN 连接、Cloud VPN 隧道或路由器设备实例)是唯一的。不同的网络连接产品不能使用同一 BGP 会话。有时,您可能需要为网络连接产品设置多个 BGP 会话以实现足够的冗余。例如,使用具有高可用性 VPN 的 Cloud Router 路由器时,您需要设置多个 BGP 会话。

如需在 Cloud Router 路由器和对等网络上的路由器之间建立 BGP 会话,请参阅建立 BGP 会话

后续步骤