本文档介绍了 Batch 的网络概念,包括网络选项、何时配置网络以及网络的运作方式。
网络选项
网络选项用于控制 Batch 与其他来源(例如互联网和其他 Google Cloud 资源和服务)的连接方式。
批处理有以下网络选项:
- 为作业指定网络或使用默认网络。
- 使用其他网络限制:
- 为作业运行时环境(所有虚拟机或特定容器)屏蔽外部连接。
- 使用 VPC Service Controls 保护批处理资源和数据。
如需详细了解如何确定要为批处理作业使用哪些网络选项,请参阅本文档中的何时配置网络。如需详细了解每种选项的网络概念,请参阅本文档中的网络工作原理。
何时配置网络
请查看本部分,确定是在使用批处理时配置网络,还是使用默认网络配置。
在以下情况下,您必须为批处理配置网络:
- 如果您的项目或网络使用 VPC Service Controls 限制了 Batch 的网络访问权限,您必须按照将 VPC Service Controls 与 Batch 搭配使用文档中的说明配置网络。
- 如果
compute.vmExternalIpAccess
组织政策限制条件要求您的项目创建没有外部 IP 地址的虚拟机,或者您的网络使用专用 Google 访问通道,您必须创建用于屏蔽所有虚拟机的外部访问的作业。 如果您无法或不想使用默认网络,则必须为作业指定网络。
如需确定是否可以为作业使用默认网络,请验证以下内容:
- 您的项目存在默认网络。除非启用了
compute.skipDefaultNetworkCreation
组织政策约束条件,否则新的Google Cloud 项目会自动包含默认网络。 - 默认网络支持您拥有的任何特定网络要求。请注意,如果修改项目的默认影音平台,您或其他用户可能会遇到问题。如需详细了解默认网络,请参阅本文档中的默认网络配置。
- 您的项目存在默认网络。除非启用了
即使不是强制性要求,您也可能需要配置网络,以提高 Batch 资源和数据的安全性。例如,如果您想提高使用容器且未阻止所有虚拟机的外部访问权限的作业的安全性,可以选择创建仅阻止一个或多个容器的外部访问权限的作业。使用非默认网络或额外的网络限制可以帮助您实现最小权限原则。如需详细了解可用于为 Batch 配置网络的选项,请参阅本文档中的网络的运作方式。
否则,如果您不需要或不想配置网络,则可以在创建作业时不指定任何网络选项,以使用默认网络配置。
网络的运作方式
以下部分介绍了 Batch 的网络概念:
作业网络
每个作业都运行在 Compute Engine 虚拟机 (VM) 上,这些虚拟机必须属于某个 Google 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 和服务的网域。例如,所有批处理作业都使用批处理和 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 与批处理结合使用。
默认网络配置
创建作业时,如果您未指定任何网络选项,作业的虚拟机将使用虚拟机位置的默认网络和子网。
除非您删除该网络或使用 compute.skipDefaultNetworkCreation
组织政策限制条件将其停用,否则每个项目都有一个名为 default
的默认网络。默认网络是自动模式网络,因此在每个区域中都有一个子网。除了每个网络的隐式防火墙规则之外,default
网络还预先填充了一些防火墙规则,以允许常见用例的访问。如需了解详情,请参阅 VPC 文档中的默认网络中的预填充规则。
如果您对作业没有任何网络要求,也不想配置网络,请考虑使用默认网络配置。如需详细了解何时使用默认网络配置,请参阅本文档中的何时配置网络。