本文档介绍了 Batch 的网络概念,包括网络选项、何时配置网络以及网络的工作原理。
网络选项
网络选项控制 Batch 与其他来源(例如互联网以及其他 Google Cloud 资源和服务)的连接方式。
Batch 具有以下网络选项:
- 为作业指定网络或使用默认网络。
- 使用其他网络限制:
- 阻止作业运行时环境的外部连接(所有虚拟机或特定容器)。
- 使用 VPC Service Controls 保护 Batch 资源和数据。
如需详细了解如何确定要用于 Batch 的网络选项,请参阅本文档中的何时配置网络。 如需详细了解每种选项的网络概念,请参阅本文档中的网络的工作原理。
何时配置网络
请查看本部分,确定在使用 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 文档中的虚拟私有云 (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 保护 Batch 资源和数据
除了阻止作业的所有虚拟机的外部访问之外,您还可以选择使用 VPC Service Controls 进一步限制网络。
本文档介绍的其他网络选项只能限制运行作业的虚拟机或容器的网络选项,但 VPC Service Controls 允许您限制对 Google Cloud 服务的资源和数据(例如批处理作业和数据)的网络访问权限。
您可以使用 VPC Service Controls 创建边界,以保护您指定的 Google Cloud 服务的资源和数据。服务边界会隔离选定的服务和资源,从而阻止与边界外的 Google Cloud 服务的连接,以及任何未明确允许的连接。如需了解详情,请参阅 VPC Service Controls 文档和批量使用 VPC Service Controls。
默认网络配置
如果创建作业且未指定任何网络选项,作业的虚拟机会使用虚拟机位置的默认网络和子网。
每个项目都有一个名为 default
的默认网络,除非您使用 compute.skipDefaultNetworkCreation
组织政策限制条件将其删除或停用该网络。默认网络是自动模式网络,因此它在每个区域都有一个子网。除了每个网络的隐式防火墙规则之外,default
网络还预先填充了防火墙规则,允许常见用例的访问。如需了解详情,请参阅 VPC 文档中的默认网络中预填充的规则。
如果您对某个作业没有任何网络要求,并且不想配置网络,请考虑使用默认网络配置。如需详细了解何时使用默认网络配置,请参阅本文档中的何时配置网络。