批量网络概览

本文档介绍了 Batch 的网络概念,包括网络选项、何时配置网络以及网络的工作原理。

网络选项

网络选项用于控制 Batch 与其他来源(例如互联网和其他 Google Cloud 资源和服务)的连接方式。

Batch 具有以下网络选项:

  • 为作业指定网络或使用默认网络。
  • 使用额外的网络限制:
    • 禁止作业运行时环境(所有虚拟机或特定容器)的外部连接。
    • 使用 VPC Service Controls 保护批量资源和数据。

如需详细了解如何确定要为批处理使用哪些网络选项,请参阅本文档中的何时配置网络。如需详细了解每个选项的网络概念,请参阅本文档中的网络的工作原理

何时配置网络

请查看本部分,确定在使用 Batch 时是配置网络还是使用默认网络配置。

在以下情况下,您必须为 Batch 配置网络:

  • 如果您的项目或网络使用 VPC Service Controls 限制 Batch 的网络访问权限,您必须按照将 VPC Service Controls 与 Batch 搭配使用文档来配置网络。
  • 如果 compute.vmExternalIpAccess 组织政策限制条件要求您的项目创建没有外部 IP 地址的虚拟机,或者您的网络使用专用 Google 访问通道,则您必须创建禁止所有虚拟机对外部访问的作业
  • 如果您无法或不想使用默认网络,则必须为作业指定网络

    如需确定您能否为作业使用默认网络,请验证以下内容:

    • 项目的默认网络已存在。除非启用了 compute.skipDefaultNetworkCreation 组织政策限制条件,否则新的 Google Cloud 项目会自动包含默认网络。
    • 默认网络支持您的任何特定网络要求。值得注意的是,如果项目的默认网络被修改,您或其他用户可能会遇到问题。如需详细了解默认网络,请参阅本文档中的默认网络配置

即使没有必要,您也需要配置网络,以提高 Batch 资源和数据的安全性。 例如,如果要提高使用容器的作业的安全性,并且不阻止所有虚拟机从外部访问,您可以选择创建仅为一个或多个容器阻止外部访问的作业。使用非默认网络或其他网络限制有助于您实现最小权限原则。如需详细了解可用于为 Batch 配置网络的选项,请参阅本文档中的网络的工作原理

否则,如果您不需要或想要配置网络,则可以创建一个作业,而无需指定任何网络选项以使用默认网络配置

网络的工作原理

以下部分介绍 Batch 的网络概念:

作业网络

每个作业都在 Compute Engine 虚拟机上运行,虚拟机必须是 Google Cloud Virtual Private Cloud (VPC) 网络的一部分以及该网络的子网。

VPC 网络将虚拟机连接到其他来源,例如互联网和其他 Google Cloud 资源和服务。每个网络至少由一个子网(也称为子网)组成,子网是与区域关联的一个或多个 IP 地址范围。每个虚拟机都有一个网络接口,该接口具有从子网分配的内部 IP 地址和可选的外部 IP 地址。您可以配置 VPC 防火墙规则,以允许或拒绝网络中虚拟机的连接。每个网络都有隐式防火墙规则,用于阻止所有传入连接并允许所有传出连接。通常,VPC 网络只能在其项目中使用,但如果您想跨多个项目使用同一网络,则可以使用共享 VPC

总之,每个作业都在虚拟机上运行,每个虚拟机使用 IP 地址建立受网络防火墙规则控制的连接。

如需详细了解网络概念,请参阅 Compute Engine 文档中的虚拟机网络概览和 VPC 文档中的 Virtual Private Cloud (VPC) 概览

其他网络限制

为帮助提高安全性,网络配置可能限制不仅仅是其网络的防火墙规则。例如,您的项目或组织可以使用组织政策限制条件或其他 Google Cloud 服务来限制网络。

以下部分介绍了进一步限制网络的一些常用选项:

禁止作业运行时环境的外部连接

您可以使用最多以下选项之一阻止作业直接进入和退出运行时环境中的外部连接:

  • 禁止作业对所有虚拟机的外部访问。禁止作业虚拟机的外部访问,以创建在没有外部 IP 地址的虚拟机上运行的作业。网络或项目通常必须使用此选项,也可以选择性地使用此选项来提高安全性。

    没有外部 IP 地址的虚拟机只能由同一网络上的其他节点通过其内部 IP 地址访问,因此您需要通过执行以下操作来配置对这些虚拟机的访问权限:

    • 如需在没有外部 IP 地址的虚拟机上运行作业,请使用 Cloud NAT专用 Google 访问通道,以允许作业访问的 API 和服务的网域。例如,所有 Batch 作业都使用 Batch API 和 Compute Engine API,并且通常使用 Cloud Logging API。

    • 如果您或其他用户需要连接到没有外部 IP 地址的虚拟机,请参阅 Compute Engine 文档中的为仅限内部使用的虚拟机选择连接选项

  • 禁止作业对一个或多个容器进行外部访问。 如果作业使用容器,并且尚未阻止其所有虚拟机的外部访问,您可以选择是否要禁止每个容器的外部访问。此为可选选项;当您为作业指定网络时,或者您创建使用默认网络配置的作业时,可以使用该选项来提高安全性。

使用 VPC Service Controls 保护批量资源和数据

除了禁止作业所有虚拟机的外部访问外,您还可以选择使用 VPC Service Controls 来进一步限制网络。

与本文档中所述的其他网络选项(仅限制运行作业的虚拟机或容器的网络)不同,VPC Service Controls 允许您限制对 Google Cloud 服务的资源和数据(例如批量作业和数据)的网络访问权限。

您可以使用 VPC Service Controls 创建边界,保护您指定的 Google Cloud 服务的资源和数据。该服务边界会隔离所选服务和资源,从而阻止与边界外的 Google Cloud 服务的连接以及来自互联网但未明确允许的任何连接。如需了解详情,请参阅 VPC Service Controls 文档和将 VPC Service Controls 与 Batch 搭配使用

默认网络配置

当您创建作业且未指定任何网络选项时,该作业的虚拟机使用默认网络和子网作为其位置的子网。

每个项目都有一个名为 default 的默认网络,除非您将其删除或使用 compute.skipDefaultNetworkCreation 组织政策限制条件将其停用。默认网络是自动模式网络,因此在每个区域中都有一个子网。除了每个网络的隐式防火墙规则之外,default 网络还具有预先填充的防火墙规则,允许访问常见用例。如需了解详情,请参阅 VPC 文档中的默认网络中的预填充规则

如果您对作业没有任何网络要求,并且不想配置网络,请考虑使用默认网络配置。如需详细了解何时使用默认网络配置,请参阅本文档中的何时配置网络

后续步骤