您可以更新现有 Cloud Router 路由器或某个 Cloud Router 路由器上的 BGP 会话,以通告 VPC 网络的子网 IP 地址范围以外的 IP 地址范围。例如,您可以通告外部 IP 地址、任意内部 IP 地址,或者通过 VPC 网络对等互连连接的对等 VPC 网络中子网 IP 地址范围内的内部 IP 地址。
请参阅创建 Cloud Router 路由器或建立 BGP 会话,了解如何在创建 Cloud Router 路由器或配置 BGP 会话时指定通告。
如需在现有 Cloud Router 路由器上指定通告,请执行以下操作:
控制台
- 转到 Google Cloud Console 中的“Cloud Router 路由器”页面。
Cloud Router 路由器列表 - 选择要更新的 Cloud Router 路由器。
- 在 Cloud Router 路由器的详情页面中,选择修改。
- 展开通告的路由部分。
- 对于路由,选择创建自定义路由。
- 选择通告向 Cloud Router 路由器公开的所有子网以继续通告 Cloud Router 路由器可用的子网。启用此选项可模拟 Cloud Router 路由器的默认行为。
- 选择添加自定义路由以添加通告路由。
- 配置路由通告。
- 来源 - 选择自定义 IP 范围以指定自定义 IP 范围。
- IP 地址范围 - 使用 CIDR 表示法指定自定义 IP 范围。
- 描述 - 添加描述以帮助标识此路由通告的用途。
- 添加完路由后,选择保存。
gcloud
运行 update
命令,并使用 --set-advertisement-ranges
或 --add-advertisement-ranges
标志指定自定义 IP 范围:
如需设置自定义 IP 范围,请使用
--set-advertisement-ranges
标志。所有现有的自定义通告都会被替换。以下示例演示了如何更新my-router
Cloud Router 路由器,以通告所有子网以及自定义 IP 范围1.2.3.4
和6.7.0.0/16
:gcloud compute routers update my-router \ --advertisement-mode custom \ --set-advertisement-groups all_subnets \ --set-advertisement-ranges 1.2.3.4,6.7.0.0/16
--set-advertisement-groups
标志接受 Cloud Router 路由器动态通告的 Google 定义组。您可以移除--set-advertisement-groups
标志以排除子网通告。如需查看完整的通告组列表,请参阅 Google SDK 文档中的set-advertisement-groups
标志。如需将自定义 IP 范围附加到现有通告,请使用
--add-advertisement-ranges
标志。请注意,您必须将 Cloud Router 路由器的通告模式设置为custom
才能使用此标志。以下示例展示了如何将1.2.3.5
自定义 IP 添加到 Cloud Router 路由器的通告中:gcloud compute routers update my-router \ --add-advertisement-ranges 1.2.3.5
API
如需在 Cloud Router 路由器上指定通告,请使用 routers.patch
方法更新 bgp.advertisedGroups[]
和 bgp.advertisedIpRanges[]
字段。
bgp.advertisedGroups[]
和 bgp.advertisedIpRanges[]
字段存储通告组和通告 IP 地址范围的数组。PATCH
这些字段时,您将使用请求中的新数组覆盖现有数组。
发送
GET
请求以获取路由器上的当前通告组和通告 IP 地址范围的数组。请参阅查看 Cloud Router 路由器配置。发送
PATCH
请求,其中包含新的通告组和通告 IP 地址范围的数组。使用上一步中的GET
请求中的数组,然后添加您希望在路由器上使用的所有组或 IP 地址范围。PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "bgp": { "advertisedGroups": [ "ADVERTISED_GROUPS" ], "advertisedIpRanges": [ ADVERTISED_IP_RANGES ] } }
替换以下值:
PROJECT_ID
:Cloud Router 路由器所属的项目REGION
:Cloud Router 路由器所在的区域ROUTER_NAME
:Cloud Router 路由器的名称ADVERTISED_GROUPS
:Cloud Router 路由器动态通告的组,由 Google 定义。唯一的有效值是ALL_SUBNETS
,它根据 VPC 网络的动态路由模式通告子网(类似于默认通告)。ADVERTISED_IP_RANGES
:新 IP 地址范围数组的内容。下面的示例中包含两个 IP 地址范围:
{ "range": "1.2.3.4", "description": "First example range" }, { "range": "6.7.0.0/16", "description": "Second example range" }
如需在现有 BGP 会话中指定通告,请执行以下操作:
控制台
- 转到 Google Cloud Console 中的“Cloud Router 路由器”页面。
Cloud Router 路由器列表 - 选择待更新 BGP 会话所属的 Cloud Router 路由器。
- 在 Cloud Router 路由器的详情页面中,选择要更新的 BGP 会话。
- 在 BGP 会话详情页面中,选择修改。
- 对于路由,选择创建自定义路由。
- 选择通告向 Cloud Router 路由器公开的所有子网以继续通告 Cloud Router 路由器可用的子网。启用此选项可模拟 Cloud Router 路由器的默认行为。
- 选择添加自定义路由以添加通告路由。
- 配置路由通告。
- 来源 - 选择自定义 IP 范围以指定自定义 IP 范围。
- IP 地址范围 - 使用 CIDR 表示法指定自定义 IP 范围。
- 描述 - 添加描述以帮助标识此路由通告的用途。
- 添加完路由后,选择保存。
gcloud
运行 update-bgp-peer
命令,并使用 --set-advertisement-ranges
或 --add-advertisement-ranges
标志指定自定义 IP 范围。
如需设置自定义 IP 范围,请使用
--set-advertisement-ranges
标志。所有现有的自定义通告都会被替换。以下示例演示了如何更新my-router
Cloud Router 路由器上的my-bgp-session
BGP 会话,以通告所有子网以及自定义 IP 范围1.2.3.4
和6.7.0.0/16
:gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --advertisement-mode custom \ --set-advertisement-groups all_subnets \ --set-advertisement-ranges 1.2.3.4,6.7.0.0/16
--set-advertisement-groups 标志接受 BGP 会话动态通告的 Google 定义组。您可以移除
--add-advertisement-groups
标志以排除子网通告。如需查看完整的通告组列表,请参阅 Google SDK 文档中的set-advertisement-groups
标志。如需将自定义 IP 范围附加到现有通告,请使用
--add-advertisement-ranges
标志。请注意,您必须将 Cloud Router 路由器的通告模式设置为custom
才能使用此标志。以下示例展示了如何将1.2.3.5
自定义 IP 添加到 Cloud Router 路由器的通告中:gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --add-advertisement-ranges 1.2.3.5
API
如需在 BGP 会话上指定通告,请使用 routers.patch
方法更新 bgpPeers[]
字段。
bgpPeers[]
字段接受 BGP 对等体数组。PATCH
此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等体数组。
发送
GET
请求以获取路由器的当前 BGP 对等体数组。请参阅查看 Cloud Router 路由器配置。发送带有新 BGP 对等体数组的
PATCH
请求。针对要为其添加通告的每个 BGP 对等体,执行以下操作:- 在
bgpPeers[].advertisedIpRanges[]
字段中添加您需要的所有 IP 地址范围通告。 - 在
bgpPeers[].advertisedGroups[]
字段中添加您需要的所有组通告。有效值为ALL_SUBNETS
和ALL_VPC_SUBNETS
。如需详细了解这些值,请参阅 API 文档中的routers.patch
。
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": "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": "peer-2", "interfaceName": "if-peer-2", "ipAddress": "169.254.20.1", "peerIpAddress": "169.254.20.2", "peerAsn": 64513, "advertisedRoutePriority": 100, "advertiseMode": "CUSTOM", "advertisedIpRanges": [ { "range": "192.168.10.0/24", "description": "Third example range" } ] }
- 在
后续步骤
- 如需查看 Cloud Router 要通告的路由,请参阅查看 Cloud Router 状态和路由。
- 如需查看 Cloud Router 路由器及其 BGP 会话的配置,请参阅查看 Cloud Router 路由器配置。
- 如需排查自定义路由通告问题,请参阅问题排查。