本页面介绍了如何设置网络环境以使用专用池 VPC 网络。如果您不熟悉专用池,请参阅专用池概览。
了解网络配置选项
专用池托管在 Google 拥有的 Virtual Private Cloud 网络中,该网络称为服务提供方网络。设置专用池时,您可以选择使用服务提供方网络,也可以在服务提供方网络和包含您的资源的 VPC 网络之间设置专用连接。
根据您的组织需求来选择以下某种网络配置方案:
使用服务提供方网络:在以下情况下,请使用此选项:
- 您不希望构建访问您的专用网络内的资源
- 您希望能够配置机器类型和大小
这是创建专用池的默认网络选项,不需要进行任何网络设置。如果您对此选项感兴趣,请继续创建专用池。
在服务提供方网络和 VPC 网络之间建立专用连接:通过专用连接,VPC 网络中的虚拟机实例和专用池可以使用内部 IP 地址进行专有通信。在以下情况下,请使用此选项:
- 您希望构建能够访问您的 VPC 网络中的资源
- 您希望能够配置机器类型和大小
在 VPC 网络与服务提供方网络之间建立专用连接
您必须有一个用于接入服务提供方网络的现有 VPC 网络。
如需使用本指南中的命令行示例,请安装并配置 Google Cloud CLI。
启用 API:
控制台
Enable the Cloud Build and the Service Networking APIs.
gcloud
启用 Cloud Build API 和 Service Networking API:
gcloud services enable cloudbuild.googleapis.com servicenetworking.googleapis.com
-
如需获取设置专用连接所需的权限, 请让管理员授予您 Compute Engine Network Admin (
roles/compute.networkAdmin
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。 在 VPC 网络中,分配一个已命名的内部 IP 范围:
您在此处指定的 IP 范围将受 VPC 网络中定义的防火墙规则的约束。
Cloud Build 会为 Docker 桥接网络预留 IP 范围
192.168.10.0/24
和172.17.0.0/16
。分配 IP 时 范围,建议您选择一个范围 在192.168.10.0/24
和172.17.0.0/16
之外(如果 Cloud Build 构建器可以访问这些资源例如,由于重叠,您将无法通过 Cloud Build
gke-deploy
构建器访问 Google Kubernetes Engine 控制平面地址范围192.168.10.96/28
。控制台
转到 Google Cloud 控制台中的“VPC 网络”页面。
选择将连接到专用池的 VPC 网络的 VPC 网络。
选择专用服务访问通道标签页。
在专用服务访问通道选项卡中,选择分配的 IP 服务范围标签页。
点击分配 IP 范围。
输入分配的范围的名称和描述。
指定分配的 IP 范围:
- 如需指定 IP 地址范围,请选择自定义,然后输入 CIDR 地址块。
- 如需指定前缀长度并让 Google 选择可用地址范围,请选择自动,然后输入前缀长度。前缀
长度不得超过
/24
,例如/22
、/21
等
点击分配以创建分配的范围。
gcloud
如需指定地址范围和前缀长度(子网掩码),请使用
addresses
和prefix-length
标志。前缀长度必须为 /24 或更低,例如 /22、/21 等。例如,要分配 CIDR 地址块192.168.0.0/16
,请指定192.168.0.0
为地址,16
为前缀长度。gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --description=DESCRIPTION \ --network=VPC_NETWORK
若只指定前缀长度(子网掩码),请仅使用
prefix-length
标志。如果您省略地址范围,则 Google Cloud 会自动选择您的 VPC 网络中未使用的地址范围。以下示例选择的是前缀长度为16
位的未使用的 IP 地址范围。gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description=DESCRIPTION \ --network=VPC_NETWORK
将命令中的占位值替换为以下内容:
RESERVED_RANGE_NAME
是已分配范围的名称,例如my-allocated-range
。DESCRIPTION
是对该范围的描述,例如allocated for my-service
。VPC_NETWORK
是您的 VPC 网络的名称,例如my-vpc-network
。
在服务提供方网络与您的 VPC 网络之间创建专用连接:
控制台
前往 Google Cloud 控制台中的“VPC 网络”页面。
选择将连接到专用池的 VPC 网络的 VPC 网络。
选择专用服务访问通道标签页。
在专用服务访问通道标签页中,选择专用服务访问通道 连接到服务标签页中。
点击创建连接以在您的网络与服务提供方网络之间创建专用连接。
对于指定的分配范围,请选择您在上一步中创建的分配范围。
点击连接以创建连接。
gcloud
创建专用连接:
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=ALLOCATED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
将命令中的占位值替换为以下内容:
ALLOCATED_RANGE_NAME
:您在上一步中创建的分配范围的名称。VPC_NETWORK
:您的 VPC 网络的名称。PROJECT_ID
:包含 VPC 网络的项目的 ID。
该命令启动一个可长时间运行的操作,并返回操作名称。
检查操作是否成功,将
OPERATION_NAME
替换为从上一步返回的操作名称。gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
[可选:共享 VPC 场景]。如果您在使用共享 VPC,请在宿主项目中创建分配的 IP 范围和专用连接。这些任务通常必须由宿主项目中的网络管理员执行。使用专用连接设置宿主项目后,服务项目中的虚拟机实例可以使用与服务提供方网络的专用连接。托管 VPC 连接的项目和包含专用池的项目必须属于同一组织。
[可选:使用防火墙规则]。如果您要在 VPC 网络中创建入站防火墙规则,请在入站规则的来源过滤条件中指定您在此处分配的相同 IP 范围。
后续步骤
- 了解如何创建和管理专用池。