在专用网络中使用 Cloud Build

本页面介绍如何配置常用的专用网络设置以与专用池搭配使用。如需简要了解专用池,请参阅专用池概览

定义默认网络设置

当您创建专用池时,默认设置是使用专用池所在的 Virtual Private Cloud 网络。在以下情况下,使用默认 VPC 网络:

如需了解如何连接到默认网络,请参阅创建专用池

定义静态内部 IP 范围

在某些情况下,您可能需要为专用池定义一个已定义的静态 IP 范围,例如,在调用将来自指定 IP 范围的调用列入许可名单时。使用专用池时,在您的 VPC 网络与专用池的 VPC 网络之间设置专用连接时,您可以使用指定的 CIDR 范围创建分配的 IP 地址范围,其中的 IP 范围将用于运行专用池。您还可以在已分配的 IP 地址范围内指定较小的 CIDR 范围,专用池将使用该范围。

在 VPC 网络中运行

如需将 Cloud Build 与防火墙后的专用网络(例如 VPC 网络)中的资源搭配使用,您可以在专用池和您的代管式 VPC 网络之间创建专用连接。这使专用池可以访问您的专用网络中的资源,例如源代码库、工件代码库、数据库、密钥实例和运行时。

在共享 VPC 网络中运行

如果您使用共享 VPC 网络,则必须将创建专用池的项目关联到包含该共享 VPC 网络的宿主项目。如需了解如何关联项目,请参阅预配共享 VPC 网络

连接到另一个对等互连 VPC 网络或共享 VPC 网络中的资源

组织通常采用共享 VPC(宿主项目)来为所有项目集中管理网络和 Identity and Access Management。这允许您将内部 IP 地址用于 Google 管理的服务,例如专用 GKE 集群专用 Cloud SQL。这些 Google 管理的服务也与客户拥有的共享 VPC 网络对等互连。此设置的问题在于,由于缺少传递性对等互连,专用池无法与 Google 管理的服务通信。仅当多个网络通过 VPC 对等互连连接到另一个网络时,传递性对等互连才会成为问题。如果其中一个连接改为使用 VPN(或互连)而不是 VPC 对等互连,则网络可以建立连接。 如需了解此网络设置的说明,请参阅使用 Cloud Build 专用池访问专用 Google Kubernetes Engine 集群

在特定区域中运行

您可以在任一受支持的区域创建专用池。您可以将任何构建容器映像和工件存储在指定区域的 Artifact Registry 代码库Cloud Storage 存储桶中。

部署到专用 GKE 集群

专用 GKE 集群的控制层面可以具有公共端点或专用端点。

如需部署到具有公共端点的专用 GKE 集群,您可以在可访问公共互联网的默认网络中创建专用池,并为您的池定义静态内部 IP 范围,以列入允许列表访问集群。

如需部署到具有专用端点的专用 GKE 集群,您可以按照使用 Cloud Build 专用池访问专用 Google Kubernetes Engine 集群中所述的步骤操作。 或者,在与您的 VPC 建立对等互连后,您可以在集群上运行网络代理,如使用网络代理创建专用 GKE 集群中所述。

与 VPC Service Controls 搭配使用

VPC Service Controls 是 Google Cloud 的一项功能,可让您设置安全的边界以防数据渗漏。如需了解如何将 VPC Service Controls 与专用池结合使用,从而为构建额外增加一层安全保护,请参阅使用 VPC Service Controls

移除专用池中的公共 IP

如需移除专用池的公共 IP,您可以将专用池配置文件中的 egressOption 字段设置为 NO_PUBLIC_EGRESS。但请注意,移除公共 IP 会阻止专用池访问公共互联网中的资源。

限制流向公共互联网的出站流量

您可以通过以下几种方法限制从专用池到公共互联网的出站流量:

强制使用专用池

Cloud Build 提供 constraints/cloudbuild.allowedWorkerPools 组织政策限制条件,可用于强制使组织中的构建不使用默认池,而仅使用专用池。如需了解如何使用此功能,请参阅设置组织政策限制条件

与专用 Cloud DNS 区域结合使用

您可以共享专用 Cloud DNS 区域以用于专用池。如需查看相关说明,请参阅共享专用区域

在 NAT 后面运行

虽然您可以在 VPC 中控制专用池的 IP 范围,但无法控制外部 IP 地址(如果已启用)。如果您需要从预留的 IP 访问资源,请完成使用 Cloud Build 从静态来源 IP 地址访问外部资源中的步骤,创建一个代理虚拟机并通过该虚拟机路由流量。

后续步骤