设置和管理 VPC 网络对等互连

Google Cloud VPC 网络对等互连允许跨两个 Virtual Private Cloud (VPC) 网络的内部 IP 地址连接(无论它们是否属于同一个项目或组织)。对等互连支持具有双栈子网的网络之间的连接。

如需了解详情,请参阅 VPC 网络对等互连

创建对等互连配置

在开始之前,您必须知道要与之建立对等互连的 VPC 网络的名称。如果该网络位于另一个项目中,则您还必须知道该项目的项目 ID。 您无法列出您的 VPC 网络的对等互连请求。如有必要,请询问您想要与之建立对等互连的网络的管理员,以获取网络和项目名称。

对等互连配置可确立连接到另一个 VPC 网络的意图。在您的网络和另一个网络没有针对对方的对等互连配置之前,它们不会连接。在另一个网络设立与您的网络建立对等互连的相应配置之后,这两个网络中的对等互连状态都将更改为 ACTIVE,并且相互连接。如果另一个网络中没有匹配的对等互连配置,则对等互连状态保持为 INACTIVE,这表示您的网络未连接到另一个网络。

在对等互连网络中,Google Cloud 每次仅允许执行一项与对等互连相关的操作。例如,如果您与一个网络设置了对等互连,随后立即尝试设置另一个网络,则操作会失败,并显示以下消息:Error: There is a peering operation in progress on the local or peer network. Try again later.

连接后,两个 VPC 网络始终交换使用专用 IPv4 地址范围的 IPv4 子网路由(主要和次要 IPv4 子网范围)。如需详细了解子网路由交换选项,请参阅用于交换子网路由的选项。如需详细了解如何交换静态或动态路由,请参阅用于交换静态路由的选项用于交换动态路由的选项

控制台

  1. 在 Google Cloud Console 中,转到 VPC 网络对等互连页面。
    转到 VPC 网络对等互连
  2. 点击创建连接
  3. 点击继续
  4. 名称字段中,输入对等互连配置的名称。
  5. 您的 VPC 网络下方,选择您要建立对等互连的网络。
  6. 选择要与之建立对等互连的网络。

    • 如果您要与之建立对等互连的网络位于同一项目中,请选择在项目 [NAME-OF-YOUR-PROJECT] 中 (In project [NAME-OF-YOUR-PROJECT]),然后选择要与之建立对等互连的网络。
    • 如果您要与之建立对等互连的网络位于其他项目中,请选择在另一个项目中。指定包含您要与之建立对等互连的网络的项目 ID 以及 VPC 网络的名称。
  7. IP 栈类型下,指定应在对等互连的网络之间交换哪些子网路由:

    • IPv4(单栈):仅交换 IPv4 路由。
    • IPv4 和 IPv6(双栈):同时交换 IPv4 和 IPv6 路由。
  8. 如需导入或导出 IPv4 和 IPv6 自定义路由,请选择以下一个或两个选项:

    • 导入自定义路由:从对等网络导入自定义路由。对等网络必须为要导入的路由启用自定义路由导出。
    • 导出自定义路由:将自定义路由导出到对等网络。对等网络必须为要导出的路由启用自定义路由导入。
  9. 如果您的网络或对等网络在其子网中使用专用公共 IPv4 范围,则这些路由默认导出,但不会默认导入。如需导入专用公共 IPv4 子网路由,请选择:

    • 导入具有公共 IP 的子网路由,以导入由其他网络导出的以非公开方式使用的公共 IPv4 子网路由
  10. 点击创建

gcloud

创建 VPC 网络对等互连连接。

gcloud compute networks peerings create PEERING_NAME \
    --network=NETWORK \
    --peer-project=PEER_PROJECT_ID \
    --peer-network=PEER_NETWORK_NAME \
    [--stack-type=STACK_TYPE] \
    [--import-custom-routes] \
    [--export-custom-routes] \
    [--import-subnet-routes-with-public-ip] \
    [--export-subnet-routes-with-public-ip]

替换以下内容:

  • PEERING_NAME:对等互连配置的名称。
  • NETWORK:项目中您想要对等互连的网络的名称
  • PEER_PROJECT_ID:包含您要与之建立对等互连的网络的项目的 ID。
  • PEER_NETWORK_NAME:您要与之建立对等互连的网络的名称。
  • STACK_TYPE:对等互连连接的堆栈类型。指定 IPV4_ONLY 以仅交换 IPv4 路由。或者,指定 IPV4_IPV6 以同时交换 IPv4 和 IPv6 路由。IPV4_ONLY 为默认值。
  • --import-custom-routes 指示网络接受来自对等互连网络的自定义路由。对等互连网络必须先导出路由。
  • --export-custom-routes 指示网络将自定义路由导出到对等互连网络。必须将对等互连网络设置为导入路由。
  • --import-subnet-routes-with-public-ip 指示网络在对等互连网络在其子网中使用专用公共 IPv4 地址的情况下接受该网络的子网路由。对等互连网络必须先导出路由。
  • --export-subnet-routes-with-public-ip 指示网络导出包含以非公开方式使用的公共 IPv4 地址的子网路由。必须将对等互连网络设置为导入路由。

Terraform

您可以使用 Terraform 模块来创建对等互连配置。

module "peering1" {
  source        = "terraform-google-modules/network/google//modules/network-peering"
  version       = "~> 9.0"
  local_network = var.local_network # Replace with self link to VPC network "foobar" in quotes
  peer_network  = var.peer_network  # Replace with self link to VPC network "other" in quotes
}

对于两个对等互连的 VPC 网络,每个页内链接都包含项目 ID 和 VPC 网络的名称。要获取 VPC 网络的页内链接,您可以在每个 VPC 网络的项目中使用 gcloud compute networks describe 命令或 networks.get 方法。

创建从 local_networkpeer_network 的对等互连时,对等互连关系是双向的。从 peer_networklocal_network 的对等互连将自动创建。

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

验证流量是否在对等互连的 VPC 网络之间传递

您可以使用 VPC 流日志来查看虚拟机实例发送和接收的网络流。您还可以使用防火墙规则日志记录来验证流量是否在网络之间传递。创建允许(或拒绝)对等互连网络之间流量的 VPC 防火墙规则,并为这些规则启用防火墙规则日志记录。之后,您便可以使用 Cloud Logging 查看有哪些防火墙规则命中。

更新对等连接

更新现有 VPC 网络对等互连连接时,您可以执行以下操作:

  • 更改 VPC 网络是向对等 VPC 网络导出或导入自定义路由还是以非公开方式使用的公共 IPv4 子网路由。
  • 更新现有对等互连连接以启用或停用对等互连网络之间的 IPv6 路由交换。

仅当对等互连网络也导出路由时,您的网络才会导入路由,并且仅当对等互连网络导入路由时,才会接收路由。

控制台

  1. 在 Google Cloud Console 中,转到 VPC 网络对等互连页面。
    转到 VPC 网络对等互连
  2. 选择要更新的对等互连连接。
  3. 点击修改
  4. 更新 IP 栈类型选择,以指定应在对等互连网络之间交换哪些子网路由:
    • IPv4(单栈):停止通过对等互连进行的现有 IPv6 路由交换,并继续仅交换 IPv4 路由。
    • IPv4 和 IPv6(双栈):开始交换 IPv4 和 IPv6 路由,前提是匹配的对等互连连接也将 IP 栈类型设置为 IPv4 和 IPv6(双栈)
  5. 如需导入或导出 IPv4 和 IPv6 自定义路由,请选择以下一个或两个选项:
    • 导入自定义路由:导入其他网络导出的自定义路由
    • 导出自定义路由:将自定义路由导出到另一个网络。其他网络必须导入路由才能看到它们。
  6. 如果您的网络或对等网络在其子网中使用专用公共 IPv4 范围,则这些路由默认导出,但不会默认导入。如需导入专用公共 IPv4 子网路由,请选择:
    • 导入具有公共 IP 的子网路由,以导入由其他网络导出的以非公开方式使用的公共 IPv4 子网路由
    • 点击保存

gcloud

gcloud compute networks peerings update PEERING_NAME \
    --network=NETWORK \
    [--stack-type=STACK_TYPE] \
    [--import-custom-routes] \
    [--export-custom-routes] \
    [--export-subnet-routes-with-public-ip] \
    [--import-subnet-routes-with-public-ip]

替换以下内容:

  • PEERING_NAME:现有对等互连连接的名称。
  • NETWORK:您的项目中对等互连的网络的名称。
  • STACK_TYPE:对等互连连接的堆栈类型。
    • 指定 IPV4_ONLY 以停止通过对等互连进行现有的 IPv6 路由交换,并继续仅交换 IPv4 路由。
    • 指定 IPV4_IPV6 以开始同时交换 IPv4 和 IPv6 路由,前提是匹配的对等互连连接也将 stack_type 设置为 IPV4_IPV6
  • --import-custom-routes 指示网络接受来自对等互连网络的自定义路由。对等互连网络必须先导出路由。
  • --export-custom-routes 指示网络将自定义路由导出到对等互连网络。必须将对等互连网络设置为导入路由。
  • --import-subnet-routes-with-public-ip 指示网络在对等互连网络在其子网中使用专用公共 IPv4 地址的情况下接受该网络的子网路由。对等互连网络必须先导出路由。
  • --export-subnet-routes-with-public-ip 指示网络导出包含以非公开方式使用的公共 IPv4 地址的子网路由。必须将对等互连网络设置为导入路由。

列出对等互连连接

列出现有对等互连连接,以查看其状态及其是导入还是导出自定义路由。

控制台

  1. 在 Google Cloud Console 中,转到 VPC 网络对等互连页面。
    转到 VPC 网络对等互连
  2. 选择对等互连连接以查看其详细信息。

gcloud

gcloud compute networks peerings list

列出对等互连路由

控制台

使用有效路由标签页查看 VPC 网络中所有适用的路由类型,包括导入的对等互连子网、对等互连静态路由和对等互连动态路由。

  1. 在 Google Cloud 控制台中,转到路由页面。

    进入“路由”

  2. 有效路由标签页上,执行以下操作:

    • 选择 VPC 网络
    • 选择区域
  3. 点击视图

  4. 点击过滤条件文本字段,然后执行以下操作:

    • 属性菜单中选择类型
    • 菜单中选择以下选项之一。
      • 对等互连子网:查看来自对等 VPC 网络的子网路由。
      • 对等互连静态:查看从对等 VPC 网络导入的静态路由。
      • 对等互连动态:查看从对等 VPC 网络导入的动态路由。
  5. (可选)点击 Show suppressed routes 以查看被抑制的路由。将指针放在状态列中的图标上,可查看路由被抑制的原因。该原因包括指向路由顺序文档的链接,其中包含说明。

gcloud

使用以下 Google Cloud CLI 命令执行以下操作:

  • 列出从您的 VPC 网络发送到对等 VPC 网络的路由导出
  • 列出 VPC 网络的路由导入候选项。
gcloud compute networks peerings list-routes PEERING_NAME \
    --network=NETWORK \
    --region=REGION \
    --direction=DIRECTION

替换以下内容:

  • PEERING_NAME:现有对等互连连接的名称。
  • NETWORK:您的项目中对等互连的网络的名称。
  • REGION:您要列出所有动态路由的区域。子网和静态路由都是全球性的,并且针对所有区域显示。
  • DIRECTION:指定要列出导入的 (incoming) 还是导出的 (outgoing) 路由。

删除 VPC 网络对等互连连接

您或对等互连 VPC 网络的网络管理员可以删除对等互连配置。删除对等互连配置后,对等互连连接在另一个网络中会切换为 INACTIVE,并且在这两个网络之间共享的所有路由都会被移除。

控制台

  1. 转到 Google Cloud Console 中的“VPC 网络对等互连”页面。
    转到 VPC 网络对等互连
  2. 选中要移除的对等互连旁边的复选框。
  3. 点击删除

gcloud

gcloud compute networks peerings delete PEERING_NAME \
    --network=NETWORK

替换以下内容:

  • PEERING_NAME:要删除的对等互连连接的名称。
  • NETWORK:您的项目中对等互连的网络的名称。

问题排查

以下部分介绍如何排查 VPC 网络对等互连的问题。

对等虚拟机无法访问

在对等互连连接转为 ACTIVE 状态后,可能需要一分钟时间才能在对等互连的网络之间建立起所有流量流。具体所需时间取决于对等互连网络的规模。如果您最近设置了对等互连连接,请等待一分钟之后再试。此外,请确保没有防火墙规则禁止与对等互连 VPC 网络子网 CIDR 之间的访问。

缺少自定义路由

本部分介绍了如何排查缺少自定义路由的问题。

检查对等互连连接状态

如需检查对等互连连接的状态,请执行以下操作:

  1. 列出对等互连连接
  2. 确定要进行问题排查的对等互连连接,并查看其对等互连状态。
    1. 如果状态为 ACTIVE,请按照下一部分中的步骤操作。
    2. 如果对等互连状态为 INACTIVE,则另一个网络的网络管理员需要为您的 VPC 网络创建对等互连配置

排查 ACTIVE 连接问题

如需排查 ACTIVE 对等互连连接中缺少自定义路由的问题,请执行以下操作:

  1. 列出您的 VPC 网络中的对等互连路由。在有效路由标签页中,执行以下操作:

    1. 请注意,在其中对动态路由进行编程的区域取决于导出自定义路由的 VPC 网络的动态路由模式。如需了解详情,请参阅动态路由模式的影响。在全球动态路由模式下,只有排名最高的动态路由在与下一个跃点的区域不匹配的区域中进行编程。

    2. 点击 Show suppressed routes 切换开关以切换到开启位置,然后检查您的路由。如需查看路由被抑制的原因,请将光标指向状态列中的图标。Google Cloud 会在使用 VPC 网络对等互连导入路由的 VPC 网络中按区域提供路由冲突解决。

    3. 查找一条警告,指示您的 VPC 网络已达到每对等互连组每区域的动态路由配额限制。如果您的 VPC 网络已达到此配额的限制,则表示一个或多个对等互连动态路由未编程。由于无法准确显示哪些对等互连动态路由未编程,因此请申请提高每对等互连组每区域的动态路由配额限制。

  2. 如果您仍没有看到预期的路由,请执行以下操作:

    1. 查看对等互连配置,并根据需要更新对等互连配置,以便它导入自定义路由。

    2. 确保路由不是以下无法使用 VPC 网络对等互连交换的路由类型之一:

      • 对等互连 VPC 网络中从其他对等网络接收的对等互连子网、对等互连静态路由和对等互连动态路由无法使用 VPC 网络对等互连与您的 VPC 网络交换。

      • 使用默认互联网网关下一个跃点的静态路由和带有网络标记的静态路由无法使用 VPC 网络对等互连进行交换

      如需了解详情,请参阅路由交换选项

    3. 请对等互连 VPC 网络的网络管理员执行以下操作:

      1. 列出其 VPC 网络中的路由,查找您预期的路由。

      2. 查看其对等互连配置,并根据需要更新对等互连配置,以便它导出自定义路由。

目标位置为对等网络的流量被丢弃

您可以使用 Connectivity Tests 来帮助确定发往对等网络的流量被丢弃的原因。如果应使用自定义路由发送流量,请参阅缺少自定义路由

流量正在发送到非预期的下一个跃点

您可以使用 Connectivity Tests 来帮助确定流量发送到非预期的下一个跃点的原因。如果应使用自定义路由发送流量,请参阅缺少自定义路由

无法与特定 VPC 网络对等互连

如果您无法创建针对某些 VPC 网络的对等互连配置,可能有某项组织政策正在限制您的网络可以与之建立对等互连的 VPC 网络。在组织政策中,将该网络添加到允许的对等互连方列表中或与组织管理员联系。如需了解详情,请参阅 constraints/compute.restrictVpcPeering 限制条件。

IPv6 路由不交换

首先,验证您的对等互连连接和对等互连 VPC 网络的对等互连连接是否均将其栈类型设置为 IPV4_IPV6。如有必要,请执行以下操作:

  • 更新对等互连连接,将其栈类型设置为 IPV4_IPV6
  • 请对等互连 VPC 网络的网络管理员更新其对等互连连接,将其栈类型设置为 IPV4_IPV6

在两个对等互连连接将其栈类型设置为 IPV4_IPV6 后,系统会交换 IPv6 子网路由(内部和外部)。IPv6 子网路由在所有 Google Cloud VPC 网络中是唯一的。

如需交换 IPv6 自定义路由,请执行以下操作:

  • 更新对等互连连接以导入和导出自定义路由。
  • 请对等互连 VPC 网络的网络管理员更新其对等互连连接,以导入和导出自定义路由。

后续步骤