虚拟私有云 (VPC) 网络概览

VPC 网络(有时也简称为“网络”)是数据中心网络等物理网络的虚拟版本。该网络可为您的 Compute Engine 虚拟机 (VM) 实例Kubernetes Engine 集群App Engine Flex 实例以及项目中的其他资源提供建立连接的能力。

项目可以包含多个 VPC 网络。除非您创建组织政策来禁止相关操作,否则新项目会首先创建一个 default 网络,此网络在每个区域内包含一个子网(一个自动模式的网络)。

规范

VPC 网络具有以下属性:

  • VPC 网络(包括其关联的路由和防火墙规则)属于全局资源。它们与任何特定区域或地区均无关联。

  • “子网”属于区域资源。每个子网都会定义一个 IP 地址范围。如需详细了解网络和子网,请参阅网络和子网

  • 进出实例的流量可以通过网络防火墙规则加以控制。

  • VPC 网络内的资源可以使用内部(专用)IPv4 地址相互通信,但须遵守适用的网络防火墙规则。如需了解详情,请参阅网络内通信

  • 具有内部 IP 地址的实例可以与 Google API 和服务通信。如需了解详情,请参阅专用访问权限选项

  • 可以使用 Identity and Access Management (IAM) 角色来保护网络管理。

  • 组织可以使用共享 VPC 将 VPC 网络保留在通用宿主项目中。来自同一组织中其他项目的已授权 IAM 成员可以创建使用共享 VPC 网络子网的资源。

  • 通过使用 VPC 网络对等互连,VPC 网络可以连接到不同项目或组织中的其他 VPC 网络。

  • 可以使用 Cloud VPNCloud Interconnect 在混合环境中以安全的方式连接 VPC 网络。

  • VPC 网络仅支持 IPv4 单播流量。VPC 网络支持网络内的广播多播或 IPv6 流量:VPC 网络内的虚拟机只能将流量发送到 IPv4 目标且只能接收来自 IPv4 来源的流量。但是,可以为全局负载平衡器创建 IPv6 地址。

网络和子网

每个 VPC 网络由一个或多个称为“子网”的有用 IP 范围分区组成。每个子网都与一个区域相关联。VPC 网络本身没有任何相关联的 IP 地址范围。您需要为子网定义 IP 范围。

网络必须至少先具有一个子网,然后才能使用。自动模式网络会自动在每个区域中创建子网。自定义模式网络最初没有子网,让您可以完全控制子网创建。您可以为每个区域创建多个子网。如需了解自动模式网络和自定义模式网络之间的差异,请参阅 VPC 网络的类型

在 GCP 中创建资源时,可以选择网络和子网。对于实例模板以外的其他资源,您还可以选择地区或区域。选择一个地区时,会隐式选择其父区域。由于子网是区域对象,因此您为资源选择的区域决定了它可以使用的子网:

  • 创建实例的流程涉及到选择地区、网络和子网。可供选择的子网仅限于选定区域中的子网。GCP 将子网的可用地址范围中的一个 IP 地址分配给此实例。

  • 创建托管实例组的流程涉及到根据组类型和实例模板选择地区或区域。可供选择的实例模板仅限于其定义子网位于为托管实例组选定的那个区域的实例模板。

    • 实例模板属于全局资源。创建实例模板的流程涉及到选择网络和子网。如果选择自动模式网络,则可以选择“自动子网”,将子网选择推迟到会使用此模板的任何托管实例组选定区域中有可用子网之后,因为根据定义,自动模式网络在每个区域中都有一个子网。
  • 创建 Kubernetes 容器集群的流程涉及到选择地区或区域(具体取决于集群类型),以及选择网络和子网。可供选择的子网仅限于选定区域中的子网。

网络和子网术语

术语“subnet”(子网)和“subnetwork”(子网)是同义词。这两个词在 GCP Console、gcloud 命令和 API 文档中可以互换使用。

子网创建模式

GCP 提供两种类型的 VPC 网络,由其子网创建模式确定:

  • 创建自动模式网络时,会在此网络内为每个区域自动创建一个子网。这些自动创建的子网使用 10.128.0.0/9 CIDR 块内的一组预定义 IP 范围。在新 GCP 区域可用时,这些区域中的新子网将使用该块中的 IP 范围,自动添加到自动模式网络中。除了自动创建的子网之外,您还可以使用 10.128.0.0/9 之外的 IP 范围,在所选区域中向自动模式网络手动添加更多子网

  • 创建自定义模式网络时,不会自动创建子网。这种类型的网络让您可以完全控制其子网和 IP 范围。您可以决定在所选区域中创建哪些子网,并使用您指定的 IP 范围

您可以将网络从自动模式切换到自定义模式。这种转换是单向的;自定义模式网络不能更改为自动模式网络。仔细查看自动模式网络的注意事项,以帮助您确定哪种类型的网络能满足您的需求。

默认网络

除非您选择停用默认网络,否则每个新项目都以 default 网络开始。default 网络是具有预先填充的防火墙规则的自动模式网络。

您可以禁止创建默认网络,只需创建具有 compute.skipDefaultNetworkCreation 限制条件的组织政策即可。继承此组织政策的项目将没有默认网络。

自动模式网络的注意事项

自动模式网络易于设置和使用,并且非常适合具有以下属性的使用场景:

  • 在每个区域中自动创建子网非常有用。

  • 子网的预定义 IP 范围与用于不同用途(例如,与本地资源的 Cloud VPN 连接)的 IP 范围不能重叠。

不过,自定义模式网络更加灵活,也更适合生产。以下属性着重介绍了建议或需要使用自定义模式 VPC 网络的应用场景:

  • 没有必要在每个区域自动创建一个子网。

  • 在新区域可用时,如果自动创建新子网,则可能会与手动创建的子网或静态路由使用的 IP 地址发生重叠,或者可能干扰整体网络规划。

  • 您需要完全控制在 VPC 网络中创建的子网,包括所用区域和 IP 地址范围。

  • 您计划使用 VPC 网络对等互连Cloud VPN 来连接 VPC 网络。由于每个自动模式网络的子网都使用相同的预定义 IP 地址范围,因此您无法在自动模式网络之间建立连接。

子网和 IP 范围

创建子网时,您必须定义主要 IP 地址范围。您最多可以选择定义五个次要 IP 地址范围

  • 主要 IP 地址范围:您可以为子网的主要 IP 地址范围选择任何专用 RFC 1918 CIDR 块。这些 IP 地址可用于虚拟机主要内部 IP 地址、虚拟机别名 IP 地址和内部负载平衡器的 IP 地址。

  • 次要 IP 地址范围:您最多可以定义五个次要 IP 地址范围,这些范围是单独的 RFC 1918 CIDR 块。这些 IP 地址范围仅用于别名 IP 地址。

您的子网不需要形成预定义的连续 CIDR 块,但您可以视需要执行此操作。例如,自动模式网络会创建适合预定义自动模式 IP 范围的子网。

如需了解详情,请参阅“使用 VPC 网络”页面上的处理子网

预留的 IP

每个子网在其主 IP 范围内都有四个预留的 IP 地址:辅助 IP 范围中没有预留的 IP 地址。

预留地址 说明 示例
网络 子网主要 IP 范围中的第一个地址 10.1.2.0/24 中的 10.1.2.0
默认网关 子网主要 IP 范围中的第二个地址 10.1.2.0/24 中的 10.1.2.1
倒数第二个预留 子网主要 IP 范围中的倒数第二个地址 10.1.2.0/24 中的 10.1.2.254
广播 子网主要 IP 范围中的最后一个地址 10.1.2.0/24 中的 10.1.2.255

自动模式 IP 范围

此表列出了自动模式网络中自动创建的子网的 IP 范围。这些子网的 IP 范围处于 10.128.0.0/9 CIDR 块内。在创建时,自动模式网络会为每个区域构建一个子网,并自动接收新区域中的新子网。因此,10.128.0.0/9 中未使用的部分会预留,供未来的 GCP 使用。

区域 IP 范围 (CIDR) 默认网关 可用地址(含边界值)
asia-east1 10.140.0.0/20 10.140.0.1 10.140.0.2 至 10.140.15.253
asia-east2 10.170.0.0/20 10.170.0.1 10.170.0.2 至 10.170.15.253
asia-northeast1 10.146.0.0/20 10.146.0.1 10.146.0.2 至 10.146.15.253
asia-south1 10.160.0.0/20 10.160.0.1 10.160.0.2 至 10.160.15.253
asia-southeast1 10.148.0.0/20 10.148.0.1 10.148.0.2 至 10.148.15.253
australia-southeast1 10.152.0.0/20 10.152.0.1 10.152.0.2 至 10.152.15.253
europe-north1 10.166.0.0/20 10.166.0.1 10.166.0.2 至 10.166.15.253
europe-west1 10.132.0.0/20 10.132.0.1 10.132.0.2 至 10.132.15.253
europe-west2 10.154.0.0/20 10.154.0.1 10.154.0.2 至 10.154.15.253
europe-west3 10.156.0.0/20 10.156.0.1 10.156.0.2 至 10.156.15.253
europe-west4 10.164.0.0/20 10.164.0.1 10.164.0.2 至 10.164.15.253
europe-west6 10.172.0.0/20 10.172.0.1 10.172.0.2 至 10.172.15.253
northamerica-northeast1 10.162.0.0/20 10.162.0.1 10.162.0.2 至 10.162.15.253
southamerica-east1 10.158.0.0/20 10.158.0.1 10.158.0.2 至 10.158.15.253
us-central1 10.128.0.0/20 10.128.0.1 10.128.0.2 至 10.128.15.253
us-east1 10.142.0.0/20 10.142.0.1 10.142.0.2 至 10.142.15.253
us-east4 10.150.0.0/20 10.150.0.1 10.150.0.2 至 10.150.15.253
us-west1 10.138.0.0/20 10.138.0.1 10.138.0.2 至 10.138.15.253
us-west2 10.168.0.0/20 10.168.0.1 10.168.0.2 至 10.168.15.253

路由和防火墙规则

路由

路由定义了数据包离开实例(出站流量)的路径。GCP 中的路由分为两类:系统生成的路由和自定义路由。本部分简要介绍了两类系统生成的路由。您也可以在网络中创建自定义路由。如需了解 GCP 中路由的完整详情,请参阅路由概览

每个新网络都始于两类系统生成的路由:

  • 默认路由定义了流量离开 VPC 网络的路径。它为符合互联网访问要求的虚拟机提供常规互联网访问权限。它还为专用 Google 访问权限提供了典型路径。

  • 子网路由是为与子网相关的每个 IP 范围创建的。每个子网的主要 IP 范围至少有一个子网路由,如果您向子网添加次要 IP 范围,则会为此子网创建其他子网路由。子网路由定义了流量到达使用这些子网的虚拟机的路径。

动态路由模式

每个 VPC 网络都有一个关联的动态路由模式,用于控制网络中所有 Cloud Router 路由器的行为。在通过使用动态路由的 Cloud VPN 隧道专用互连合作伙伴互连将您的 VPC 网络连接到其他网络时,Cloud Router 路由器可与您的 VPC 网络共享路由,还可以获悉来自已连接网络的自定义动态路由。

  • 默认设置是区域动态路由。在此模式下,VPC 网络中给定 Cloud Router 路由器获悉的本地资源路由仅适用于 Cloud Router 路由器所在区域中的子网。除非由自定义通告修改,否则每个 Cloud Router 路由器仅与其本地对应设备共享其所在区域内的子网路由。

  • 全局动态路由改变了网络中所有 Cloud Router 路由器的行为,使得它们获悉的本地资源路由可供 VPC 网络中的所有子网使用,无论这些子网所在的区域如何。除非由自定义通告修改,否则每个 Cloud Router 路由器会与其本地对应设备共享 VPC 网络中所有子网的路由。

如需了解如何自定义 Cloud Router 路由器共享的路由集,请参阅自定义通告

在您创建 VPC 网络或修改 VPC 网络时,可以设置动态路由模式。您可以不受限制地将动态路由模式从区域更改为全局,反之亦然。如需了解相关说明,请参阅使用 VPC 网络

防火墙规则

防火墙规则适用于网络中的传出(出站)和传入(入站)流量。防火墙规则用于控制流量(即使流量完全在网络内),包括虚拟机实例之间的通信。

每个 VPC 网络都有两条隐式防火墙规则。一条隐式规则允许大部分出站流量,另一条规则拒绝所有入站流量。您无法删除隐式规则,但可以使用自己的规则替换它们。无论防火墙规则如何,GCP 始终会禁止部分流量。如需了解详情,请参阅禁止的流量

如需了解详情,请参阅防火墙规则概览

您可以监控哪些防火墙规则允许或拒绝了特定连接。如需了解详情,请参阅防火墙规则日志记录

网络内通信

系统生成的子网路由定义了使用内部(专用)IP 地址在网络内的实例之间发送流量的路径。为了让一个实例能够与另一个实例进行通信,还必须配置适当的防火墙规则,因为每个网络都具有用于入站流量的隐式拒绝防火墙规则

除了 default 网络之外,您还必须显式创建更高优先级的入站防火墙规则,以允许实例互相通信。除了隐式规则之外,default 网络还包括一些防火墙规则,其中包括允许网络内实例间通信的 default-allow-internal 规则。default 网络还带有允许 RDP 和 SSH 等协议的入站规则。

default 网络附带的规则也会显示为选项,供您应用于使用 GCP Console 创建的新自动模式网络。

互联网访问要求

具有传出互联网访问权限的实例必须满足以下条件:

  • 网络必须具有有效的默认互联网网关路由,或者目标 IP 范围属于最广泛范围 (0.0.0.0/0) 的自定义路由。此路由仅定义了互联网的路径。如需详细了解路由,请参阅路由

  • 防火墙规则必须允许来自实例的出站流量。除非被更高优先级的规则所替换,否则出站流量的隐式允许规则适用于所有实例的出站流量。

  • 以下各项之一必须为真:

    • 该实例必须具有外部 IP 地址。外部 IP 可在创建时创建后分配给实例。

    • 实例必须能够使用 Cloud NAT 或基于实例的代理(即静态 0.0.0.0/0 路由的目标)。

VPC 网络示例

以下示例说明了两个区域中具有三个子网的自定义模式网络:

VPC 网络示例(点击可放大)
VPC 网络示例(点击可放大)
  • Subnet1 定义为 us-west1 区域内的 10.240.0.0/24
    • us-west1-a 地区中的两个虚拟机实例位于此子网中。它们的 IP 地址均在 subnet1 中的可用地址范围内。
  • Subnet2 定义为 us-east1 区域内的 192.168.1.0/24
    • us-east1-a 地区中的两个虚拟机实例位于此子网中。它们的 IP 地址均在 subnet2 中的可用地址范围内。
  • Subnet3 同样位于 us-east1 区域内,定义为 10.2.0.0/16
    • us-east1-a 地区内的一个虚拟机实例和 us-east1-b 地区内的另一个实例都位于 subnet3 中,每个实例均获得的 IP 地址均在可用范围内。因为子网属于区域资源,所以实例可以将其网络接口与包含其地区的那个区域中的任何子网相关联。

后续步骤

  • 请参阅使用 VPC,了解如何创建和修改 VPC 网络。
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页