使用 VPC 网络

本页面介绍了如何创建、修改和删除 VPC 网络。本页面假定您已了解 VPC 网络概览中所述的 VPC 网络特征。网络和子网在 GCP 中是不同的资源

创建网络

您可以选择创建自动模式 VPC 网络或自定义模式 VPC 网络。您创建的每个新网络在同一项目内必须具有唯一的名称。

创建自动模式网络

在您创建自动模式网络时,此网络会自动在每个 GCP 区域创建一个子网。在新区域可用后,这些区域中的新子网将自动添加到自动模式网络中。自动创建的子网的 IP 范围来自预定范围集。所有自动模式网络都使用同一组 IP 范围。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
  2. 点击创建 VPC 网络
  3. 输入网络的名称
  4. 子网创建模式选择自动
  5. 防火墙规则部分中,选择一个或多个预定义的防火墙规则,用于处理与虚拟机之间连接的常见使用场景。如果您不需要使用任何规则,则无需选择任何内容。您可以在创建网络之后创建自己的防火墙规则
  6. 为 VPC 网络选择动态路由模式

    如需了解详情,请参阅动态路由模式。稍后,您可以更改动态路由模式

  7. 点击创建

gcloud

使用以下 gcloud 命令可创建自动模式网络:

gcloud compute networks create [NETWORK_NAME] \
    --subnet-mode=auto \
    --bgp-routing-mode=[DYNAMIC_ROUTING_MODE]

将占位符替换为有效值:

  • [NETWORK_NAME] 是 VPC 网络的名称。
  • [DYNAMIC_ROUTING_MODE] 可以是 globalregional,用于控制网络中 Cloud Router 路由器的行为。如需了解详情,请参阅动态路由模式

创建自定义模式网络

您可以控制在自定义模式 VPC 网络中创建的子网。您可以在创建网络时创建子网,也可以稍后添加子网

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
  2. 点击创建 VPC 网络
  3. 输入网络的名称
  4. 子网创建模式选择自定义
  5. 新子网部分,为子网指定以下配置参数:
    1. 为子网提供名称
    2. 选择区域
    3. 输入 IP 地址范围。这是子网的主要 IP 范围
    4. 要为子网定义次要范围,请点击创建次要 IP 范围
    5. 专用 Google 访问通道:选择是在创建子网时为它启用专用 Google 访问通道,还是稍后通过修改来启用。
    6. 流日志:选择是在创建子网时为它启用 VPC 流日志,还是稍后通过修改来启用。
    7. 点击完成
  6. 要添加更多子网,请点击添加子网,然后重复上述步骤。此外,您还可以在创建网络后向网络添加更多子网。
  7. 为 VPC 网络选择动态路由模式

    如需了解详情,请参阅动态路由模式。稍后,您可以更改动态路由模式

  8. 点击创建

gcloud

使用以下 gcloud 命令可创建新的自定义模式网络。创建网络后,按照添加子网的相关说明将子网添加到网络中。

gcloud compute networks create [NETWORK_NAME] \
    --subnet-mode=custom \
    --bgp-routing-mode=[DYNAMIC_ROUTING_MODE]

将占位符替换为有效值:

  • [NETWORK_NAME] 是 VPC 网络的名称。
  • [DYNAMIC_ROUTING_MODE] 可以是 globalregional,用于控制网络中 Cloud Router 路由器的行为。如需了解详情,请参阅动态路由模式

查看网络

查看项目中的 VPC 网络和旧版网络。对于 VPC 网络,您可以查看有关其子网及其子网创建模式的信息。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面

    Console 会列出所有 VPC 网络和旧版网络。

  2. 选择一个 VPC 网络以查看其详细信息,例如该 VPC 网络的对等连接和子网。

gcloud

  1. 列出项目中的网络,如以下示例所示。

    gcloud compute networks list
    

    该命令会列出所有 VPC 网络和旧版网络。旧版网络显示子网创建模式为 LEGACY,而 VPC 网络显示 AUTOCUSTOM

    NAME             SUBNET_MODE  BGP_ROUTING_MODE  IPV4_RANGE     GATEWAY_IPV4
    custom-network   CUSTOM       REGIONAL
    default          AUTO         REGIONAL
    legacy-network1  LEGACY       REGIONAL          10.240.0.0/16  10.240.0.1
    
  2. 描述一个网络以查看其详细信息,例如该网络的对等连接和子网。

    gcloud compute networks describe [NETWORK_NAME]
    

处理子网

您在创建或修改子网时必须遵循以下规则:

  • 在一个项目中,子网不能与 VPC 网络同名,除非它是该网络的成员。在一个项目中,同一区域中的子网必须具有唯一名称。例如,名为 production 的网络可以具有多个同样名为 production 的子网,前提是每个子网都位于唯一区域中。

  • 创建子网后,就无法更改子网的名称或区域。不过,只要没有任何资源在使用子网,您就可以删除和替换它。

  • 每个子网都必须有一个主要范围,而别名 IP 最多可以有五个次要范围(可选)。主要和次要 IP 范围必须采用 RFC 1918 地址。

    • 在 VPC 网络中,所有主要和次要 IP 范围必须是唯一的,但它们需要是连续的。例如,子网的主要范围可以是 10.0.0.0/24,而同一网络中另一子网的主要范围可以是 192.168.0.0/16

    • 创建子网后,子网的主要 IP 范围可以扩展,但不可替换或缩小。

    • 只有在没有任何实例使用子网的次要 IP 地址范围时,您才可以移除和替换该范围。

    • 最小主要或次要范围大小是八个 IP 地址。换句话说,您能使用的最长子网掩码是 /29

  • 子网的主要和次要范围不得与以下范围重叠:任何分配范围、同一网络中其他子网的任何主要或次要范围,或者对等互连网络中子网的任何 IP 范围。

  • GCP 会为主要和次要 IP 范围创建相应的子网路由。根据定义,子网路由以及子网 IP 范围必须具有最具体的 IP 范围。

    • 如果您已通过 Cloud VPN专用互连合作伙伴互连将 VPC 网络连接到其他网络,则主要和次要范围不得与本地 IP 范围发生冲突。

    • 在通过 VPC 网络对等互连进行连接的 VPC 网络之间,所有子网的 IP 范围都必须是唯一的。

    • 子网 IP 范围不得与静态路由的目的地发生冲突。

    • 避免将 10.128.0.0/9 块中的 IP 地址用于子网的主要或次要 IP 范围。在自动模式网络中自动创建的子网会使用此块中的 IP 地址。如果您使用 10.128.0.0/9 块中的 IP 地址,则将无法使用 VPC 对等互连或通过 Cloud VPN 隧道将网络连接到自动模式 VPC 网络。

列出子网

您可以看到一个项目存在的所有子网。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
    此页面会显示所有 VPC 网络中的子网。
  2. 点击网络名称,然后点击 VPC 网络详情页面上的子网标签,以便仅查看此网络的子网,而不是所有网络的子网。

gcloud

您可以列出项目中所有网络中的所有子网,也可以仅显示特定网络或区域的子网。以下列表显示了示例命令。

  • 使用以下命令可列出所有区域的所有 VPC 网络中的所有子网:

    gcloud compute networks subnets list
    
  • 使用以下命令可列出特定 VPC 网络中的所有子网,请将 [NETWORK] 替换为相应网络的名称:

    gcloud compute networks subnets list \
       --network=[NETWORK]
    
  • 使用以下命令可列出特定区域中的所有子网,请将 [REGION] 替换为区域名称:

    gcloud compute networks subnets list \
       --region=[REGION]
    

描述子网

您可以按照本部分中的步骤查看现有子网的详细信息,例如子网的主要 IP 范围、任何次要 IP 范围及其区域。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
    项目中的所有网络和子网都以层次视图呈现,其中子网显示为网络中的条目。
  2. 要关注特定网络的子网,请点击网络的名称。在网络的“VPC 网络详情”页面上,点击子网标签页中某一子网的名称以查看其“子网详情”页面。

gcloud

  1. 列出子网可确定项目中现有子网的名称和区域。

  2. 使用以下 gcloud 命令可描述子网,请将 [SUBNET_NAME][REGION] 分别替换为子网的名称和区域。

    gcloud compute networks subnets describe [SUBNET_NAME] \
        --region=[REGION]
    

添加子网

在创建子网时,请根据子网规则设置名称、区域和至少一个主要 IP 地址范围。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
  2. 点击某个 VPC 网络的名称以显示其“VPC 网络详情”页面。
  3. 点击添加子网。在显示的面板中:
    1. 提供名称
    2. 选择区域
    3. 输入 IP 地址范围。这是子网的主要 IP 范围
    4. 要为子网定义次要范围,请点击创建次要 IP 范围
    5. 专用 Google 访问通道:您可以在创建子网时为它启用专用 Google 访问通道,也可以稍后通过修改来启用。
    6. 流日志:您可以在创建子网时为它启用 VPC 流日志,也可以稍后通过修改来启用。
    7. 点击添加

gcloud

使用以下 gcloud 命令可在指定网络中创建新子网。

gcloud compute networks subnets create [SUBNET_NAME] \
    --network=[NETWORK] \
    --range=[PRIMARY_RANGE] \
    --region=[REGION]

将占位符替换为有效值:

  • [SUBNET_NAME] 是新子网的名称。
  • [NETWORK] 是将要包含新子网的 VPC 网络的名称。
  • [PRIMARY_RANGE] 是新子网的主要 IP 范围(采用 CIDR 表示法)。
  • [REGION] 是将在其中创建新子网的 GCP 区域。

您可以使用以下可选标志修改以上命令:

  • --secondary-range=[SECONDARY_RANGE]:将 [SECONDARY_RANGE] 替换为采用 CIDR 表示法的次要范围。您最多可以添加五个次要范围。
  • --enable-flow-logs:在创建时启用子网中的 VPC 流日志
  • --enable-private-ip-google-access:在创建时启用子网中的专用 Google 访问通道

删除子网

使用以下说明可删除手动创建的子网。要删除某一子网,您必须先删除使用该子网的虚拟机、预留的内部 IP 地址以及内部转发规则。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
    项目中的所有网络和子网都以层次视图呈现,其中子网显示为网络中的条目。
  2. 要关注特定网络的子网,请点击网络的名称。在网络的 VPC 网络详情页面上,点击子网标签中某一子网的名称,以查看其子网详情页面。
  3. 点击删除子网
  4. 在显示的消息中,点击删除进行确认。

gcloud

使用以下 gcloud 命令可删除子网:

gcloud compute networks subnets delete [SUBNET_NAME] \
    --region=[REGION]

将占位符替换为有效值:

  • [SUBNET_NAME] 是要删除的子网的名称。
  • [REGION] 是子网所在的区域。

扩展主要 IP 范围

您可以扩展现有子网的主要 IP 范围,方法是修改其子网掩码,然后将前缀长度设置为较小的数字。子网新的建议的主要 IP 范围必须遵循子网规则

在自动模式网络(或者曾是自动模式网络的自定义模式网络)中扩展自动创建的子网的 IP 范围时,您可以使用的最宽泛的前缀(子网掩码)是 /16。比 /16 更宽泛的任何前缀都会与其他自动创建的子网的主要 IP 范围发生冲突。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
    项目中的所有网络和子网都以层次视图呈现,其中子网显示为网络中的条目。
  2. 要关注特定网络的子网,请点击网络的名称。在网络的 VPC 网络详情页面上,点击子网标签中某一子网的名称,以查看其子网详情页面。
  3. 点击修改
  4. IP 地址范围字段中输入一个较宽泛的新 CIDR 块。
  5. 点击保存

gcloud

使用以下 gcloud 命令可扩展子网的主要 IP 范围:

gcloud compute networks subnets expand-ip-range [SUBNET_NAME] \
  --region=[REGION] \
  --prefix-length=[PREFIX_LENGTH]

将占位符替换为有效值:

  • [SUBNET_NAME] 是子网的名称。
  • [REGION] 是子网所在的区域。
  • [PREFIX_LENGTH] 是子网掩码大小(以位为单位)。如果主要 IP 范围是 10.1.2.0/24,则可以输入 20,以将子网掩码减少到 20 位,从而将主要 IP 范围更改为 10.1.2.0/20

修改次要范围

您最多可以向子网添加五个次要 IP 范围;只要没有任何资源在使用次要范围内的 IP 地址,您就可以移除相应次要范围。

gcloud

使用以下 gcloud 命令可向子网添加新的次要 IP 范围:

gcloud compute networks subnets update [SUBNET_NAME] \
  --region=[REGION] \
  --add-secondary-ranges=[SECONDARY_RANGE_NAME]=[SECONDARY_RANGE]

将占位符替换为有效值:

  • [SUBNET_NAME] 是子网的名称。
  • [REGION] 是子网所在的区域。
  • [SECONDARY_RANGE_NAME] 是次要范围的名称。
  • [SECONDARY_RANGE] 是次要 IP 范围(采用 CIDR 表示法)。

使用以下 gcloud 命令可从子网中移除次要 IP 范围:

gcloud compute networks subnets update [SUBNET_NAME] \
  --region=[REGION] \
  --remove-secondary-ranges=[SECONDARY_RANGE_NAME]

将占位符替换为有效值:

  • [SUBNET_NAME] 是子网的名称。
  • [REGION] 是子网所在的区域。
  • [SECONDARY_RANGE_NAME] 是要移除的次要范围的名称。

修改网络

转换为自定义模式

您可以使用此过程将自动模式网络转换为自定义模式网络。如需了解为什么可能需要执行此过程的背景信息,请查看自动模式网络的注意事项

将自动模式网络转换为自定义模式网络可以保留它自动创建的所有子网和您已添加的任何子网。子网名称和 IP 范围不会更改。

将自动模式网络转换为自定义模式后,您必须检查所有隐式引用在网络处于自动模式时自动创建的任何子网的 API 调用和 gcloud 命令。您需要修改 API 调用和命令,以便它们显式引用子网。对于具有子网指定标记 (--subnet) 的 gcloud 命令,则需要使用该标志来引用自定义模式网络中的子网。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
  2. 点击某个 VPC 网络的名称以显示其 VPC 网络详情页面。
  3. 点击修改
  4. 子网创建模式部分,选择自定义
  5. 点击保存

gcloud

使用以下命令可将自动模式网络转换为自定义模式网络,请将 [NETWORK_NAME] 替换为网络的名称。

gcloud compute networks update [NETWORK_NAME] \
    --switch-to-custom-subnet-mode

更改动态路由模式

每个 VPC 网络都有一个关联的动态路由模式,用于控制网络中 Cloud Router 路由器的行为。如需了解每种模式如何影响 Cloud Router 路由器共享路由和应用已知路由的方式,请参阅“VPC 网络概览”页面中的动态路由模式部分。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
  2. 点击某个 VPC 网络的名称以显示其 VPC 网络详情页面。
  3. 点击修改
  4. 在**动态路由模式**部分中,选择全局或者区域
  5. 点击保存

gcloud

使用以下 gcloud 命令可更改 VPC 网络的动态路由模式:

gcloud compute networks update [NETWORK_NAME] \
    --bgp-routing-mode=[DYNAMIC_ROUTING_MODE]

将占位符替换为有效值:

  • [NETWORK_NAME] 是您需要更改其动态路由模式的 VPC 网络的名称。
  • [DYNAMIC_ROUTING_MODE]globalregional,具体取决于网络中所有 Cloud Router 路由器的所需行为。

删除网络

您可以删除未使用的网络。要删除某个网络,您必须先删除其所有子网中的所有资源,以及引用该网络的所有资源。引用网络的资源包括 Cloud VPN 网关、Cloud Router 路由器、防火墙规则和自定义静态路由。

Console

  1. 转到 Google Cloud Platform Console 中的“VPC 网络”页面。
    转到“VPC 网络”页面
  2. 点击某个 VPC 网络的名称以显示其 VPC 网络详情页面。
  3. 点击删除 VPC 网络
  4. 在显示的消息中,点击删除进行确认。

gcloud

使用以下 gcloud 命令可删除网络,请将 [NETWORK_NAME] 替换为要移除的网络的名称。

gcloud compute networks delete [NETWORK_NAME]

监控 VPC 网络

您可以对进出虚拟机的网络流启用日志记录功能。如需了解相关说明,请参阅使用 VPC 流日志

您可以为防火墙规则启用日志记录功能,以便了解哪些规则允许或禁止了哪些流量。如需了解相关说明,请参阅使用防火墙规则日志记录

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页