停用或移除 BGP 会话

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

准备工作

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

  1. 安装或更新为 gcloud 命令行工具的最新版本。
  2. 设置默认区域和地区

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

停用 BGP 会话

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

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

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

控制台

  1. 在 Google Cloud Console 中,转到 Cloud Router 路由器页面。

    转到 Cloud Router 路由器页面

  2. 选择要停用其 BGP 会话的路由器。

  3. 路由器详情页面上,点击 修改

  4. BGP 对等端下,选择已停用

  5. 点击更新

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 Console、update-bgp-peer 命令或 API 启用 BGP 会话。BGP 会话默认启用。

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

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

控制台

  1. 在 Google Cloud Console 中,转到 Cloud Router 路由器页面。

    转到 Cloud Router 路由器页面

  2. 选择您要启用 BGP 会话的路由器。

  3. 路由器详情页面上,点击 修改

  4. BGP 对等端下,选择已启用

  5. 点击更新

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 Console、remove-bgp-peer 命令或 API 手动移除 BGP 会话。如果您移除 BGP 会话,则 VPN 隧道或 VLAN 连接会保留,但 Cloud Router 不会通过它们通告路由。

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

控制台

  1. 在 Google Cloud Console 中,转到 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"
        }
    

后续步骤