停用或移除 BGP 会话

您可以暂时停用 BGP 会话,也可以将其完全终止。停用会话的一些常见原因是,在迁移到其他对等 BGP 或对 BGP 对等端进行维护时更改路由器配置。

准备工作

gcloud

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

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

API

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

停用 BGP 会话

您可以使用 Google Cloud 控制台、update-bgp-peer 命令或 API 停用 BGP 会话。BGP 会话默认启用。

如果停用,则具与 BGP 对等端的所有活跃会话都将关闭,并且所有关联的路由信息都会被移除。

要停用 BGP 会话,请按照以下步骤操作。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Router 路由器页面。

    前往“Cloud Router 路由器”

  2. 选择托管要停用的 BGP 会话的路由器。
  3. 路由器详情页面上,选择您要停用的 BGP 会话。
  4. BGP 会话详情页面中,点击 修改
  5. 对于 BGP 对等方,选择停用
  6. 点击保存

gcloud

运行 update-bgp-peer 命令:

  gcloud compute routers update-bgp-peer ROUTER_NAME \
      --project=PROJECT_ID \
      --peer-name=PEER_NAME \
      --region=REGION \
      --no-enabled

请替换以下内容:

  • ROUTER_NAME:您的 Cloud Router 路由器的名称
  • PROJECT_ID:Cloud Router 路由器所属的项目
  • PEER_NAME:您的 BGP 对等体的名称
  • REGION:Cloud Router 路由器所在的区域

API

使用 routers.patch 方法更新 bgpPeers[] 字段。

bgpPeers[] 字段接受 BGP 对等方数组。PATCH 此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等方数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等方数组。如需了解详情,请参阅查看 BGP 会话配置

  2. 发送带有新 BGP 对等端数组的 PATCH 请求。针对要为其停用 BGP 会话的每个 BGP 对等体,将 bgpPeers[].enable 设置为 FALSE

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    请替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等体数组的内容

    以下示例停用第一个 BGP 对等体的会话:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "FALSE"
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": []
        }
    

启用 BGP 会话

您可以使用 Google Cloud 控制台、update-bgp-peer 命令或 API 来启用 BGP 会话。BGP 会话默认启用。

如果启用,将可使用路由信息建立对等连接。

要启用 BGP 会话,请按照以下步骤操作。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Router 路由器页面。

    前往“Cloud Router 路由器”

  2. 选择托管要启用的 BGP 会话的路由器。
  3. 路由器详情页面上,选择要启用的 BGP 会话。
  4. BGP 会话详情页面中,点击 修改
  5. 对于 BGP 对等方,选择启用
  6. 点击保存

gcloud

运行 update-bgp-peer 命令:

  gcloud compute routers update-bgp-peer ROUTER_NAME \
      --project=PROJECT_ID \
      --peer-name=PEER_NAME \
      --region=REGION \
      --enabled

请替换以下内容:

  • ROUTER_NAME:您的 Cloud Router 路由器的名称
  • PROJECT_ID:Cloud Router 路由器所属的项目
  • PEER_NAME:您的 BGP 对等体的名称
  • REGION:Cloud Router 路由器所在的区域

API

使用 routers.patch 方法更新 bgpPeers[] 字段。

bgpPeers[] 字段接受 BGP 对等方数组。当您在指定此字段的情况下发出 PATCH 请求后,会使用请求中包含的新数组覆盖现有 BGP 对等方数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等端数组。如需了解详情,请参阅查看 Cloud Router 路由器详细信息

  2. 发送带有新 BGP 对等端数组的 PATCH 请求。对于您要启用 BGP 会话的每个 BGP 对等端,请将 bgpPeers[].enable 设置为 TRUE

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    请替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等体数组的内容

    以下示例为第一个 BGP 对等体启用会话:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": [],
          "enable": "TRUE"
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT",
          "advertisedGroups": [],
          "advertisedIpRanges": []
        }
    

移除 BGP 会话

如果您删除与 BGP 会话关联的 Cloud VPN 隧道或 VLAN 连接,会话将自动关机。

您可以使用 Google Cloud 控制台、remove-bgp-peer 命令或 API 手动移除 BGP 会话。如果您移除 BGP 会话,则 VPN 隧道或 VLAN 连接会保留,但 Cloud Router 不会通过它们通告路由。

如需移除 BGP 会话,请按照以下步骤操作。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Router 路由器页面。

    前往“Cloud Router 路由器”

  2. 选择要从中移除 BGP 会话的路由器。
  3. 对于 BGP 会话,选择要移除的 BGP 会话。
  4. 在页面顶部,点击 删除,然后确认删除。

gcloud

运行 remove-bgp-peer 命令:

gcloud compute routers remove-bgp-peer ROUTER_NAME \
    --project=PROJECT_ID \
    --peer-name=PEER_NAME \
    --region=REGION \

请替换以下内容:

  • ROUTER_NAME:您的 Cloud Router 路由器的名称
  • PROJECT_ID:Cloud Router 路由器所属的项目
  • PEER_NAME:您的 BGP 对等体的名称
  • REGION:Cloud Router 路由器所在的区域

API

如需从 Cloud Router 中移除 BGP 对等体,请使用 routers.patch 方法更新 bgpPeers[] 字段。

bgpPeers[] 字段接受 BGP 对等方数组。PATCH 此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等体数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等端数组。如需了解详情,请参阅查看 Cloud Router 路由器详细信息

  2. 发送带有新 BGP 对等端数组的 PATCH 请求。使用上一步中的 GET 请求中的数组,然后移除您不希望在路由器上使用的任何 BGP 对等体。

    注意:您可以发送空数组以移除所有 BGP 对等方。

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    请替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等体数组的内容

    以下示例包含两个 BGP 对等端:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT"
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT"
        }
    

后续步骤