停用或移除 BGP 会话

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

准备工作

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

  1. 安装或更新到 Google Cloud CLI 的最新版本。
  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. 路由器详情页面上,选择您要停用的 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 Console、update-bgp-peer 命令或 API 来启用 BGP 会话。BGP 会话默认启用。

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

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

控制台

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

后续步骤